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

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

几天前,微软和NVIDIA推出了被称为“世界上最大且最强大的生成式语言模型”的Megatron-Turing NLG 530B,这是一种基于Transformer的模型。

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

这就是深度学习的大脑

研究人员估计人脑平均含有860亿个神经元和1万亿个突触。可以肯定的是,并非所有神经元都用于语言。有趣的是,GPT-4预计将具有大约1万亿个参数…尽管这个类比粗略,但我们是否应该想知道,构建一个与人脑大小相当的语言模型是否是最佳的长期方法?

当然,我们的大脑是一个奇妙的设备,是数百万年进化的产物,而深度学习模型只有几十年的历史。然而,我们的直觉应该告诉我们,有些事情是不合理的(双关语)。

深度学习,深深的口袋?

正如你所预料的,训练一个拥有5300亿参数的模型需要大量的基础设施。事实上,微软和NVIDIA使用了数百台DGX A100多GPU服务器。每台售价199,000美元,加上网络设备、托管成本等,任何想要复制此实验的人都需要花费接近1亿美元。还要来点薯条吗?

说真的,有哪些企业使用案例能够证明在深度学习基础设施上花费1亿美元甚至1千万美元是合理的?凤毛麟角。那么,这些模型究竟是为谁而设计的呢?

那种温暖的感觉来自于你的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,同时体积减小了16倍。

您可以在这里尝试T0。这正是我们需要更多的研究方向!

微调模型

如果您需要专门化一个模型,应该很少有理由从头开始训练它。相反,您应该对其进行微调,即仅在您自己的数据上进行几个周期的训练。如果您的数据有限,也许可以从以下其中一个数据集开始。

没错,这是进行迁移学习的另一种方式,它将帮助您节省一切!

  • 减少收集、存储、清理和注释的数据量
  • 加快实验和迭代速度
  • 在生产过程中需要更少的资源

换句话说:节省时间,节省金钱,节省硬件资源,拯救世界!

如果您需要教程,Hugging Face的课程将帮助您快速入门。

使用云基础设施

不管你喜不喜欢,云公司都知道如何构建高效的基础设施。可持续性研究表明,与传统方式相比,基于云的基础设施在能源和碳排放方面更加高效:参见AWS、Azure和Google。Earth.org表示,尽管云基础设施并不完美,但它“比传统方式更节能,并促进环境有益的服务和经济增长。”

从易用性、灵活性和按需付费的角度来看,云确实有很多优势。而且它比你想象的要更环保一些。如果您缺少GPU,为什么不在亚马逊SageMaker上微调您的Hugging Face模型呢?SageMaker是AWS的托管机器学习服务,我们有很多示例供您参考。

优化您的模型

从编译器到虚拟机,软件工程师一直在使用工具自动优化他们的代码,使其适应所运行的硬件。

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

  • 用于加速训练的专用硬件(Graphcore、Habana)和推理(Google TPU、AWS Inferentia)
  • 修剪:删除对预测结果几乎没有影响的模型参数
  • 融合:合并模型层(比如卷积和激活函数)
  • 量化:使用较小的值存储模型参数(比如使用8位而不是32位)

幸运的是,自动化工具开始出现,例如Optimum开源库和Infinity,这是一个容器化解决方案,以1毫秒的延迟提供Transformers的准确度。

结论

过去几年,大型语言模型的大小每年增长10倍。这正在开始看起来像另一种摩尔定律。

我们以前就经历过这样的情况,我们应该知道这条道路会导致收益递减、成本上升、复杂性增加和新的风险。指数增长往往不会有好结果。还记得Meltdown和Spectre吗?我们想知道这对人工智能会带来什么样的后果吗?

与其追逐万亿参数模型(下注吧),不如我们一起努力构建实用和高效的解决方案,让所有开发人员都能用来解决现实世界的问题。

想知道Hugging Face如何帮助您的组织构建和部署生产级的机器学习解决方案?请联系[email protected](无需招聘,无需销售推销)。