AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


李开复零一万物Yi大模型技术报告要点精读
发布日期:2024-04-14 14:13:01 浏览次数: 2488


2024-03-06: Yi-9B开源,并且已经向公众开放。

Yi-9B在一系列类似规模的开源模型中(包括Mistral-7B、SOLAR-10.7B、Gemma-7B、DeepSeek-Coder-7B-Base-v1.5等)几乎是最好的,特别是在代码、数学、常识推理和阅读理解方面表现突出。

? 2024-03-07: Yi大模型技术报告发布“Yi: Open Foundation Models by 01.AI

一、模型预训练

1.1 数据处理

Yi模型系列在预训练阶段使用的数据清洗和处理流程:

Yi预训练数据清洗pipeline

  1. 数据混合:Yi模型使用了来自Common Crawl的网络文档,以及经过精心设计的级联数据处理管道,以确保数据的高质量和多样性。数据集包含了3.1万亿高质量的英文和中文令牌,来源于多种不同的数据源。

  2. 启发式规则过滤器:这部分过滤器旨在移除质量较低的文本。过滤标准包括URL、域名、单词黑名单、乱码文本过滤器;文档长度、特殊符号比例、短小、连续或不完整行的比例;重复单词、n-gram或段落。过滤阈值基于对大型文档样本的统计分析。

  3. 学习型过滤器:为了处理超出标准启发式规则能力的微妙情况,集成了一系列学习型评分器,包括困惑度评分器、质量评分器、安全评分器和文档一致性评分器。这些评分器用于识别和过滤质量低下的网页内容,特别是中文内容,因为它们在Common Crawl中存在较高的不适当内容比例。

  4. 基于聚类的过滤器:通过无监督的语义聚类对网页文档进行分组,以便有效地识别和分析具有相似语义特征的文档。聚类后的数据随后被标注质量标签,为优化Yi的数据混合策略提供重要参考。

  5. 去重:在过滤后,实施了一个全面的去重流程,包括文档级别的MinHash去重和子文档级别的精确匹配去重。此外,还使用主题模型对网页文档进行分类,并在最终的预训练数据集中对不太有帮助的内容(主要是广告)进行下采样,以确保信息密度。

Yi预训练数据分布

1.2 Tokenization

Yi模型使用SentencePiece框架中的字节对编码(BPE)进行令牌化。词汇大小设置为64,000,以平衡计算效率和词汇理解。数字被分割成单个数字以便于更好地理解数值数据,罕见字符则回落到Unicode字节编码以确保容错性。

1.3 模型架构

Yi模型使用了基于LLaMA实现的经典解码器仅Transformer架构的修改版本,包括注意力机制、激活函数、位置嵌入和长上下文支持等:

  1. 注意力机制:Yi模型在6B和34B版本中都采用了Grouped-Query Attention (GQA)。GQA通过将查询头分成多个组,并在每个组内共享单个键和值头,从而减少了训练和推理成本。这种设计没有观察到性能下降。

  2. 激活函数:Yi模型使用SwiGLU作为后注意力层的激活函数,将激活大小从4h减少到8/3h(h代表隐藏大小),以与正常的后注意力层保持一致。这种调整也补偿了由于GQA导致的参数减少,使得整体参数数量与现有的7B和34B模型相当。

  3. 位置嵌入和长上下文:Yi模型使用Rotary Position Embedding (RoPE),并调整了基础频率(RoPE ABF),以支持长达200K的上下文窗口。为了适应更长的上下文,模型在预训练数据混合中继续预训练,使用稍微上采样的长序列,主要来自书籍。观察到,只需1-2B令牌就足以让模型在4K-200K长度上收敛到低损失,并且轻量级的微调可以进一步诱导近乎完美的长上下文检索性能。



二、模型微调

Yi模型系列在微调阶段的方法和策略:

  1. 数据预处理:微调数据集由少于10K的多轮指令-响应对话对组成,每个实例都经过多次迭代和用户反馈的精心构建和优化。这种方法与现有的数据密集型方法(如FLAN和UltraChat)不同,后者可能由于规模过大而无法仔细检查每个数据点。

  2. 数据质量:微调过程中强调数据质量优于数量。通过手动注释和用户反馈来优化数据集,以确保每个数据点都经过仔细检查和优化。

  3. 多样性和混合:为了确保模型能够覆盖不同的能力领域,数据集包含了广泛的开源提示,涵盖了问答、创意写作、对话、推理、数学、编码、安全性、双语能力等多个领域。

  4. 指令标记系统:受到InsTag的启发,开发了一个指令标记系统,通过设计一个以多样性为重点的采样算法,仔细平衡了不同标签下的指令分布,以实现跨任务的鲁棒性。

  5. 数据比例优化:为了平衡不同能力方向的数据比例,使用了近似网格搜索来确定数据混合比例,这个过程受到Dong等人的启发,涉及对每种能力的{1, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64}比例进行实验。

  6. ChatML格式:为了影响模型的最终性能,实施了ChatML风格的数据格式,这种结构化方法使模型能够区分不同类型的信息,如系统配置、用户输入和助手响应。

  7. 训练方法:微调使用下一个词预测损失,并且只在响应上计算损失,而不是在系统和用户指令上。训练使用了AdamW优化器,设置了特定的学习率、权重衰减和梯度裁剪阈值。训练步骤设置为300,使用了NEFTune进行噪声调整。


三、基础框架

支持Yi模型系列全栈开发(从预训练到微调再到服务)的基础框架:

  1. 计算资源管理:为了高效地调度大规模语言模型开发,尤其是可能需要在数千个GPU上运行数月的预训练任务,构建了一个高效的多云任务调度算法来管理不同优先级的预训练、SFT(Supervised Fine-Tuning)和RLHF(Reinforcement Learning from Human Feedback)任务。此外,还开发了一个高性能的内部训练框架,允许根据GPU可用性自动弹性扩展预训练作业到不同的节点大小。

  2. 性能和成本效率:为了解决大规模模型训练中内存和通信限制的两大技术挑战,采用了ZeRO-1技术来通过跨数据并行进程分割优化器状态来减少内存消耗。同时,结合了张量并行和管道并行技术,以及内核融合技术(如Flash Attention)来减少冗余的全局内存访问和消耗。此外,还实现了拓扑感知资源分配策略,以最小化不同交换机层之间的通信。

  3. 微调框架:与预训练不同,微调大型语言模型可能需要多个模型的协调,如DPO和PPO。为了支持这种训练作业,构建了一个多模型调度框架,可以在单个作业中支持不同LLMs的多种后端。

  4. 快速高效的推理:为了提高解码速度和内存使用效率,主要使用了量化、动态批处理和Paged Attention技术。通过4位模型量化和8位KV缓存量化,实现了显著的GPU内存节省,同时几乎不影响性能(例如,在MMLU/CMMLU基准测试中,准确率下降不到1%)。动态批处理用于最小化响应时间和提高批处理效率。Paged Attention用于提高内存利用率和改善解码。

  5. 长上下文窗口支持:实现了和改进了计算-通信重叠、序列并行性和通信压缩技术,以支持长达200K的上下文长度的持续预训练和微调。扩展上下文长度到200K的方法完全基于工程实现,即不修改模型架构(如稀疏、局部或滑动窗口注意力),模型仍然使用全注意力,即使输入长度为200K。


四、Yi能力扩展

讨论了如何通过后续训练方法扩展Yi基础模型的能力,包括处理长上下文、赋予视觉理解能力,以及通过深度上扩展来增强模型。

4.1 长上下文建模

为了实现对200K长上下文的支持,采用了轻量级的持续预训练和微调阶段。基本假设是,基础模型已经具备在200K输入上下文中利用信息的潜力,持续预训练阶段“解锁”了这种能力,这在针堆测试中得到了体现。然后,微调阶段进一步适应人类指令和偏好,以改善响应风格。

4.2 视觉-语言模型

在多模态研究领域,将图像理解能力整合到大型语言模型中变得越来越可行。基于Yi-6B-Chat和Yi-34B-Chat语言模型的Yi视觉-语言(Yi-VL)模型。Yi-VL模型的架构包括视觉Transformer(ViT)、投影模块和大型语言模型。这些模型经过三阶段训练,以提高模型在双语多模态理解和生成方面的性能。

4.3 深度上扩展

随着计算预算、模型大小和数据大小的增加,模型性能可以预测性地提高。提出了一种新方法:

  1. 深度扩展的重要性:研究表明,随着模型规模的增加,性能会有所提升。提出了一种新方法,通过阶段性训练过程动态调整数据和模型大小之间的资源分配,以优化模型性能。

  2. 复制层的方法:为了将Yi-6B模型(32层)扩展到Yi-9B模型(48层),采用了复制原始模型中间层的方法。这种策略允许模型在不进行额外预训练的情况下,通过复制现有的层来增加深度。

  3. 层间相似性评估:在选择复制哪些层时,通过评估每层输入和输出之间的余弦相似性分数来决定。这种方法允许有针对性地扩展模型,而不会显著影响性能。

  4. 持续训练:为了优化训练过程,保持恒定的学习率,并在模型损失停滞时逐步增加批量大小。这种策略有助于在大规模训练中导航挑战。


通过深度扩展,Yi-9B模型在多个基准测试中表现出色,特别是在代码、数学、常识推理和阅读理解等领域。这证明了通过优化数据特性和模型大小之间的相互作用来增强模型性能的有效性。

Yi: Open Foundation Models by 01.AIhttps://arxiv.org/pdf/2403.04652.pdfhttps://huggingface.co/01-ai


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询