微软的SLMs之路:从phi-1到phi-2

大模型关系型数据库机器学习

phi系列模型,是微软的 Small Language Models (简称SLMs),目前共开源了3个版本:phi-1(1.3B)、phi-1.5(1.3B)和phi-2(2.7B),这些模型均未经过alignment。

其中,phi-1[1]只关注code能力,从phi-1.5[2]开始加入language understanding和common sense reasoning能力,目前最新的模型是phi-2[3],使用了更多的数据 + 更大的参数量,其效果在多个benchmark上可以超过mistral 7B、LLaMa2 13B(见下图)。

picture.image

三代phi模型的差异,可总结如下表:

picture.image

SLMs降低了微调、部署语言模型的成本,目前有不少基于phi进行微调的模型,例如llava-phi[4]、moondream[5]等。

phi系列模型的核心逻辑是: 数据质量会改变scaling laws,使得SLMs可以提前获得以往几十B的大模型才有的能力。

问题1:什么样的数据是高质量的?

  • 主要看两个维度:内容质量、多样性
  • 过滤掉低质数据能带来效果提升,数据量并不是关键因素;
  • phi系列高度依赖textbooks(教科书式数据),包含对知识点的讲解、例题等,下图是一个例子。从直觉上,人类通过教科书能更高效的学习,对机器而言,textbooks提供了Q&A数据,且知识密度高,适合进行pre-training阶段的学习。

picture.image

问题2:高质量数据从哪里来?

web数据是其中一个来源

但web数据的质量参差不齐,需要先进行 过滤

除了常见的deduplication,phi团队训练了一个 内容质量打分器 ,用来去除不具备教育意义和内容质量不高的数据。这个打分器的训练数据由GPT-4标注。

在phi-1(关注code任务)中,给GPT-4提供的标注原则为: determine its educational value for a student whose goal is to learn basic coding concepts

另一个来源是合成数据

如前所述,phi团队认定textbooks数据更有利于机器进行学习,但这样的数据如何得来? 答案是用LLMs来合成

问题3:如何保证合成数据的多样性?

多样性,是合成数据的棘手问题, 模型会倾向于输出训练数据中常出现的pattern

phi使用了2个思路:

  1. 用Attribute来增加多样性 。例如限定topic、受众类型、出现哪些词、function name等,和笔者曾介绍过的AttrPrompt类似;
  2. 用web数据来辅助生成 。用few-shot learning的方式,将web数据作为seeds。

phi论文并未透露过多关于合成数据的细节,这成为了SLMs的“壁垒”。

问题4:用合成数据来训练language models,有风险吗?

用GPT4等较强的LLM合成数据(作为teacher),让较弱的LLM进行imitation learning(作为student),究竟有没有问题?

这是一个有趣的争论。

风险派:

  • student model能够学到teacher style,但由于其自身的knowledge、reasoning能力有限,强行模仿style会带来幻觉问题[6];
  • 用模型生成的数据训练,会导致模型崩溃(Model Collapse),即模型会忘记真实的底层数据分布[7]。

乐观派:

  • 把teacher的reasoning process一并教给student,以帮助student提升reasoning能力,从而缓解只学习Style导致的幻觉问题[8];
  • 在特定任务上,student LLM有可能超过teacher LLM[9]。

phi是这样做的:

  1. 不只使用合成数据,也使用filtered web数据,避免可能的模型崩溃;
  2. 在pre-training阶段便使用合成数据,以充分吸收LLMs的knowledge,为将来的对齐打下基础;
  3. 逐个任务击破。phi-1针对code,phi-1.5开始加入NLP数据(包括日常知识、common sense reasoning等)。

问题5:small language models有什么局限?

从直觉上来看,SLMs的局限会在 generalizationrobustness 两方面。

phi-1论文中,作者直言了phi-1的局限性,例如模型对于长prompt效果不好、对于prompt的小幅度改动比较敏感等,说明phi-1还不够robust,作者解释这与训练数据 还不够多样 有关。

而在phi-2中,训练数据已经从最初的7B,扩展到了250B;同时参数量也已经翻倍到2.7B,想来generalization和robustness均已有了改进。

总结

本文介绍了微软的phi系列模型,从实验结果来看,phi-2至少在benchmark上 不输于7B、甚至13B模型 ,这说明了数据的威力。

值得再次一提的是,phi模型的训练数据不仅来自filtered web data,很大一部分也来自 synthetic textbook data --- 正如作者在论文所说: We speculate that the creation of synthetic datasets will become, in the near future, an important technical skill and a central topic of research in AI

关注笔者

欢迎关注笔者,了解更多有趣有用的NLP知识~

SLMs交流

笔者建了一个SLMs交流群,若读者对SLMs感兴趣,欢迎加笔者微信( duanyu027 ),备注“SLMs”,随后我将拉你进群:)

往期文章

  1. AttrPrompt:让LLM生成的数据更加多样、更少Bias的一种思路
  2. Large-Scale Weakly Supervision (Noisy) Data,何以成为大模型的数据基石?
  3. DITTO:角色扮演的self-alignment方法
  4. 角色扮演论文浅读:RoleLLM、Character-LLM以及ChatHaruhi
  5. 用GLM4做一款文字冒险游戏:「带娃路上的打怪升级」
  6. 模型融合(Model Merging):合理性、常见技术及其特性

参考资料

[1] Textbooks Are All You Need: https://arxiv.org/abs/2306.11644

[2] Textbooks Are All You Need II: phi-1.5 technical report: https://arxiv.org/abs/2309.05463

[3] phi-2 blog: https://www.microsoft.com/en-us/research/blog/phi-2-the-surprising-power-of-small-language-models/

[4] MoE-LLaVa-Phi2: https://huggingface.co/LanguageBind/MoE-LLaVA-Phi2-2.7B-4e

[5] moondream: https://github.com/vikhyat/moondream

[6] The False Promise of Imitating Proprietary LLMs: https://arxiv.org/abs/2305.15717

[7] The Curse of Recursion: Training on Generated Data Makes Models Forget: https://arxiv.org/abs/2305.17493

[8] Orca: Progressive Learning from Complex Explanation Traces of GPT-4: https://arxiv.org/abs/2306.02707

[9] Impossible Distillation: from Low-Quality Model to High-Quality Dataset & Model for Summarization and Paraphrasing: https://arxiv.org/abs/2305.16635

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论