书生大模型InternLM2:从2.6T数据到200K上下文的开源模型王者
1. 引言:InternLM2——更强的模型
InternLM2系列的发布,其核心亮点不能z有四点:
- 卓越的开源性能:发布了1.8B, 7B, 20B的全系列模型,在各类客观与主观评测中均表现出色。
- 200K超长上下文窗口:通过创新的预训练和微调策略,实现了在200K“大海捞针”测试中近乎完美的表现。
- 全面的数据准备指导:详细阐述了预训练、SFT、RLHF各阶段的数据处理细节,为社区提供了宝贵的实践经验。
- 创新的RLHF训练技术:提出了COOL RLHF,有效解决了多偏好冲突和奖励滥用(reward hacking)问题。
2. 模型Infrastructure: InternEvo训练框架
强大的模型离不开强大的训练框架。InternLM2的训练依托于团队自研的InternEvo框架,这是一个专为大规模LLM训练设计的、高效且轻量级的解决方案。
- 核心特性:
- 混合并行策略: 深度融合了数据并行、张量并行、序列并行和流水线并行,能够将模型训练扩展至数千块GPU。
- 极致的内存优化: 集成了多种ZeRO(Zero Redundancy Optimizer)策略,显著降低了训练所需的显存。
- 高硬件利用率 (MFU): 通过FlashAttention、混合精度训练(BF16)等技术,实现了极高的模型浮点运算利用率(MFU)。论文中提到,在1024块GPU上训练7B模型时,MFU高达53%,远超DeepSpeed等框架。
- 强大的长序列扩展能力: 能够支持高达256K token的序列长度进行训练,MFU仍能达到近88%。
- 高容错性: 针对GPU数据中心常见的硬件故障问题,设计了高效的故障诊断和自动恢复机制。
InternEvo为InternLM2的成功奠定了坚实的工程基础。
3. Model Structure: LLaMA based
为了保证与现有开源生态的无缝衔接,InternLM2在模型结构上选择遵循LLaMA的设计原则。
- 基础架构: 采用标准的Transformer架构。
- 关键组件:
- 归一化层: 使用RMSNorm替代LayerNorm。
- 激活函数: 使用SwiGLU