编者按:大模型的老本问题始终以来是大家重点关注的问题,本文重点探讨了训练大型语言模型(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...