大型语言模型:新的摩尔定律?

发布于 2021 年 10 月 26 日
在 GitHub 上更新

几天前,微软和英伟达推出了 Megatron-Turing NLG 530B,这是一款基于 Transformer 的模型,被誉为“世界上最大、功能最强大的生成式语言模型”。

毫无疑问,这是一场令人印象深刻的机器学习工程展示。然而,我们应该对这种巨型模型趋势感到兴奋吗?就我个人而言,我不以为然。原因如下。

深度学习对你大脑的影响

研究人员估计,人脑平均包含860 亿个神经元和 100 万亿个突触。可以肯定的是,并非所有这些都专门用于语言。有趣的是,GPT-4 预计将拥有约 100 万亿个参数……尽管这个类比很粗糙,我们难道不应该思考,构建与人脑大小差不多的语言模型,这是否是最佳的长期方法?

当然,我们的大脑是一个奇妙的装置,是数百万年进化的产物,而深度学习模型才几十年的历史。尽管如此,我们的直觉应该告诉我们,有些东西不合逻辑(双关语)。

深度学习,深不见底?

正如你所预料的,在庞大的文本数据集上训练一个 5300 亿参数的模型需要相当多的基础设施。事实上,微软和英伟达使用了数百台 DGX A100 多 GPU 服务器。每台服务器售价 199,000 美元,再加上网络设备、托管成本等,任何想要复制这项实验的人都将花费近 1 亿美元。想要搭配薯条吗?

说真的,哪些组织有商业用例能够证明在深度学习基础设施上花费 1 亿美元是合理的?甚至 1000 万美元?很少。那么,这些模型究竟是为谁而生的呢?

那股暖意是你的 GPU 集群

尽管工程技术精湛,但在 GPU 上训练深度学习模型仍是一种蛮力技术。根据规格表,每台 DGX 服务器最高可消耗 6.5 千瓦的功率。当然,你的数据中心(或服务器机柜)需要至少同等容量的冷却能力。除非你是史塔克家族的人,需要在冬天保持临冬城温暖,否则你将不得不处理另一个问题。

此外,随着公众对气候和社会责任问题的意识日益增强,组织需要对其碳足迹负责。根据马萨诸塞大学 2019 年的这项研究,“在 GPU 上训练 BERT 大致相当于一次跨美洲的飞行”。

BERT-Large 有 3.4 亿个参数。人们只能推断 Megatron-Turing 的足迹可能有多大……认识我的人不会称我为多愁善感的环保主义者。然而,有些数字是难以忽视的。

所以呢?

我对 Megatron-Turing NLG 530B 以及即将到来的任何巨兽感到兴奋吗?不。我认为(相对较小的)基准改进是否值得增加成本、复杂性和碳足迹?不。我认为构建和推广这些巨型模型有助于组织理解和采用机器学习吗?不。

我一直在思考这一切的意义何在。为科学而科学?老派营销?技术霸权?可能每一点都有一点。那么,我就让他们去吧。

相反,让我专注于实用且可操作的技术,这些技术你们都可以用来构建高质量的机器学习解决方案。

使用预训练模型

在绝大多数情况下,你不需要自定义模型架构。也许你会想要一个自定义的(这是另一回事),但那里有龙。仅限专家!

一个好的起点是寻找已针对你正在尝试解决的任务(例如,总结英文文本)进行预训练的模型

然后,你应该快速尝试一些模型来预测你自己的数据。如果指标告诉你某个模型运行良好,那么你就完成了!如果你需要更高的准确性,你应该考虑微调模型(稍后会详细介绍)。

使用更小的模型

在评估模型时,你应该选择能够提供所需准确性的最小模型。它将预测更快,并需要更少的硬件资源进行训练和推理。节俭大有裨益。

这也不是什么新鲜事。计算机视觉从业者会记得 2017 年 SqueezeNet 问世时,与 AlexNet 相比,模型大小减小了 50 倍,同时达到了或超过了其准确性。那真是太巧妙了!

自然语言处理社区也在进行小型化工作,使用知识蒸馏等迁移学习技术。DistilBERT 可能是其最广为人知的成就。与原始 BERT 模型相比,它保留了 97% 的语言理解能力,同时模型大小减小了 40%,速度提高了 60%。你可以在这里尝试。同样的方法也应用于其他模型,例如 Facebook 的 BART,你可以在这里尝试 DistilBART。

来自 Big Science 项目的最新模型也非常令人印象深刻。如研究论文中所示的图表,他们的 T0 模型在许多任务上都优于 GPT-3,同时模型大小仅为 GPT-3 的 1/16。

你可以在这里尝试 T0。这就是我们需要的更多研究!

微调模型

如果你需要专门化模型,几乎没有理由从头开始训练。相反,你应该微调它,也就是说,只用你自己的数据训练几个 epoch。如果你的数据不足,也许这些数据集中的一个可以帮助你入门。

你猜对了,这是另一种进行迁移学习的方式,它将帮助你节省一切!

  • 更少的数据收集、存储、清理和注释,
  • 更快的实验和迭代,
  • 生产中所需的资源更少。

换句话说:省时、省钱、省硬件资源、拯救世界!

如果你需要教程,Hugging Face 的课程将让你立即入门。

使用基于云的基础设施

无论喜欢与否,云计算公司都知道如何构建高效的基础设施。可持续性研究表明,基于云的基础设施比替代方案更节能和碳效率更高:请参阅 AWSAzureGoogle。Earth.org 表示,虽然云基础设施并非完美无缺,但“它比替代方案更节能,并促进了环境友好的服务和经济增长。

在易用性、灵活性和按需付费方面,云计算无疑有很多优势。它也比你想象的更环保一些。如果你的 GPU 不足,为什么不尝试在 Amazon SageMaker(AWS 的托管机器学习服务)上微调你的 Hugging Face 模型呢?我们为你准备了大量示例

优化你的模型

从编译器到虚拟机,软件工程师长期以来一直使用工具来自动优化其代码以适应其运行的任何硬件。

然而,机器学习社区仍然在这个问题上挣扎,而且有充分的理由。优化模型的大小和速度是一项极其复杂的任务,涉及以下技术:

  • 加速训练(GraphcoreHabana)和推理(Google TPUAWS Inferentia)的专用硬件。
  • 剪枝:删除对预测结果影响很小或没有影响的模型参数。
  • 融合:合并模型层(例如,卷积和激活)。
  • 量化:将模型参数存储为较小的值(例如,8 位而不是 32 位)。

幸运的是,自动化工具开始出现,例如 Optimum 开源库和 Infinity,这是一种容器化解决方案,可实现 Transformer 的准确性,延迟仅为 1 毫秒。

结论

在过去的几年里,大型语言模型的规模每年都在以 10 倍的速度增长。这开始看起来像另一个摩尔定律

我们以前经历过这种情况,我们应该知道这条道路会导致收益递减、成本更高、复杂性增加和新风险。指数增长往往结局不佳。还记得 Meltdown 和 Spectre 吗?我们想知道这对于人工智能来说会是什么样子吗?

与其追求万亿参数模型(下注吧),如果我们能构建实用且高效的解决方案,让所有开发者都能用来解决实际问题,难道不是对所有人都更好吗?

有兴趣了解 Hugging Face 如何帮助您的组织构建和部署生产级机器学习解决方案吗?请通过 julsimon@huggingface.co 联系我们(请勿发送招聘信息和销售宣传)。

社区

注册登录发表评论