[阅读笔记20][BTX]Branch-Train-MiX: Mixing Expert LLMs into a Mixture-of-Experts LLM

这篇论文是meta在24年3月发表的,它提出的BTX结构融合了BTM和MoE的优点,既能保证各专家模型训练时的高度并行,又是一个统一的单个模型,可以进一步微调。

这篇论文研究了以高效方法训练LLM使其获得各领域专家的能力,例如写代码、数学推理以及自然知识。现有的融合多个专家模型的方法有Branch-Train-Merge和Mixture-of-Experts,前者BTM各专家模型在不进行任何同步的情况下并行训练,大大提升了训练时的吞吐量,但是缺乏一个统一的模型,导致没法进行后续的SFT和RLHF,这两步是对齐LLM的重要步骤。后者MoE虽然是一个统一的模型,可以进行微调了,但是训练时是各专家模型是完全同步的,并且由于all-to-all通信,随着专家数量增加通信成本也在增加。

这篇论文提出的BTX就是融合了BTM和MoE的优点,弥补了二者的缺点,具体来说,BTX的各个专家模型可以异步的独立训练,大大提高了模型训练时的数据吞吐量,另外BTX是一个统一的模型,所以之后可以对其进行微调。
实现分为三步,首先是Branch,这里取了四个一样的种子模型LLaMA-2 7B,然后其中三个分别在数学数据集、代码数据集、维基百科上预训练,最后剩下的保留LLaMA原始权重。前三个专家模型分别具有数学推理能力、代码能力、世界知识,最后一个专家模型作为通才专家,将通用知识迁移到模型中。第二步是Train,这三个领域专家分别在各自领域数据集(Llemma、CodeLlama、Wikipedia)上预训练,这个过程是并行且互不干扰的。第三步是Mix,也就是将这四个专家模型进行混合,这一步在下一张ppt会详细说明。

具体融合四个专家的过程其实就是把这四个专家的前馈层进行合并,也就是将同层次的四个前馈合并为一个MoE层,下图公式展示了如何合并,整个MoE层输出是各前馈层的加权和。这里使用了Top2路由,对于输入x使用投影矩阵Wl进行投影,然后取值最大的两个专家模型进行混合,混合比例由softmax计算得到。
对于模型的其他部分,例如注意力层、embedding层,BTX混合各专家的方法是直接把对应的模型参数取平均,这个方法比较粗暴,作者给出的解释是这个做法基于一个假设:自注意力层比前馈层更通用化。另外后续微调阶段还会对这些参数进行调整,所以问题不大。

预训练说完了,接下来就是微调了。微调使用的数据仍然来自训练时数据,作者对用于训练四个专家的数据集进行采样得到微调用的数据,采样概率数学是30%,代码是40%,维基百科是10%,LLaMA-2是19%。
下图是训练三个专家模型时使用的三个专业领域数据集及其采样比例。

接下来是结果展示。左图是各模型的训练代价和平均性能对比,x轴是训练所需要的GPU天数,圆圈大小是推理时激活参数数量。右图是不同领域的性能差异,可以看到BTX在各方面都得到了很大的改善,尤其是代码领域,已经接近专用模型CodeLlama了。

这张图反映了每个token来自于哪两个专家,共有四个专家,所以有六种组合,分别用不同的颜色来代表。如果是由领域内专家生成的token,则标上下划线。对于数学、代码、知识问答这三个领域的三个输出,大部分token都是由各自领域专家生成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/637322.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

欧科云链:香港虚拟资产OTC合规在即,技术监管成市场规范关键

4月12日香港OTC发牌制度公众咨询结束后,欧科云链研究院在星岛日报发表专栏文章,分享对香港OTC市场的调研情况,并提出“技术监管是香港OTC及Web3生态走向规范的关键”。欧科云链研究院认为,随着OTC监管及虚拟资产现货ETF等事件向前…

【Yolov系列】Yolov5学习(一)补充1.1:自适应锚框计算

1、Yolov5的网络结构 Yolov5中使用的Coco数据集输入图片的尺寸为640*640,但是训练过程的输入尺寸并不唯一,Yolov5可以采用Mosaic增强技术把4张图片的部分组成了一张尺寸一定的输入图片。如果需要使用预训练权重,最好将输入图片尺寸调整到与作…

【剪映专业版】13快速为视频配好音:清晰、无噪声、对齐

视频课程:B站有知公开课【剪映电脑版教程】 使用场景:视频无声音或者视频有声音但是需要更改声音 时间指示器在哪里,就从哪里开始 红色按钮:开始录音 声音波纹:蓝色最佳,黄色或红色声音太大,…

梯度消失/梯度爆炸

梯度消失/梯度爆炸(Vanishing / Exploding gradients) 梯度消失或梯度爆炸:训练神经网络的时候,导数或坡度有时会变得非常大,或者非常小,甚至于以指数方式变小,这加大了训练的难度。 g ( z ) …

目标检测YOLO数据集的三种格式及转换

目标检测YOLO数据集的三种格式 在目标检测领域,YOLO(You Only Look Once)算法是一个流行的选择。为了训练和测试YOLO模型,需要将数据集格式化为YOLO可以识别的格式。以下是三种常见的YOLO数据集格式及其特点和转换方法。 1. YOL…

node的事件循环

异步同步啥的就不多说了,直接看node中有哪些是异步 其中灰色部分和操作系统有很大的关系,就不多说了,其中定时器属于timers队列,I/O操作属于poll队列,setImmediate属于check队列,其中nextTick和promise不属…

PTA L2-052 吉利矩阵

题目 解析 这题考的是搜索剪枝 可行性剪枝: 即判断当前行(列)是否已经超过L和剩下的格子都填最大值是否小于L,若是则剪枝。 当前行数大于1时,判断上一个填完的行是否等于L,若否,则剪枝。 当前行…

【深度学习实战(12)】训练之模型参数初始化

在深度学习模型的训练中,权重的初始值极为重要。一个好的初始值,会使模型收敛速度提高,使模型准确率更精确。一般情况下,我们不使用全0初始值训练网络。为了利于训练和减少收敛时间,我们需要对模型进行合理的初始化。 …

linux 下的 sqlite数据库

SQLite 认识 SQLite简介 轻量化,易用的嵌入式数据库,用于设备端的数据管理,可以理解成单点的数据库。传统服务器型数据库用于管理多端设备,更加复杂 SQLite是一个无服务器的数据库,是自包含的。这也称为嵌入式数据库&…

在Linux系统中,禁止有线以太网使用NTP服务器进行时间校准的几种方法

目录标题 方法 1:修改NTP配置以禁止所有同步方法 2:通过网络配置禁用NTP同步方法 3:禁用NTP服务 在Linux系统中,如果想要禁止有线以太网使用NTP服务器进行时间校准,可以通过以下几种方法之一来实现: 方法 …

107页 | 企业数字化转型规划设计(免费下载)

【1】关注本公众号,转发当前文章到微信朋友圈 【2】私信发送 【企业数字化转型规划设计】 【3】获取本方案PDF下载链接,直接下载即可。 如需下载本方案PPT原格式,请加入微信扫描以下方案驿站知识星球,获取上万份PPT解决方案&…