零一万物对 Yi-34B 训练过程的说明

事件背景:

零一万物今天正式发文回应 Yi 开源大模型引起的争议:

就零一万物的观察和分析,大模型社区在技术架构方面现在是一个处于接近往通用化逐步收拢的阶段,基本上国际主流大模型都是基于Transformer的架构,做attention,activation,normalization,positional embedding等部分的改动,LLaMA、Chinchilla、Gopher 等模型的架构和 GPT 架构大同小异,全球开源社区基于主流架构的模型变化非常之多,生态呈现欣欣向荣,国内已发布的开源模型也绝大多数采用渐成行业标准的 GPT/LLaMA 的架构。然而,大模型持续发展与寻求突破口的核心点不仅在于架构,而是在于训练得到的参数。

模型训练过程好比做一道菜,架构只是决定了做菜的原材料和大致步骤,这在大多数人的认知中也逐步形成共识。要训练出好的模型,还需要更好的“原材料”(数据)和对每一个步骤细节的把控(训练方法和具体参数)。由于大模型技术发展还在非常初期,从技术观点来说,行业共识是与主流模型保持一致的模型结构,更有利于整体的适配与未来的迭代。

零一万物在训练模型过程中,沿用了GPT/LLaMA的基本架构,由于LLaMA社区的开源贡献,让零一万物可以快速起步。零一万物从零开始训练了 Yi-34B 和 Yi-6B 模型,并根据实际的训练框架重新实现了训练代码,用自建的数据管线构建了高质量配比的训练数据集(从3PB原始数据精选到3T token高质量数据)。除此以外,在 Infra 部分进行算法、硬件、软件联合端到端优化,实现训练效率倍级提升和极强的容错能力等原创性突破。这些科学训模的系统性工作,往往比起基本模型结构能起到巨大的作用跟价值。

零一万物团队在训练前的实验中,尝试了不同的数据配比科学地选取了最优的数据配比方案,投注大部分精力调整训练方法、数据配比、数据工程、细节参数、baby sitting(训练过程监测)技巧等。这一系列超越模型架构之外,研究与工程并进且具有前沿突破性的研发任务,才是真正属于模型训练内核最为关键、能够形成大模型技术护城河 know-how积累。在模型训练同时,零一万物也针对模型结构中的若干关键节点进行了大量的实验和对比验证。举例来说,我们实验了Group Query Attention(GQA)、Multi-Head Attention(MHA)、Vanilla Attention 并选择了GQA,实验了Pre-Norm和Post-Norm在不同网络宽度和深度上的变化,并选择了Pre-Norm,使用了 RoPE ABF作为positional embedding等。也正是在这些实验与探索过程中,为了执行对比实验的需要,模型对部分推理参数进行了重新命名。

在零一万物初次开源过程中,我们发现用和开源社区普遍使用的LLaMA 架构会对开发者更为友好,对于沿用LLaMA部分推理代码经实验更名后的疏忽,原始出发点是为了充分测试模型,并非刻意隐瞒来源。零一万物对此提出说明,并表达诚挚的歉意,我们正在各开源平台重新提交模型及代码并补充LLaMA 协议副本的流程中,承诺尽速完成各开源社区的版本更新。

我们非常感谢社区的反馈,零一万物在开源社区刚刚起步,希望和大家携手共创社区繁荣,在近期发布Chat Model之后,我们将择期发布技术报告,Yi Open-source会尽最大努力虚心学习,持续进步。

开源社区讨论参考: https://huggingface.co/01-ai/Yi-34B/discussions/11#6553145873a5a6f938658491

创新工场CMO在转发上文的朋友圈中表示:“沿用行业演进渐成通用、生态拥抱的基础架构就成了“套模、山寨”?(就像手机app开发者都得益于iOS、Android的共通架构)。零一万物会持续从社区中虚心学习,持续进步。”

原文:https://mp.weixin.qq.com/s/aDclX74mPPtjQvco3GYmZQ