书生·浦语大模型全链路开源体系
上海人工智能实验室与商汤科技联合香港中文大学、复旦大学发布新一代大语言模型书生·浦语2.0(InternLM2)。这个大模型包含70亿和200亿两种参数规格,以及基座、对话等版本,向全社会开源并提供免费商用授权。
书生·浦语2.0(英文名:InternLM2)核心理念:回归语言建模的本质,致力于通过提高语料质量及信息密度,实现模型基座语言建模能力获得质的提升,进而在数理、代码、对话、创作等各方面都取得长足进步,综合性能达到同量级开源模型的领先水平。InternLM2是在2.6万亿token的高质量语料上训练得到的。沿袭第一代书生·浦语(InternLM)的设定,InternLM2包含7B及20B两种参数规格及基座、对话等版本,满足不同复杂应用场景需求。秉持“以高质量开源赋能创新”理念,上海AI实验室继续提供InternLM2免费商用授权。
各个平台的开源地址
GitHub:github.com/InternLM/InternLM
HuggingFace:huggingface.co/internlm
ModelScope:modelscope.cn/organization/Shanghai_AI_Laboratory
OpenXLab:openxlab.org.cn/models/InternLM
2023年6月7日正式上线千亿大模型InternLM,2024年1月17日InternLM2开源
模型的的关键还是高质量的语言文本,包括评估、高质量语料富集以及相关的语料的补齐
在同量级的开源模型处于领先地位
可以进行复杂工具的调用
配合代码解释器后,数学、代码、推理等能力大幅提升
模型到应用的典型流程
针对这个流程,书生浦语开发了全流程,可以便捷调用
开源的多维的语料数据库 ,可以自由寻找需要的数据集
OpenDataLab 引领AI大模型时代的开放数据平台https://opendatalab.org.cn/
可以使用微调方式,减小算力开销,比如模仿Lora的方法进行微调,可以较高性价比的提高模型的力
包括增量续训和有监督微调,同时发布微调框架XTuner,可以适配多种微调算法和开源生态,覆盖多场景。
LMDeploy是一个全面的开源平台,是一个高效部署、优化和管理机器学习模型及其在GPU加速系统上的推理工作流程。它的目标是为开发者提供一个全链条、开放且高性能的解决方案。
InternLM2技术报告
摘要
这篇技术报告主要在介绍预训练和优化技术,其中数据准备包括文本、代码和长上下文本数据,训练微调技术主要为监督微调(SFT)和在线强化学习(COOL RLHF)策略。
介绍
大语言模型开发阶段:
- 预训练
- 监督微调(SFT)
- 人类反馈的强化学习
预训练中,数据的质量是最关键的因素,数据处理发挥重要作用。本文详细介绍了包括为预训练准备文本、代码和长文本数据。
在处理延长LLM的上下文长度中,采用分组查询注意力(GQA)来在推断长序列时减少内存占用。预训练阶段,先使用4k训练,再过渡到高质量的32k文本处理。
监督微调(SFT)和基于人类反馈的强化学习(RLHF)部分,构建了相应的32k文本,确保高效遵循人类指令。还引入了COOLRLHF),条件奖励模型来协调多样但可能冲突的偏好,并通过多轮Proximal Policy Optimization(PPO)来缓解每个阶段出现的奖励作弊问题。
模型贡献关键亮点:
- 不同规模的模型(包括18亿、70亿和200亿参数)
- 200k上下文窗口
- 数据训练指南
- RLHF技术
基础设施
训练框架InternEvo,针对预训练、SFT和RLHF。
InternLM2模型架构基于LLaMA,LLaMA在Transformer架构基础上进行了改进,将LayerNorm替换为RMSNorm,并采用作为激活函数。同时模型在Wk、Wq和Wv矩阵合并并且重新配置了矩阵布局,增加速度和灵活性。为了处理长文本,使用了分组查询注意力(GQA)。
预训练
文本数据可以根据来源分为网页、论文、专利和书籍,通过转为特定格式,以JSON格式储存,转为预训练数据集。接下来处理步骤包括:基于规则的过滤、数据去重、安全过滤和质量过滤。
预训练数据
1.文本数据数据处理流程
格式化数据(JSON)清洗数据
去重数据(MinHash)
安全数据(过滤器)
高质量预训练数据
2.代码数据
格式清理(markdown)代码去重
质量筛选(评分器模型)
依赖排序
3.长文本数据
数据过滤管道,长度过滤、统计过滤和语言模型困惑度过滤。
预训练设置
1.分词
GPT4分词方法,参考cl100k词汇表
2.预训练超参数
AdamW优化器和余弦退火学习率衰减策略
预训练阶段
用于预训练1.8B、7B和20B模型的总tokens量范围从2.0万亿到2.6万亿。
1. 4k文本训练
2.长文本训练
模型从4k过渡到32k训练
3.特定能力的增强训练
从来自Hugging Face数据集平台(https://huggingface.co/datasets)的高质量检索数据和各种开源数据中,筛选出来一个丰富的训练集,共24Btoken。使用小批次和较小的学习率进行学习。
最后,模型在编码、推理、问答和考试等任务上表现出显著性能提升。
模型微调
监督微调(SFT)和基于人类反馈的强化学习(RLHF)两个阶段
监督微调(SFT)
数据样本转换为 ChatML 格式(Cha)进行学习
基于人类反馈的强化学习(RLHF)
条件在线RLHF(COOL RLHF) COOL RLHF首先引入条件奖励机制来调和多样化的偏好,使奖励模型可以根据特定条件动态地将注意力分配给不同的偏好,从而最优地整合多个偏好。此外,COOL RLHF采用多轮在线RLHF策略,使语言模型能够快速适应新的人类反馈,减少奖励作弊的发生。
条件奖励模型
条件奖励模型能够无缝融合不同领域(如对话、文章写作、诗歌、摘要、编程、数学和格式化输出)的数据,可以适应不同场景的不同场景的多样化偏好。
Online RLHF
两条路径:快速路径和慢速路径。
快速路径在于快速识别并修复奖励模型中的"奖励滥用"(reward hacking)行为,慢速路径目标是长期持续优化奖励模型,特别是提高高奖励区域的可靠性和鲁棒性。最后可以动态调整和优化奖励模型,从而增强使用人类反馈训练的语言模型的整体性能和可靠性。
PPO Training
过程中使用了4个模型:行为模型(Actor)、价值模型(Critic)、参考模型(Reference)和奖励模型(Reward)。在训练过程中,后两个模型被冻结,只训练前两个模型。
总结
本报告阐述了InternLM2的训练过程,包括训练框架、预训练文本数据、预训练代码数据、预训练长文本数据和对齐数据。在创新技术上,针对强化学习后训练(RLHF)过程中遇到的偏好冲突,提出了条件在线RLHF方法,以协调不同的偏好。
附录
一些有意思的提示词prompt示例