“烧钱”的大模型:初探成本拆解与推理优化方法

news2024/11/20 4:23:03

编者按:大模型的成本问题一直以来是大家重点关注的问题,本文重点讨论了训练大型语言模型(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-gopher-ethical-considerations-and-retrieval

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-fastest-growing-user-base-analyst-note-2023-02-01/

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/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf

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-network-pruning/

19.https://onnxruntime.ai/

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

本文经原作者授权,由Baihai IDP编译。如需转载译文,请联系获取授权。

原文链接

https://towardsdatascience.com/behind-the-millions-estimating-the-scale-of-large-language-models-97bd7287fb6b

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/450954.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

热血

周五的晚上,决定去看「灌篮高手」电影了。 那还是很多年以前,樱木双手插进裤腰歪头扭嘴吹着口哨,那不羁的样子像极了一只从上往下看的沙雕。 而全国赛的樱木,多少是成熟了很多,是会说一些犯二的话,会和流川…

Spring Boot中上传文件不写临时文件

Spring Boot中上传文件不写临时文件 前言 在SpringBoot文件上传中,用MultipartFile类型接收文件时,SpringBoot会生成一份临时文件,文件格式为upload_*.tmp,如果业务场景有大量小文件需要上传的话,可以将文件直接丢到…

面试官:说说对称加密、非对称加密、混合加密?

对称加密 两边用同一个密钥来加解密。 A把明文通过某一算法加密之后得到密文,然后把密文发送给B,B接收到密文之后用相同的密钥执行相同的算法去解密。X没有密钥,即使窃取到密文也无法窃听。 对称加密的有优缺点 对称加密的优点&#xff1a…

TryHackMe-Misguided Ghosts(boot2root)

Misguided Ghosts 端口扫描 循例nmap FTP枚举 直接登anonymous,有几个文件,下下来 info.txt 我已经包含了您要求的所有网络信息,以及一些我最喜欢的笑话。- 帕拉摩尔该信息可能指的是pcapng文件 jokes.txt Taylor: Knock, knock. Josh: …

【pytest】

pytest 1、环境安装 1、pip install pytest -i https://pypi.tuna.tsinghua.edu.cn/simple --targetC:\Dpan-app\ceshirenenv\Lib\site-packages 2、pycharm安装 2、assert >>> assert True >>> >>> assert False Traceback (most recent call …

一篇文章让你彻底学会--节流(并且自己可以手写)

Hi,有的小伙伴们在面试的时候会被要求手写节流函数,很多都被难着了吧,宝贝,那你你没有理解节流函数。 今天,就让我带你攻克它! 1.节流 单位时间内,事件触发,最多只执行一次事件回调。 人话:说…

【STL十三】适配器——迭代器适配器

【STL十二】适配器——迭代器适配器 一、迭代器1、迭代器分类2、迭代器定义3、迭代器和迭代器适配器 二、迭代器适配器、流迭代器1、简介2、迭代器适配器3、流迭代器 三、反向迭代器1、简介2、模板类3、demo 四、插入迭代器1、简介2、模板类3、demo 五、移动迭代器1、简介2、模…

Mysql列的类型定义(日期和时间类型)

文章目录 前言一、类型表二、类型简介总结 前言 日期与时间类型是为了方便在数据库中存储日期和时间而设计的,数据库有多种表示日期和时间的数据类型。其中,YEAR类型表示年,DATE类型表示日期,TIME类型表示时间,DATETIM…

大模型如何赋能?个人AI助理开始靠谱!

想象一下,生活在这样一个世界里,你有一个个人人工智能助手,它不仅能理解你的需求,还能与你一起学习和成长。一个人工智能无缝融入我们日常生活的世界,使我们能够比以往任何时候都更有效地实现我们的目标。那个世界不再…

Linux磁盘分区扩容

磁盘分区主要包含MBR(Master Boot Record)和GPT(GUID Partition Table)两种不同方式: MBR(主引导记录),驱动器上的一个特殊的启动扇区,最大支持2TB,最多支持4…

【Redis7】Redis7 主从复制(重点:主从复制原理)

【大家好,我是爱干饭的猿,本文重点介绍Redis7 复制。 后续会继续分享Redis7和其他重要知识点总结,如果喜欢这篇文章,点个赞👍,关注一下吧】 上一篇文章:《【Redis7】Redis7 事务&管道&…

navicat 远程连接oracle数据库ORA-12170及ORA-28547问题

目录 1.ORA-12170问题 2.ORA-28547 问题 1.ORA-12170问题 这是防火墙端口连接问题,需要在防火墙中设置oracle数据库端口为例外 解决方案 控制面板—windows防火墙—高级设置—入站规则—新建规则 2.ORA-28547 问题 OCI版本不兼容问题,安装的oracle客…

Python每日一练(20230423)

目录 1. 删除链表的倒数第 N 个结点 🌟🌟 2. 最小覆盖子串 🌟🌟🌟 3. 二叉树的层序遍历 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏…

OpenAI最新官方ChatGPT聊天插件接口《插件安全审查流程》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(六)(附源码)

Plugin review process 插件审查流程 前言Plugin review process 插件审查流程What we are looking for in a plugin 我们正在寻找一个插件Plugin states 插件状态Types of users 用户类型Submit a plugin for review 提交一个插件进行审核其它资料下载 前言 在 ChatGPT 中&am…

【原创】【理论+题型】二次型化标准型 +合同

(A)二次型化标准型2方法对比 1任何二次型都能化为标准,有正交变换法和配方法 2任何二次型都能通过配方法变为标准型,但不一定能通过正交变化法变 3二次型的规范型唯一,标准型不唯一 4实对称阵的(合同)对角化问题&#…

产品预览 | 系统仿真与三维专业场仿真融合——MWORKS模型降阶工具箱

1 引言 近二十年来,数字化技术迅猛发展,以美国和中国提出装备数字工程为标志,人类迈入全新的数字化时代。装备数字化需要对装备的运行状态和行为进行准确的模拟和预测,这就需要利用系统仿真技术。系统仿真技术能够综合考虑装备的…

Golang每日一练(leetDay0044)

目录 130. 被围绕的区域 Surrounded Regions 🌟🌟 131. 分割回文串 Palindrome Partitioning 🌟🌟 132. 分割回文串 II Palindrome Partitioning II 🌟🌟🌟 🌟 每日一练刷题专…

启扬方案:瑞芯微3568智慧安防NVR设备解决方案

物联网技术和人工智能技术的发展和应用,让安防行业的视频监控从简单的看见画面到自动识别智能研判,大大地提高视频监控的智能化,提升监控效率。随着智慧城市、智慧交通、智慧社区等项目的实施,面对道路交通、银行、家庭、商场、楼…

App复杂动画实现——Rive保姆级教程 | 京东云技术团队

作者:京东物流 沈明亮 在App开发过程中,如果想实现动画效果,可以粗略分为两种方式。一种是直接用代码编写,像平移、旋转等简单的动画效果,都可以这么干,如果稍微复杂点,就会对开发工程师的数学功…

如何提升电脑使用体验?试试这5款免费软件吧

今天推荐5款实用的开源软件,它们可以极大地提高你的工作和生活效率,让你办公学习的体验更加舒适。 屏幕截图工具——ShareX ShareX是一款免费的开源软件,可以让你快速地捕捉屏幕上的任何区域,并将其保存为图片或视频文件。你还可以使用ShareX来上传你的…