书生·浦语训练营二期第一次笔记

  1. 书生·浦语大模型全链路开源体系-Bilibili视频
  2. InternLM2技术报告(中文)
  3. InternLM2技术报告(英文)

书生·浦语大模型全链路开源体系视频笔记

Intern2模型体系

在这里插入图片描述

InternLM2开放了多个版本的模型:

  • InternLM2-Base:高质量、强可塑性的基座模型。

  • InternLM2:在Base基础上,在多个能力进行了强化,更优秀的基座模型。(看InternLM技术报告似乎是进行了增强训练Enhancement Training

  • InternLM2-Chat:在Base基础上,再经过SFT和RLHF对齐后的对话模型。面向对话交互进行了优化,具有良好的指令遵循能力。

训练数据集

在这里插入图片描述
采用多种创造性方法,清洗和过滤数据集。

书生浦语全链条开源开放体系

在这里插入图片描述
我们能利用书生·浦语的框架,完整的开发属于自己的大模型应用。相对于第一期,InternLM2增加了Lagent和AgentLego。

开放高质量语料数据

在这里插入图片描述
感谢书生浦语开源的语料数据。

预训练

在这里插入图片描述

微调

在这里插入图片描述
在这里插入图片描述

中立全面性能榜单

在这里插入图片描述

大模型评测全栈工具链

在这里插入图片描述

在这里插入图片描述

加入循环评测策略,先前的评测方案是做多选题,模型可能存在猜测的因素。而循环评测是对选项进行轮换,只有在能够答对所有轮换的选项后才能说明它的回答是正确的。

部署

在这里插入图片描述

报告解读

以下做一些关于在报告中看到的感兴趣内容的记录

1. 介绍

自ChatGPT和GPT-4发布以来,大语言模型(LLMs)在技术领域获得显著关注,引发了对通用人工智能(AGI)的广泛讨论。开源社区正在积极开发能与ChatGPT和GPT-4相媲美的模型,努力缩小与专有LLM之间的差距。本综述重点介绍了InternLM2——一个在各个发展阶段均展现出卓越性能的新型大语言模型。InternLM2的开发体现了在预训练、长上下文处理、监督微调和RLHF等方面的全面优化,为社区研究LLMs提供了宝贵经验和技术指南。

关键进展包括:

  1. 开源模型:公开了1.8B、7B、和20B等不同规模的InternLM2模型,它们在主观和客观评估中均表现出色。
  2. 长上下文处理:通过分组查询注意力(GQA)和位置编码外推,InternLM2能在长达200k上下文的复杂任务中准确识别关键信息。
  3. 数据准备和训练策略:详细说明了预训练、监督微调(SFT)、和基于人类反馈的强化学习(RLHF)阶段的数据准备方法,为训练LLM提供指导。
  4. RLHF训练创新:引入条件在线RLHF(COOL RLHF)技术,通过条件奖励模型和多轮近端策略优化(PPO),提高模型遵循人类指令和价值观的能力。

2. 基础设施

介绍了高效的轻量级预训练框架InternEvo,它是为了在数千个GPU上扩展大模型训练而设计的。InternEvo通过并行技术和优化策略显著提高了训练效率和GPU内存使用效率。这些技术包括数据、张量、序列和管道并行,以及Zero Redundancy Optimizer的集成。InternEvo还利用了FlashAttention技术和混合精度训练,进一步提高了硬件利用率。
关键点归纳如下:

  • 扩展性:InternEvo展示了在多GPU环境下的强大扩展性,即使在GPU数量增加时也能保持高模型计算量利用率(MFU)。
  • 内存和通信优化:通过引入自适应分片技术和优化框架,InternEvo在减少内存占用和通信成本方面取得了显著进展。
  • 通信-计算重叠:通过精心安排的通信过程和计算过程的重叠,InternEvo最大化了训练管道的效率。
    长序列训练支持:InternEvo通过内存管理和并行策略的优化,支持长达100万令牌的序列训练,同时减少了GPU内存碎片问题。
  • 容错性:针对硬件故障和网络问题,InternEvo采取了异步保存机制和系统设计,确保训练的连续性和灵活性。

3. 预训练

介绍了InternLM2的预训练过程,包括数据的选择和处理、预训练设置以及三个预训练阶段的细节。

预训练数据
  • 数据来源包括网页、论文、专利和书籍,通过标准化、分类和存储为JSON Lines格式进行处理。
  • 数据加工面临的挑战包括敏感数据处理、全面知识覆盖、以及效率与质量的平衡。
  • 采用了包括基于规则的过滤、数据去重、安全过滤和质量过滤等多个处理步骤,确保了数据集的丰富性、安全性和高质量。

预训练设置

  • 使用GPT-4的分词方法和cl100K词汇表进行tokenization,优化了中英文文本和编程语言的处理。
  • 超参数设置包括层的数量、维度、头的数量等,以及AdamW优化器的参数和学习率衰减策略。

预训练阶段

  1. 4k 上下文训练:初期主要使用长度不超过4k tokens的数据,占训练步骤的90%。
  2. 长上下文训练:过渡到使用长度不超过32k tokens的数据,训练上下文窗口扩展到32K以适应更长的序列。
  3. 特定能力增强训练:收集特定的数据集以增强逻辑推理、数学问题解决等能力,采用了较小的学习率和批量大小进行训练。

4. 对齐(Alignment)

对齐是指通过监督微调(SFT)和基于人类反馈的强化学习(RLHF)等方法,指导大型语言模型(LLMs)的过程。

关键技术和术语解释:
  • 监督微调(SFT):使用高质量指令数据微调模型,使其能够遵循多种人类指令。
  • 基于人类反馈的强化学习(RLHF):通过人类反馈创建奖励模型,使用近端策略优化(PPO)为LLMs提供学习奖励信号,帮助模型更好地理解和执行任务。
  • 条件在线强化学习(COOL RLHF):引入条件奖励模型来调和不同的人类偏好,如多步推理准确性、有益性、无害性,并通过多轮在线RLHF减少奖励黑客攻击。

微调和对齐的具体实践:

  1. 监督微调(SFT) 阶段包括1000万个指令数据实例,涵盖一般对话、NLP任务等多种主题。
  2. COOL RLHF采用条件奖励机制和多轮在线RLHF策略,解决偏好冲突和奖励滥用问题,提高模型对人类偏好的适应性。
  3. 长文本微调使用长上下文预训练数据维持LLMs的长上下文能力。
  4. 工具增强的LLMs通过修改的ChatML格式引入“环境”角色,实现通用工具的调用,增强模型的代理能力和解决特定问题的能力。

条件奖励模型工作原理

在这里插入图片描述

  • 多偏好整合:在大型语言模型的对齐过程中,不同的任务或情境往往要求模型遵循不同甚至可能相互矛盾的偏好。条件奖励模型通过引入条件系统提示,允许奖励模型根据不同情境动态地分配注意力给各种偏好,有效地在一个奖励模型中处理多种偏好。

  • 条件系统提示:这是条件奖励模型的核心。系统提示不仅作为模型输入的一部分,还是奖励分数对齐特定偏好的关键。通过为不同类型的偏好引入不同的系统提示,奖励模型能够在不牺牲准确性的情况下,无缝地整合来自不同领域的偏好数据。

  • 数据组成:条件奖励模型利用了一个庞大的数据集,包含多个领域如对话、编程、数学等的偏好数据,确保模型的广泛适应性,并增强其在复杂场景下的强化学习能力。

  • 损失函数的创新:为了解决数据集中简单样本和困难样本不平衡的问题,条件奖励模型采用了一个修改版的排名损失函数,加入难度衰减系数,使得困难样本的损失值更大,从而聚焦于提高模型在处理困难样本时的性能。

5. 评测

下游任务评测

评测了InternLM2在下游任务性能。下游任务包括:

  • 综合考试:在多个考试相关数据集上进行测试,InternLM2表现出色,尤其是经过特定能力增强训练后的模型,在参数量相当的模型中通常表现最佳。
  • 语言和知识:在TriviaQA、NaturalQuestions等数据集上,InternLM2展现了强大的语言理解和广泛知识的能力。
  • 推理和数学:InternLM2在推理能力和处理数学问题方面的性能令人瞩目,特别是在WinoGrande、MATH等数据集上的表现。
  • 多编程语言编程:InternLM2在Python编程任务以及多编程语言任务上均表现优异,显示了其强大的代码生成能力。
  • 长文本建模:通过L-Eval和LongBench等数据集的评测,InternLM2证明了其在处理长文本上的优势。
  • 工具使用:使用外部工具和API时,InternLM2能够显著提高解决复杂问题的能力,展现了其作为智能代理的潜力。

对齐评测

评测了InternLM2在多个主观对齐数据集上的性能,结果表明InternLM2与人类偏好高度一致。尤其是在经过人类反馈强化学习(RLHF)后,模型在多个任务上的对齐能力得到显著提升。

数据污染

通过对GSM8K数据集的评测,讨论了数据污染问题及其对模型性能和可靠性的影响。结果表明,某些模型可能经历了数据泄露,表现为对训练集的过拟合和对测试集的过低损失

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值