教科书级数据is all you need:1.3B小模型逆袭大模型的秘密
编辑:张倩、小舟
吴恩达说的「小数据」有多大威力?这个只有 1.3B 参数量的模型给出了证明。
1、Prompt engineering 这可能是最重要 / 棘手的部分,因为作者大量使用 promp 来引导 GPT-3.5 生成预训练的教科书和 SFT 代码练习。显然,大部分性能提升来自这个阶段。我进一步的假设是:
如果将这些数据用于继续训练 GPT-3.5 本身,即教师模型,它也会有进一步改进的性能,就像之前的 LMSI(Large Language Models Can Self-Improve)论文展示的一样,因此我倾向于将 Phi-1 论文视为推动 LMSI 方法的一大步。 将教师模型更改为在足够多代码上进行预训练的任何预训练模型,也可以获得类似质量的数据,当然,这需要一个良好的基础模型。 综合上述观点,基本上对于任何优秀的基础模型,都可以从基础模型中通过 prompt 合成教科书数据,然后使用模型生成的数据来改进自身,或者蒸馏为更小的专门化变体。
2、能力平衡 从论文的印象来看,我觉得预训练和 SFT 数据可能与 HumanEval 过于接近(并且作者证明没有污染)。基本上,作者构建了一个用于 Human Eval 的训练集。这有多重含义:
为感兴趣的测试问题构建训练集没有问题,我猜测大多数部署的模型都这样做。 然而,它降低了在分布内泛化的挑战程度,尽管对于与推理相关的任务和小型模型来说,这仍然是个挑战。 然而,LLM 最重要的能力在于分布外泛化,因为更大的模型会泛化到远离其训练 / 微调分布的内容。Phi-1 在小模型的分布内泛化方面做得最好(可能是极限),但在 LLM 时代,我们对分布外、少样本泛化更感兴趣。
推动分布内泛化的极限,会以显著降低通用领域能力为代价,如作者所讨论的(也可以参见我们以前的工作:https://arxiv.org/abs/2301.12726)。因此,下一步工作可能落脚于如何进行好的数据混合,以保持编码性能的同时,也能提高通用能力。
总体而言,这是一项令人印象深刻的工作!我学到了很多!
一个经过筛选的代码 - 语言数据集,它是 The Stack 和 StackOverflow 的一个子集,通过使用基于语言模型的分类器获得(包含约 6B token)。 一个合成的教科书数据集,包含不到 1B 个 token 的 GPT-3.5 生成的 Python 教科书。 一个小型的合成练习数据集,包含大约 180M 个 token 的 Python 习题和答案。
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:[email protected]
微信扫码关注该文公众号作者
戳这里提交新闻线索和高质量文章给我们。
来源: qq
点击查看作者最近其他文章