乐趣区

关于人工智能:烧钱的大模型初探成本拆解与推理优化方法

编者按:大模型的老本问题始终以来是大家重点关注的问题,本文重点探讨了训练大型语言模型(LLMs)须要的老本,并简要介绍什么是 LLM 以及一些用于优化大模型推理体现的技术。

尽管很难精确预测 LLMs 将来会怎么倒退,但能够必定,如果老本问题失去解决,LLM 会成为咱们生存中不可或缺的一部分!

以下是译文,Enjoy!

作者 | Dmytro Nikolaiev (Dimid)

编译 | 岳扬

在过来的一段时间,机器学习被认为是一门简单的、只有多数人能够了解的业余技术。然而,随着机器学习相干的利用变得越来越弱小,公众的趣味也随之低落,导致大量无关人工智能的内容涌现。直到 2022 年 11 月咱们看到 ChatGPT 时,低潮呈现了,并且在 2023 年 3 月的 GPT- 4 公布时达到了第二波低潮,此时即便是原来对 AI 最狐疑的人也会对当下神经网络的能力感到诧异。

人工智能受到了大量大众的关注,网络上呈现了大量无关人工智能的内容。其中一些内容无疑是有价值的,但其中相当大一部分在流传恐怖和误导性信息,比方流传人工智能将取代所有人类工作或发现神经网络能够赚取巨额财产的机密之类的内容。 因而,打消对于机器学习和大型语言模型(LLMs)的误会,提供有价值的内容来帮忙人们更好地理解这些技术变得越来越重要。

本文旨在探讨当下机器学习畛域中常常被忽视或误会的内容——训练大型语言模型须要的老本。同时,本文还将简要介绍什么是 LLM 以及一些可能用于优化大模型推理流程的技术。 通过全面的介绍,心愿能压服读者这些技术并非凭空而来。理解数据规模和底层计算有助于咱们更好地了解这些弱小的工具。

大多数时候,本文将根据 Meta AI 最近公布的对于 LLaMA 的那篇论文[1],因为它清晰明了地展现了该团队用于训练这些模型的数据和计算量。本文将分成以下几个局部:

  • 首先,本文将简要介绍当下最新的 LLM 是什么;
  • 而后,本文将探讨训练这些模型的老本;
  • 最初,本文将简要介绍一些模型推理技术的优化办法。

随着深刻大型语言模型的世界,您会发现它既非常简单,同时也非常复杂。

01 大型语言模型简介

在咱们探讨与训练大型语言模型(LLM)无关的费用及老本之前,首先让咱们简略地定义一下什么是语言模型。

2018-2019 年公布的几个语言模型的参数数量

现在的 LLM 通常有几百亿到几千亿的参数

图 1 来自 DistilBERT 论文

简略来说,语言模型是一种被设计用于了解或生成人类自然语言的机器学习算法。 最近,语言生成模型变得越来越受欢迎,其中包含 OpenAI 开发的 GPT 模型系列:ChatGPT、GPT-4等(GPT 是指 Generative Pre-trained Transformer,这样命名为了表明它基于 Transformer 架构[2])。

还有一些尽管不太风行,但仍然很重要的模型。比方 GPT-3(175B) [3] 、BLOOM(176B) [4] 、Gopher(280B) [5] 、Chinchilla(70B) [6] 和 LLaMA(65B) [7] ,其中 B 代表参数的数量,其中许多模型也有较少参数的版本。

一些风行的 LLMs 架构。图片由作者提供

目前没有对于 ChatGPT 特地是 GPT- 4 参数数量的信息,但仿佛它们大略是相近的。

这些模型通过应用大量的文本数据进行“训练”,使它们可能学习自然语言简单的模式和构造。然而,它们在训练期间解决的工作非常简单:预测序列(sequence)中下一个单词(或 token)。

这种模型被称为 自回归模型 ,这意味着 它应用过来的输入作为将来预测的输出,并逐渐生成输入。能够在 ChatGPT 的输入样例中看到:

GhatGPT 产生了回复

gif 取自作者应用 ChatGPT 的过程

你能够发现 ChatGPT 是逐渐生成答案,而且生成的内容有时是不残缺的单词片段(chunks),这些片段(chunks)被称为 tokens。

在每一个步骤中,模型将前一个输入连贯到以后输出上,而后持续生成,直到达到非凡的“序列完结(End of Sequence)”(EOS)token。为了简略起见,省略了提醒工作(prompt task),将单词作为 tokens,这个过程能够如下所示:

解释自回归模型的文本生成。图片由作者提供

这个简略的机制加上海量的数据(一个人的毕生中可能无奈浏览这么多数据)使模型可能生成连贯且上下文适合的文本,模仿人类的写作形式。

如果此处咱们只议论生成模型,为什么没有其余系列的模型呢?

起因很简略——文本生成工作是最难解决同时也是最让人类印象粗浅的工作之一。ChatGPT 在 5 天内就取得了 100 万用户[8],比之前其余任何利用都要快,而且这种势头还在持续放弃[9]。

所谓的编码器 encoders[10](BERT 模型系列)可能不会太刺激人类,但它们也能够以人类的程度解决各种问题,并帮忙实现文本分类 [11] 或命名实体辨认(NER)[12]等工作。

我不会提供大语言模型能够做什么的具体例子,因为这曾经在网络上遍地都是。最好的办法是本人试用 ChatGPT,但也能够参考一些优良的 prompts,比方 Awesome ChatGPT prompts。只管大型语言模型具备惊人的能力,但它们目前还存在一些限度。其中最常见和最重要的包含:

  • 存在偏见和常识动态性: 因为 LLM 模型是在许多个起源的数据上进行训练的,它们会无心中学习并再现这些数据中存在的偏见。此外,它们具备常识动态性,无奈在不从新训练的状况下实时适应新数据或更新常识。
  • 不能齐全了解输出和存在虚伪信息: 尽管 LLM 模型能够生成相似人类的文本,但它们并不总是齐全了解输出的语境。而且,自回归生成输入文本的形式并不能防止模型产生谎话或无意义的内容。
  • 耗费太多资源: 训练 LLM 模型须要大量的计算资源,这导致训练老本和能源消耗都很高。这一因素可能会限度较小公司或集体研究者的 LLM 模型倒退。

这些以及其余毛病都是 AI 钻研界的热门探讨话题。值得一提的是,AI 畛域倒退得如此之快,以至于几个月内很难预测哪些毛病或限度会被克服,但毫无疑问,新的毛病和限度将会呈现。

新近的模型只是减少参数数量,但当初认为更好的做法是训练更小的模型,并花更长的工夫给它们提供更多的数据。这样减小了模型的规模和后续应用模型的老本。

在大抵理解 LLM 当前,让咱们进入这篇文章的次要局部——估算训练大型语言模型的老本。

02 估算机器学习模型个别状况下的老本,特地是 LLM 老本

要估算训练大型语言模型的老本,必须思考三个关键因素:

  • 数据
  • 计算资源
  • 以及架构(或算法自身)

当初让咱们深刻地探讨这三个方面,理解它们对训练老本的影响。

2.1 数据

LLMs 须要大量数据来学习自然语言的模式和构造。估算数据的老本可能具备挑战性,因为公司通常应用其业务经营中长期积攒的数据以及开源数据集。

此外,还要思考到数据须要进行荡涤、标记、组织和存储,思考到 LLM 的规模,数据管理和解决老本会迅速减少,特地是思考到这些工作所需的基础设施、工具和数据工程师时。

举个具体的例子,已知 LLaMA 应用了蕴含 1.4 万亿个 token 的训练数据集,总大小为 4.6TB!

LLaMA 模型的训练数据集,表 1 来自 LLaMA 论文

较小的模型(7B 和 13B)是应用了 1T token 训练的,而较大的模型(33B 和 65B)应用 1.4T token 的残缺数据集。

LLaMA 模型的 training loss 值随 token 数量的变动图,来自 LLaMA 论文

当初应该明确,当向大家宣传这些数据集如许宏大时,其实并没有夸大,也能了解为什么在十年前大模型还无奈做到这一点。然而,计算资源方面的问题更加乏味。

2.2 计算资源

训练过程的破费占据了 LLM 训练老本的很大一部分。训练大型语言模型须要大量计算资源,并且因为须要较强的并行处理能力,要应用功能强大的图形处理器(GPU)。NVIDIA 每年都会推出新的 GPU,其老本高达数十万美元。

如果应用云计算服务,训练这些模型的云计算服务老本可能也是惊人的,基本上须要几百万美元,特地是思考到须要迭代各种配置。

回到 LLaMA 论文,文中说,他们应用了两千个 GPU,每个 GPU 高达 80 GB 的显存,如此弱小的计算能力来训练最大的 65B 模型也须要 21 天。

用于训练 LLaMA 模型的计算资源量,图片来自 LLaMA 论文

作者应用的 NVIDIA A100 GPU 是当下神经网络训练的常见抉择。Google Cloud 平台提供此类 GPU 的费用是每小时 3.93 美元。

NVIDIA A100 GPU 的价格

所以咱们疾速计算一下:

四百万美元的老本并不是每个钻研人员都能负担得起的,对吧?而且这仅仅是运行一次的费用!这篇文章预计了 GPT- 3 的训练老本[13],作者说须要 355 GPU-years 和 460 万美元的老本。

2.3 架构(和基础设施)

Architecture (and Infrastructure)

一流 LLM 的开发还须要纯熟的钻研人员和工程师设计正当的架构并正确配置训练过程。架构是模型的根底,可能决定它如何学习和生成文本。

须要具备各种计算机科学畛域的专业知识,能力设计、实现和管制这些架构。负责公布和提供优良我的项目成绩的工程师和钻研人员能够取得数十万美元的薪水。有一点须要咱们留神,训练 LLM 所需的技术栈可能与“经典”机器学习工程师的技术栈有很大不同。

机器学习零碎的基础设施,图来自论文《Hidden Technical Debt in Machine Learning Systems》[14]

训练 LLM 是一个十分艰难和须要消耗很多资源的工程问题。 当初让咱们简要探讨一些使 LLM 推理过程更无效和节省成本的办法。

03 优化语言模型的推理能力

3.1 咱们是否真的须要优化?

推理(Inference)是指应用曾经训练好的语言模型生成预测(predictions)或响应(responses)的过程,通常作为 API 或 Web 服务。鉴于 LLM 的巨量资源耗费个性,必须对其进行优化来实现高效的推理。

例如,GPT- 3 模型有 1750 亿个参数,相当于 700GB 的 float32 数字。激活也须要大概同样数量的内存,而且须要留神的是,咱们说的是 RAM。

如果不应用任何优化技术来进行预测(predictions),咱们将须要 16 个 80GB 显存的 A100 GPU!

有几种风行的技术能够帮忙 缩小内存需要和模型提早 (model latency),包含 模型并行、模型量化 等等。

3.2 模型并行

模型并行 [15] 将单个模型的计算散布到多个 GPU 上,可用于训练和推理流程。将模型的层(layers)或参数(parameters)宰割到多个设施上能够显著进步整体推理速度,并且在实践中常常应用。

3.3 模型量化

模型量化 [16] 波及缩小模型数值(如权重)的精度。通过将浮点数转换为较低精度的整数,模型量化能够在不实质性损失模型性能的状况下实现显著的内存节俭和更快的计算速度。你是不是会有一个想法:应用 float16 浮点数代替 float32,这样将内存量减少一半。事实证明,甚至能够将模型权重转换为 int8 也简直不会损失精度。

3.4 其余技术

优化 LLM 的办法相干钻研始终是一个沉闷的钻研畛域,其余技术包含:

  • 常识蒸馏[17] – 训练一个较小的学生模型(student model)来模拟一个较大老师模型(teacher model)的行为;
  • 参数剪枝[18] – 从模型中删除冗余或不重要的参数,以减小模型的大小和计算资源要求;
  • 应用像 ORT(ONNX Runtime) [19]这样的框架来通过算子交融(operator fusion)和常数折叠(constant folding)等技术来优化计算图(calculation graphs)。

总的来说,优化大型语言模型的推理是 LLM 部署的一个重要方面。通过利用各种优化技术,开发人员能够确保 LLM 不仅功能强大和精确,而且 性价比高和具备可扩展性

04 为什么 OpenAI 要凋谢 ChatGPT 给公众应用呢?

思考到大语言模型训练和推理的高老本,人们可能会产生这样的疑难。尽管咱们无奈确定 OpenAI 的确切动机,但咱们能够剖析这一决定背地的益处和潜在策略起因。

首先,OpenAI 将目前最先进的 LLM 给大家应用,取得了极高的知名度 。通过展现大型语言模型的理论利用成果,该公司 吸引了投资者、客户和整个技术畛域的关注

其次,OpenAI 的使命就是围绕着人工智能的发明和倒退。通过凋谢 ChatGPT 给公众拜访,该公司能够被认为更靠近实现其使命并为社会变革做好筹备。凋谢如此弱小的 AI 工具 可能激励翻新,推动人工智能钻研畛域持续向前倒退 。这种提高能够 导致更高效的模型、更多元的应用程序和各种新解决方案的呈现。不过,ChatGPT 和 GPT- 4 的架构都没有公开,但这是另一个须要探讨的话题。

尽管与训练和保护大型语言模型相干的老本无疑是微小的,凋谢拜访 ChatGPT 不仅减少了他们的知名度,证实了他们在人工智能畛域的领导位置,还容许他们收集更多数据来训练更弱小的模型。这种策略使他们可能继续推动他们的使命,并在某种程度上为人工智能和 LLM 技术的倒退做出了卓越的奉献。

询问 ChatGPT,为什么 OpenAI 要收费凋谢 ChatGPT 的应用权限

05 论断

正如本文所说的,训练大型语言模型的老本受到各种因素的影响,不仅包含低廉的计算资源,还须要学习大数据管理和模型开发架构等畛域的专业知识

现在的 LLM 广泛具备数十亿个参数,训练时用到数万亿个 token,训练老本高达数百万美元。

心愿当初您曾经理解训练和推理大型语言模型的老本,以及它们的限度和陷阱。

自然语言解决畛域曾经从继续了数年的 ImageNet 时代 [20] 转变到生成模型的时代了。广泛应用和应用生成语言模型(generative language models)有心愿彻底改变各行各业和咱们生存的方方面面。尽管很难精确预测这些变动,但咱们能够必定,LLM 必定将对世界产生肯定影响。

就我集体而言,我更喜爱训练 “ 更聪慧 ” 的模型,而不仅仅是 “ 更大 ” 的模型。通过摸索更优雅的形式来开发和部署 LLM,能够扩大人工智能和 NLP 的边界,为更具备创新性的解决方案和该畛域的光明将来关上大门。

END

参考资料

1.https://ai.facebook.com/blog/large-language-model-llama-meta-ai/

2.https://huggingface.co/course/chapter1/4

3.https://en.wikipedia.org/wiki/GPT-3

4.https://bigscience.huggingface.co/blog/bloom

5.https://www.deepmind.com/blog/language-modelling-at-scale-gop…

6.https://arxiv.org/abs/2203.15556

7.https://ai.facebook.com/blog/large-language-model-llama-meta-ai/

8.https://twitter.com/gdb/status/1599683104142430208

9.https://www.reuters.com/technology/chatgpt-sets-record-fastes…

10.https://huggingface.co/course/chapter1/5

11.https://paperswithcode.com/task/text-classification

12.https://paperswithcode.com/task/named-entity-recognition-ner

13.https://lambdalabs.com/blog/demystifying-gpt-3

14.https://proceedings.neurips.cc/paper_files/paper/2015/file/86…

15.https://colossalai.org/docs/concepts/paradigms_of_parallelism/

16.https://huggingface.co/docs/optimum/concept_guides/quantization

17.https://neptune.ai/blog/knowledge-distillation

18.https://analyticsindiamag.com/a-beginners-guide-to-neural-net…

19.https://onnxruntime.ai/

20.https://thegradient.pub/nlp-imagenet/

本文经原作者受权,由 Baihai IDP 编译。如需转载译文,请分割获取受权。

原文链接

https://towardsdatascience.com/behind-the-millions-estimating…

退出移动版