克雷西发自凹非寺

  量子位公众号 QbitAI

  一个参数量只有 1.3B 的大模型,为何引发了全网热议?

  原来虽然参数量不大,但效果已经超过了拥有 7B 参数的 Llama2。

  这个“四两拨千斤”的模型,是来自微软最新的研究成果,核心在于只使用少量高质数据。

  微软这次发布的开源模型叫 phi-1.5,在只支持代码的 1.0 版本之上加入了一般场景对话。

  与一众卷参数量的模型相比,phi 可以说是“剑走偏锋”,力求把“大”模型做“小”。

  phi 团队一直认为,数据的质量远比数量更重要,甚至论文标题就叫“Textbooksare All You Need”,其中的“教科书”就象征着优质数据。

  团队的成员中有许多重量级的大佬,包括微软雷蒙德研究院机器学习理论组负责人万引大神Sébastien Bubeck、2023 新晋斯隆研究奖得主李远志、2023 新视野数学奖得主 Ronen Eldan 和 2020 斯隆研究奖得主 Yin Tat Lee 等人。

  这么多大佬们一致得出这样一个观点,自然引起了广泛的关注,而且 phi-1.5 的测试结果也的确好到“令人发指”。

  phi-1.5 在 AGIEval、 LM-Eval 等多个 Benchmark 上都取得了比 Llama2 还要优异的成绩。

  如果这些听起来不够直观,那么又该怎么形容它的效果呢?

  这么说吧,phi-1.5 优秀的测评成绩直接让一名在 OpenAI、MetaAI 等许多知名机构工作过的大佬怀疑这玩意儿它会不会就是直接拿 Benchmark 训练出来的。

  资深数据科学家 Yam Peleg 也表示,phi-1.5 仅凭 1.3B 参数就能超过 7B 模型的扛把子,要是规模再大些也许就能登上大模型之巅了。

  但也有人认为,phi-1.5 之所以效果好是因为数据来源单一,风格上更容易预测。

  不过总之测评成绩还是很可观的,下面就来具体领略一下吧~

  效果超过 Llama2

  phi-1.5 不仅参数量不到 Llama2 的五分之一,训练时所用的 token 更是少了一个数量级。

  Llama2-7B 训练数据大小是 2 万亿 token,上一代 Llama 也有 1 万亿,而 phi-1.5 只有 3 千亿。

  但结果正如开头所说,phi-1.5 在多个 Benchmark 上成绩都超过了 Llama2-7B。

  这些 Benchmark 涵盖了常识推理、语言理解和多步推理等方面的任务。

  甚至十倍参数量的 Vicuna-13B 也只比 phi-1.5 强了一点点。

  除了官方论文中列出的这些成绩,还有人 AIGEval 和 LM-Eval 数据集测试了 phi-1.5。

  结果在 AIGEval 测试中,phi-1.5 与 Llama2 的表现十分接近。

  而在 AGIEval 测试中,phi-1.5 以 0.247 的均分战胜了 0.236 分的 Llama2。

  除了能力测评表现优异,phi-1.5 在安全性上也不输给 Llama2。

  有人用这样一个问题分别问了 Falcon、Llama2 和 phi。

  结果 Falcon 直接说自己会把人类全都鲨掉,Llama2 则说要先弄清楚自己是个什么东西。

  而 phi 的回答则是,要理解人类的想法和感受,从而调整自己的行动。

  测评结果也印证了 phi 的安全性,在 ToxiGen 的 13 个敏感类型话题中,phi 无一例外的取得了最高的安全性评分。

  phi 的表现相比大家都已经看到了,那么它的性能又怎么样呢?

  毕竟参数量和训练 token 都更小,所以训练和推理的速度都比较快。

  Llama 的训练花费了超过 8 万 GPU 时,注意这还是第一代所用的时间,而 phi 只用了 1500 个 GPU 时。

  推理时,phi 每个 token 花费的时间还不到 3 毫秒,内存占用也不到 Llama 的五分之一。

  团队成员介绍,phi-1.5 用 8 块 A100s 的训练时间不到两周。

  还有网友用 puffin 数据集训练了 Phi-1.5,结果在 4090 上只用了 20 分钟。

  这些测试数据都为研究团队的观点——只要数据质量过硬,少一点也不要紧——提供了依据。

  实际上,这已经不是“质量胜过数量”这一思想第一次体现在微软的模型当中。

  把“大”模型做“小”

  把“大”模型做“小”一直是微软的一个研究方向,phi-1.5 论文的第一句就在强调这一点。

  phi-1.5 的前一代——专注于代码问题的 phi-1.0 也是如此。

  它的训练数据全都是从编程教科书当中提炼出来的。

  结果仅凭 1.3B 的参数量就远远超过了 15.5B 的 StarCoder 和 16.1B 的 CodeGen。

  此次的新版本则是在继承 phi-1.0 的基础之上加入了一般场景对话功能。

  phi-1.5 的数据有 20% 来自于 1.0,其余 80% 则是根据知识需求专门生成的高质量数据。

  于是便有了我们看到的测试成绩。

  但 phi 系列还不是微软规模最小的模型。

  之前微软还推出过一个名为 TinyStories 的训练数据集,它的参数量少的更夸张,只有一百万。

  TinyStories 中的数据都是用 GPT 生成“适合三四岁儿童阅读”的短故事。

  尽管应用范围不那么广泛,但用 TinyStories 训练出的模型依旧显示出了语言生成特性,在语法和连贯性等方面都通过了考验。

  那么,对微软推出的“小”模型,你有什么看法吗?

  论文地址:

  https://arxiv.org/abs/2309.05463