赞
踩
最近正在读 LLM 论文的综述,当前采取的策略是部分内容走读+记录,论文原文见《A Survey of Large Language Models》
前情提要:
《NLP深入学习:《A Survey of Large Language Models》详细学习(一)》
前文介绍了论文的摘要、引言以及总述部分,本文主要讲解 LLMs 相关资源,包含公开模型、API、预训练的数据集以及微调的数据集。
此外,还提到了其他一些参数规模在这一范围内的模型,如 mT5、T0、GPT-NeoX-20B,Flan-T5,UL2,StarCoder 等,它们都在各自领域内展示了强大的文本生成和理解能力。
对于这类类型的模型,只有少数的模型已经被公开发布。例如,OPT,OPT-IML,BLOOM,BLOOMZ, GLM,Galactica。
LLaMA 模型演进图
LLaMA 模型家族是由 Meta AI 于2023年2月发布的大型语言模型系列,迄今为止最流行的开放语言模型。其包括了四个不同规模的版本,参数量分别为7B、13B、30B 和65B。其中,与 GPT-3(175B参数版)相近规模的 LLaMA 模型也表现出了强大的跨语言泛化能力,在多语言任务中表现出色。
OpenAI 为 GPT 系列模型提供了一系列的接口,让用户无需直接运行本地模型副本,就能便捷地利用大规模语言模型进行各种任务处理。
此外,还有与 Codex 项目相关的API,例如 code-cushman-001,这是一个基于Codex(12B)模型且具有多语言能力的强大版本,以及 code-davinci-002 基础模型及其三个增强版本:text-davinci-002、text-davinci-003 和 gpt-3.5-turbo,它们作为更强大且更新迭代的选项,提供了更高性能和更广泛的应用范围。
目前,ChatGPT 可以使用 GPT-3.5 或 GPT-4 模型为其提供支持。用户可以根据具体应用需求选择适合的模型接口,并在项目官方网站上获取详细使用指南和资源。
文章列举了以下预训练大型语言模型(LLMs)时常用的语料库:
Books Corpus:包括 BookCorpus 和 GPT-3 使用的 Books1、Books2,其中 BookCorpus 由过万本涵盖各种主题和体裁的电子书组成。
CommonCrawl: 一个大规模开放源码网页抓取数据库,包含了互联网上公开可访问的网页数据,被广泛用于训练诸如 GPT 系列等预训练模型。
Reddit Links:如 WebText(通过 Reddit 高投票帖子收集的高质量链接),以及 Pushshift.io,它们提供了大量基于社交平台对话和讨论的数据资源。
Wikipedia:维基百科作为开放获取的知识库,其英文版以及其他多语言版本在很多预训练模型中起到了关键作用。
代码相关数据:例如 GitHub上 的开源代码片段和 StackOverflow 等编程问答网站上的数据,这些都被用于训练具有编码能力的 LLMs。
其他混合型语料库:如 The Pile 和 ROOTS 等,包含来自书籍、网页、新闻报道、社交媒体等多种来源的大规模文本集合,以增强模型处理多样性和复杂性任务的能力。
在预训练之后,需要进一步进行微调以增强模型容量,这通常涉及两个主要步骤,即指令调优(监督微调)和对齐调优。
NLP 任务数据集。这类数据集的格式化是基于收集到的 NLP 任务数据集(如文本分类和摘要),并带有相应的自然语言任务描述。
Daily Chat Datasets(日常对话数据集)是用于训练和微调大型语言模型,使其在真实世界对话场景中表现更自然、流畅和人性化的数据资源。文章中提到的几个关键日常对话数据集包括:
Synthetic Datasets(合成数据集)作为一种重要的资源被广泛采用。合成数据集通常通过特定的生成策略和算法创建,而非直接从真实世界中收集。文章中提及了几个相关的合成数据集技术:
对齐数据集(Alignment Datasets)用于训练和微调模型,确保其输出内容符合人类价值观和社会规范,以及特定任务或应用的需求。以下是一些文中提到的用于对齐的代表性数据集:
HH-RLHF (Helpful and Harmless Reinforcement Learning from Human Feedback):该数据集包含大约169,000个实例,由人工标注者与聊天机器人进行的对话组成。每个实例代表了用户请求和模型生成的两个回复,其中一个人类标注者选择了更具帮助性或无害性的回答作为正向反馈,用于指导模型学习如何生成更加有益且安全的内容。
SHP (Social Human Preferences):这个数据集涵盖了385,000个来自Reddit平台的帖子及其对应的评论对,通过统计用户对不同评论的偏好程度来定义并量化“有帮助”的响应标准。通过使用这样的数据集,模型可以学习到如何生成既符合社会预期又具有高价值的信息。
PKU-SafeRLHF:这是一个专门针对安全性设计的数据集,包括了大量经过标记的安全性标签的回答示例,模型通过学习这些数据,学会避免生成可能有害或不恰当的内容,并能够在满足用户需求的同时表现出更安全的行为。
Stack Exchange Preferences:该数据集包含了约1000万条从Stack Overflow等技术问答社区收集的问题和答案。每个实例包含问题、多个候选答案以及根据社区投票得出的得分,用以训练模型理解和遵循在线社区中的高质量信息提供标准。
Sandbox Alignment Data 该数据集来源于虚拟交互环境 SAND BOX 中模拟的社会互动,其中包含了由其他模型或真实用户给出的反馈信息。该数据集包含169K个实例,模型之间通过对话或其他形式的交流来模拟社会行为和响应,并根据这些模拟交互生成评估数据。
在大型语言模型(LLMs)研究和开发领域,以下库资源起到了关键作用:
Transformers:由 Hugging Face 团队创建的开源 Python库,提供了广泛支持 Transformer 架构模型训练、微调以及应用的一站式解决方案。它包含了 BERT、GPT 系列等预训练模型,并允许用户便捷地使用这些模型进行自然语言处理任务。
DeepSpeed:微软研发的深度学习优化库,专为大规模模型如 MT-NLG 和 BLOOM 提供高效训练的支持。通过引入内存优化技术 ZeRO、梯度检查点存储、管道并行等方法显著提升了 LLMs 的训练速度与效率。
Megatron-LM:NVIDIA 打造的大规模语言模型专用深度学习库,专注于解决大规模模型训练中的分布式计算问题,提供丰富的优化技术,如数据并行、模型并行、混合精度训练及 FlashAttention 机制,以提升训练性能。
JAX:Google 开发的高性能机器学习库,利用硬件加速(如 GPU或 TPU)实现数组运算,同时支持自动微分和即时编译(JIT),使得LLMs 的开发与研究更为灵活且高效。
Colossal-AI:由 HPC-AI Tech 推出的深度学习框架,特别针对大型 AI 模型的并行训练进行了优化设计,基于 PyTorch 构建,并整合了 PatrickStar 提出的异构内存管理策略,还支持了类似 ChatGPT 的对话模型 ColossalChat。
BMTrain:OpenBMB 提供的轻量级、高可用性库,专用于高效训练参数规模巨大的模型,在分布式环境下强调代码简洁性和低资源消耗,已将 Flan-T5 和 GLM 等知名 LLMs 集成至其 ModelCenter 中。
FastMoE:一个专门针对混合专家(MoE)模型设计的训练系统,基于 PyTorch 构建,注重效率和易用性,简化了 Transformer 模型向 MoE模型转换的过程,并在训练时实现了数据并行和模型并行。
vLLM:一款针对 LLMs 推理和服务优化的快速、内存高效的库,采用了 PagedAttention 等技术提高服务吞吐量,支持多种解码算法、张量并行以及流式输出,便于与其他系统的集成,并兼容 HuggingFace 模型和 OpenAI API 服务器。
DeepSpeed-MII:微软 DeepSpeed 库的一个子项目,致力于提高LLMs 推理阶段的效率、降低延迟成本,并关注性价比,通过缓存优化、连续批次处理、动态 SplitFuse 技术以及高性能 CUDA 内核实现对 LLMs 如 LLaMA、Mistral 等模型的高效推理。
DeepSpeed-Chat:专为 RLHF(强化学习从人类反馈)训练聊天型 LLMs 而设计的快速、经济且易于使用的系统框架。该框架简化了像 InstructGPT 这样的模型训练流程,并整合了 Deepspeed 引擎以实现在对话模式下的无缝切换和各种优化功能。
《A Survey of Large Language Models》
《NLP深入学习:《A Survey of Large Language Models》详细学习(一)》
后续内容也在持续更新中…
欢迎关注本人,我是喜欢搞事的程序猿; 一起进步,一起学习;
也欢迎关注我的wx公众号:一个比特定乾坤
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。