波士顿大学「鸭嘴兽     DATE: 2023-09-26 10:41:38


新智元报道

编辑 :Lumina 润

【新智元导读】鸭嘴兽 70B登上Hugging Face上的开源大模型榜一,变强的学鸭原因是采用优化过的数据集训练以及更高效的PEFT和独特的LoRA微调  。

Hugging Face上的嘴兽开源大模型排名榜又更新了 ,这次荣登榜一的波士是  :鸭嘴兽(Platypus 2-70B) !


和现在抱脸开源榜单上大部分的模型一样 ,鸭嘴兽是嘴兽来自波士顿大学的研究人员基于Llama2微调而来 。

同时 ,波士鸭嘴兽的学鸭进步就像之前所有的开源大模型那样  :在提升性能的同时 ,使用更少的嘴兽计算资源和数据。

一个13B的波士鸭嘴兽模型可以在单个A100 GPU使用25k个问题在5小时内完成训练 。


论文地址:https://arxiv.org/pdf/2308.07317.pdf

根据研究人员的论文描述,鸭嘴兽70B变强的嘴兽原因主要是两点:

1. 编辑数据集 :删除相似和重复的问题

2. 使用LoRA和PEFT对模型进行了优化,重点关注非注意力模块

而在检查测试数据泄漏和训练数据污染方面 ,波士鸭嘴兽也做出了自己的学鸭贡献 ,这为未来的嘴兽研究提供了有价值的参考 。

多快好省的鸭嘴兽

鸭嘴兽主要是通过在一个小而强大的数据集Open-Platypus上使用参数高效调整(PEFT)和LoRA中对非注意力部分的微调来改进模型的性能 。

与一般专注于专业领域的模型在微调是耗时又昂贵不同 ,鸭嘴兽既做到了在总体上的模型性能提升 ,同时在特定领域的表现也很优秀。

在研究中发现  ,领域特定的数据集可以提高在所选任务类别上的性能 。当与模型合并结合使用时,能够显著减少训练时间。

开源数据集

研究团队通过Hugging Face向公众开放了鸭嘴兽的数据集Open-Platypus:


Open-Platypus由11个开源数据集组成 ,主要由人为设计的问题组成 ,只有大约10%的问题由LLM生成 ,能够以最小的微调时间和成本实现强大的性能 。侧重于提高LLM的STEM和逻辑能力。

同时 ,研究团队也对这些数据集进行了优化 ,这有助于缩小数据集并最大限度地减少数据冗余 。

具体操作包括 :

通过相似性排除的方法来最小化记忆 ,删除了所有逐字逐句的重复指令,然后删除了与训练集中其他指令的SentenceTransformers 嵌入具有80%余弦相似度的指令。

并且默认保留具有更详细答案的问题与答案对。因为较长的答案很可能对应更详细的解释和/或逐步解决方案。

解决数据污染

研究团队深入探索了开放式LLM训练集中的污染问题 ,并介绍了对鸭嘴兽数据进行过滤过程。

研究团队数据过滤的方法 ,其核心是确保基准测试题不会无意中泄漏到训练集中  ,这是为了防止测试数据的记忆对基准结果造成歪曲。

考虑到这一点,在确定是否应将问题标记为重复问题并从训练集中删除时,应留有余地。

在确定可疑问题时允许一定的灵活性 ,因为查询有多种措辞方式,同时 ,通用领域知识可能会阻止问题被视作重复 。

为此  ,研究团队开发了以下启发式方法 ,用于指导人工筛选来自 Open-Platypus 的、与任何基准问题相似度大于 80% 的问题。

研究团队将潜在问题分为三类:重复、灰色区域和相似但不同。但为了谨慎起见 ,研究团队会将它们全部从训练集中删除。

1. 重复 :

这些问题几乎是测试集问题的完全复制品,可能只有一个微小的词语变化或轻微的重新排列 。

这是我们将之定义为“真正”的污染类别,如上表中泄漏问题的数量所示  。这种情况的具体示例如下 :


2. 灰色区域

这组问题被称为灰色区域 ,包括并非完全重复的问题 ,属于常识范畴 。

虽然我们将这些问题的最终评判权留给了开源社区,但我们认为这些问题往往需要专家知识 。

值得注意的是,这类问题包括指令完全相同但答案却同义的问题:


3. 相似但不同  :

最后一类问题包括尽管具有较高的余弦相似性分数,但答案却截然不同的问题 。

这通常可以归因于问题结构的细微变化,从而产生完全不同的答案 。

下图中的第一个问题就是一个很好的例子 ,其中对旋转轴和象限定义的修改极大地改变了最终答案 。


微调与合并模型

在完善数据集并对污染进行三重检查后,研究团队对模型进行了微调与合并 。

方法主要是低秩逼近(LoRA)训练和参数高效微调(PEFT)库 。

与完全微调不同 ,LoRA 保留了预先训练的模型权重 ,并在转换层中整合了秩分解矩阵。

这可以减少可训练参数 ,并节省训练的时间和成本。

例如,鸭嘴兽的13B模型使用1个A100 80GB进行了5个小时的微调 ,70B模型使用4个A100 80GB进行了22个小时的微调。

而作为比较基准 ,斯坦福大学对Alpaca-7B 的全面微调是在8 个 A100 80GB 上进行的 ,并花费了3个小时 。

研究团队对模型的微调最初主要针对的是注意力模块 ,如 v_proj、q_proj 、k_proj 和 o_proj 。

后来,研究人员转向了对gate_proj 、down_proj 和 up_proj 模块的微调,与注意力模块相比  ,除了可训练参数小于总参数的 0.1% 时,微调这些模块模型的性能表现更好。

为了保持一致性 ,研究团队对13B和70B模型统一采用了这一方法,可训练参数分别为0.27%和0.2%  。

唯一的差异在于这些模型的初始学习率 。

研究团队的模型合并策略则旨在评估与Instruct和Beluga等广泛模型或Camel 等专业模型合并的协同效应 。

研究团队发现,合并模型能够有效拓宽模型的知识基础,但选择何种模型进行合并,是广泛合并还是集中合并 ,在决定性能结果方面起着关键作用 。

同时 ,模型合并的效果因测试的具体领域而异 。

所有领域的性能提升和下降并不一致,意味着在最终确定合并之前进行特定领域评估的必要性。

鸭嘴兽排名第一

截止到今天的Hugging Face开源LLM排行榜数据 ,Platypus2-70B依旧稳坐第一 ,而它的变体也在众多LLM中排名前列 。


而在13B的尺寸上  ,鸭嘴兽的表现也同样亮眼,以平均分63.96脱颖而出 ,成为13B模型的领跑者 。


Hugging Face的Open LLM排行榜

Huggingface的Open LLM排行榜目前是开源社区使用最多,同时也是参与模型最多的排行榜。

Open LLM排行榜使用Eleuther AI语言模型评估框架 ,这是一个在大量不同评估任务上测试生成式语言模型的统一框架 ,会在 4 个关键基准上对模型进行评估 。

1. AI2 :针对科学问题的推理测试,共有25次测试 。

2. HellaSwag :常识推理测试 ,但对大语言模型来说具有相当的挑战性 ,总共进行10次测试。

3. MMLU:用于测量文本模型的多任务准确性。该测试涵盖 57 项任务 ,包括初等数学 、美国历史、计算机科学 、法律等,总共测试10次。

4. TruthfulQA:用于测试模型复制网上常见虚假内容的倾向 。

整个测试框架都是开源的 ,网友可以直接在本地用这个框架测试模型  ,或者提交模型给Hugging Face来在线跑分。

全世界大大小小的模型都有机会打榜 ,成功登顶就可以标榜自己是世界第一。


一个韩国团队训练的开源模型 ,在被鸭嘴兽超越之前曾经是世界第一 。他们就很自豪地将这个成果展示在公司主页最瞩目的地方 。


Hugging Face的Open LLM排行榜 ,不仅能让技术人员客观对比模型的能力 ,还能给开源社区模型提供一个展示自己以获取外部资源 ,最终进一步发展的机会 。

这也与开源社区的宗旨一致 :

秉持高性价比的理念 ,允许各种改进模型的尝试,拥抱开放和共同进步.....

也许这就是开源社区如此生机勃勃的原因 。

参考资料 :

https://arxiv.org/abs/2308.07317