大型语言模型的运行成本分析

大型语言模型 (LLM) 一直处于生成式 AI 革命的前沿,尤其是自 ChatGPT 出现以来。然而,它们的全部潜力尚未得到释放,而一个重大障碍是成本。将 LLM 纳入应用程序的费用范围从按需用例的几美分到在云环境中托管单个 LLM 实例的每月 20,000 美元以上。此外,微调、训练、向量搜索和扩展也会产生大量成本。

在这篇博文中,我将探讨导致 LLM 应用程序费用的因素,并将成本分解为主要组成部分。

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 - 3D道路快速建模 

1、分解 AI 和大模型的成本

在分析 LLM 的成本时,考虑两个主要角度很有用:可能使 LLM 更昂贵的因素和所涉及的各个成本组成部分。让我们首先概述一下这些因素。

导致 LLM 和 AI 模型更昂贵的因素:

  • 模型复杂度(思考努力):这指的是你希望模型有多复杂。提高模型的智能通常需要使用更复杂的架构或更大的模型,例如从 70 亿个参数扩展到 3000 亿个参数,或者在混合专家 (MoE) 模型中同时雇用更多专家。更高的思考努力会增加计算需求和成本。显然,更智能的模型更昂贵。
  • 输入大小:你发送到模型和从模型接收的令牌数量会影响处理时间和计算资源。更大的输入和输出需要更多的处理能力,从而增加成本。输入和输出越多,你支付的费用就越多。
  • 媒体类型:模型处理的媒体类型(无论是文本、音频还是视频)都会影响成本。由于数据量更大、复杂性更高,处理音频和视频通常比文本需要更多的资源。
  • 延迟要求:你需要多快的响应会影响成本。更低的延迟需要更多的计算资源或优化的基础设施,而维护起来可能会更加昂贵。

LLM 和 AI 模型的成本 - 细分和组件

你如何支付运行 LLM 的费用?

通常,你会发现自己以两种主要方式之一支付生产中的 LLM 费用:

  • 托管自己的基础设施:你可以构建和管理自己的基础设施来托管 LLM,无论是在本地还是在云中。例如,你可以下载像 Llama 3 这样的模型并在你的服务器上运行它。这种方法提供了控制和定制,但涉及大量的前期投资和持续的维护成本。
  • 模型即服务:或者,你可以使用 AI 供应商提供的 LLM 作为服务。这些供应商通常采用按令牌付费的定价模式,你需要为发送到模型和从模型接收的每个令牌付费。对于那些不愿意处理基础设施管理的复杂性或规模较小的人而言,这种方法可能更具成本效益。

在深入研究一些流行模型的成本估算之前,让我们简要讨论一下如何训练您自己的 LLM。

我将通过介绍一些流行模型的成本估算来开始讨论 LLM 的成本,但在此之前,我想先介绍一下训练自己的 LLM。

2、创建 LLM 的成本

虽然大多数用户不会从头开始训练自己的 LLM,但有报道称,训练 BloombergGPT 等 LLM 的成本高达数百万美元,这主要是由于 GPU 成本。如今,训练 LLM 需要投资研究、获取和清理大量数据,并通过强化学习人工反馈 (RLHF) 等技术支付大量人工反馈费用。

虽然大多数将 LLM 集成到其生成式 AI 应用程序中的公司都使用由其他组织训练的模型(如 OpenAI 的 GPT-4 或 Meta 的 Llama 3),但他们间接支付了与创建这些 LLM 相关的成本。现在我们已经澄清了这一点,让我们看几个在云中托管 LLM 的成本示例。

3、在云中托管 LLM

在托管自己的模型时,如上所述,主要成本是硬件。例如,考虑在 AWS 上托管像 Llama 2 这样的开源模型。AWS 推荐的默认实例是 ml.p4d.24xlarge,标价为每小时近 38 美元(按需)。这意味着这样的部署每月至少要花费 27,360 美元(假设全天候运行),假设它不会扩大或缩小规模,并且不应用任何折扣。

AWS SageMaker 上的 Llama3 默认硬件

此 AWS 服务的扩展和缩减可能需要注意、配置更改和优化过程;但是,此类部署的成本仍然非常高。

4、按令牌付费

托管 LLM 并支付硬件费用的另一种方法,是使用软件即服务 (SaaS) 模型并按使用的令牌(token)付费。令牌是供应商用来为其 API 调用定价的单位。不同的供应商(如 OpenAI 和 Anthropic)具有不同的标记化方法,并且它们根据它是输入令牌、输出令牌还是与模型大小相关而对每个token收取不同的价格。

例如,OpenAI 对 GPT-4 每 1,000 个输入token收取 0.03 美元,每 1,000 个输出token收取 0.06 美元,而 GPT-3.5 Turbo 每 1,000 个输入token收取 0.0015 美元,每 1,000 个输出token收取 0.002 美元。很明显,使用特殊字符或非英语语言会因标记化而导致更高的成本。如果你使用其他语言(例如希伯来语或中文),请注意成本可能会更高。

5、哪些因素会影响 LLM 调用成本?

LLM 的按token付费定价因多种因素而异,包括模型功能、使用模式和语言差异。以下是这些因素如何影响成本,并提供了流行模型的精确示例和表格:

5.1 模型选择和功能

由于性能和功能的差异,选择模型会显著影响成本。

示例:GPT-4 与 GPT-3.5 Turbo

  • GPT-4:具有增强功能的高级多模态模型,8K 上下文长度(或扩展版本中的 32K),知识截止值为 2023。非常适合复杂的任务。
  • GPT-3.5 Turbo:经济高效、速度更快,适用于要求不太复杂的一般应用程序。

价格比较:

  • GPT-4:每 1,000 个输入token需要 0.03 美元,每 1,000 个输出token需要 0.06 美元。
  • GPT-3.5 Turbo:每 1,000 个输入token需要 0.0015 美元,每 1,000 个输出token需要 0.002 美元。

对成本的影响:

处理 100 万个输入和输出token:

GPT-4:

  • 输入:(1,000,000 个令牌/1,000)* 0.03 美元 = 30 美元
  • 输出:(1,000,000 个令牌/1,000)* 0.06 美元 = 60 美元
  • 总成本:90 美元

GPT-3.5 Turbo:

  • 输入:(1,000,000 个令牌/1,000)* 0.0015 美元 = 1.50 美元
  • 输出:(1,000,000 个令牌/1,000)* 0.002 美元 = 2.00 美元
  • 总成本:3.50 美元

结论:GPT-4 以更高的成本提供卓越的功能,而 GPT-3.5 Turbo 为要求不高的任务提供了可负担性。

5.2 批处理 API 折扣

在不需要立即获得响应的情况下,使用批处理 API 可以将最多等待 24 小时的任务成本降低 50%。

批处理 API 定价:

示例:

使用 GPT-4o Mini 批量处理 200 万个输入和输出令牌:

  • 输入:2 x $0.075 = $0.150
  • 输出:2 x $0.300 = $0.600
  • 总成本:$0.750

结论:批处理 API 对于非紧急、大规模任务具有成本效益。

5.3 思维过程

像 o1-preview 这样的模型可以应用思维过程进行复杂的推理,表明“代理即服务”。

o1-preview 的特点:

  • 增强复杂任务的推理能力。
  • 内部推理令牌包含在输出令牌计数中。

定价:

示例:

使用 o1-mini 处理 500,000 个输入和输出令牌:

  • 输入:0.5 x $3.00 = $1.50
  • 输出:0.5 x $12.00 = $6.00
  • 总成本:$7.50

结论:虽然价格更高,但 o1 模型可以有效解决复杂问题,从而减少对多个更简单模型调用的需求。

5.4 媒体类型处理

由于计算需求不同,处理不同的媒体类型(文本、图像、音频)会影响定价。

使用 DALL·E 模型生成图像:

示例:

以 1024×1024 分辨率生成 50 张图像:

  • DALL·E 3:50 x $0.040 = $2.00
  • DALL·E 2:50 x $0.020 = $1.00

结论:更高质量的图像成本更高;根据质量需求和预算进行选择。

虽然我们已经介绍了 API 定价的差异,但这仍然没有解决 LLM 在生产中的真实成本。让我们深入探讨 AI 的真实成本。

6、LLM 应用程序的隐性成本

GPT-For-Work 开发了一个用于 AI 和 LLM 产品的跨平台定价计算器。我用它来估算处理 100 万个请求的 AI 应用程序的成本,并立即面临一个问题:在这种情况下将发送多少个令牌?答案很复杂,因为这个数字受到几个隐藏和未知因素的影响:

  • 可变的输入和输出大小:用户输入和生成的输出的大小可能会有很大差异,从而影响使用的令牌数量。
  • 隐藏的提示成本:应用程序提示存在隐藏成本。系统提示和说明可以为每个请求添加大量令牌。
  • 后台 API 调用:利用代理库通常会在后台对 LLM 产生额外的 API 调用,以便实现 ReAct 等框架或汇总缓冲区的数据。

GPTforwork 成本计算器

这些隐性成本通常是从原型设计阶段过渡到生产阶段时账单冲击的主要原因。因此,让这些成本变得可见至关重要。

7、向量数据库的出现

之前的大部分讨论都集中在托管 LLM 和与 LLM 的数据交换上。然而,事实证明 LLM 不仅对按需生成用例有用,而且对创建一种称为嵌入的新数据存储格式也很有用。这些嵌入是向量(数字数组),可以表示各种媒体类型,例如文本、图像、音频和视频。一旦数据被压缩成向量,就可以存储和索引它以用于高级搜索目的。

向量数据库设置中的数据流示意图。来源:weaviate.io

Weaviate 是一种领先的矢量数据库解决方案,它已经证明了以矢量形式存储和检索数据的有效性。它的特殊之处在于能够搜索概念上相似的媒体对象,例如具有相同语气或提及相同主题的电子邮件,即使没有使用完全相同的词语。

这些新数据库的成本要高得多,因为嵌入的创建和更新是通过调用 LLM 来完成的。此外,搜索数据库需要更先进、更昂贵的技术。

8、如何控制 LLM 的成本?

在探索了影响在生产中部署大型 LLM 和 AI 的成本的组件和因素(尤其是底层基础设施)之后,我们现在可以将注意力转向降低成本的策略。

一种有效的方法是优化硬件性能。通过选择更快或更先进的 GPU,您可以显着提高推理速度,但这通常会带来更高的成本。很明显,LLM 中的主要平衡是在性能和​​成本之间;它涉及速度、成本和准确性之间的权衡。虽然供应商提供硬件和算法方面的改进可能会降低一些成本,但你可以采用哪些技术来从现有基础设施中榨取更高的性能?

8.1 选择 LLM 的大小

LLM 的大小对其性能和成本起着至关重要的作用。较大的 LLM 通常提供更高的准确性,但由于资源需求增加,成本也会更高。例如,从 GPT-3.5 Turbo 升级到 GPT-4 可以提供更准确的结果,但也会产生更高的费用。这个决定需要仔细考虑准确性和成本之间的平衡。

下图按大小排序,说明了各种提示工程技术对不同 LLM 中 LLM 应用程序准确性的影响。虽然通过有效的提示工程可以实现不同的 LLM 之间的性能差异甚至重叠,但 LLM 的大小在确定准确性方面起着关键作用。这意味着更高的成本(因为更大的 LLM 更昂贵)与更高的准确性相关。

这张表列出了截至 2023 年 8 月 OpenAI 提供的各种 GPT 模型的定价。它说明了潜在费用的巨大差异。在本文后面,我们将讨论确保你为你的用例和预算选择最合适的 LLM 的策略。

8.2 量化 LLM

量化 LLM 是一种降低模型权重精度的技术,可提高速度和资源利用率方面的性能,但代价是准确度略有降低。这种方法在管理成本方面特别有效,同时仍能为许多应用程序保持可接受的性能。通过量化你的 LLM,你可以在性能和准确性之间实现更具成本效益的平衡。

量化模型可显着减小其大小,从而降低托管 LLM 的成本并改善延迟。但以什么准确性为代价呢?对于选定的基准,尽管尺寸小了近 50%,但量化后的 Llama2-13B 显示出比 Llama2-7B 更好的结果。请继续阅读 Miguel Neves 的文章。

8.3 微调 LLM

针对特定任务微调 LLM 可以显著提高性能。如果你的 LLM 需要用于特定功能,那么一次性投资微调可以提高其执行该任务的效率。这种方法可以根据你的特定需求定制模型的功能,从而更有效地利用资源,从长远来看可以降低总体成本。

8.4 构建更好的提示

系统提示是 LLM 应用程序中用于向模型提供指令的模板,此外还可以注入特定数据(如用户提示)。制作更好的系统提示可以大大提高 LLM 的准确性并减少幻觉的情况。诸如“思维链”提示之类的技术可以通过引导模型通过更合乎逻辑的生成响应过程来最大限度地减少错误。但是,这种方法可能会增加发送到模型的数据量,从而增加成本并可能影响性能。优化提示设计是管理成本、准确性和效率之间权衡的关键方面。

Copilot泄露的提示。来源:github

为了提供视角,请考虑 GitHub Copilot 的“泄露”提示,该应用程序可帮助开发人员自动完成代码。虽然未经证实,但报告的提示包含 487 个令牌,在引入任何用户特定的上下文之前会产生大量的开箱即用成本。

5、使用分析方法

虽然关于如何使用这些技术存在直觉和理论,但在优化 LLM 系统时,通常很难提前预测哪种方法更有效。因此,一个实用的解决方案是采用一种分析方法,让你可以跟踪不同的场景并根据你的数据进行测试。

TensorOps 的开源平台 LLMstudio 等工具正是为此而生。它使你能够针对任何供应商的各种 LLM 测试不同的提示,并记录请求和响应的历史记录以供以后评估。此外,它还跟踪与成本和延迟相关的关键指标,使你能够就 LLM 部署优化做出数据驱动的决策。


原文链接:深入探索大模型的成本 - BimAnt

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

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

相关文章

Matlab高光谱遥感

原文链接:Matlab高光谱遥感https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247623643&idx5&sne4557ed43728f851140b100f42286988&chksmfa8da23ccdfa2b2a4d795bf4087f672faaa7082d1f52e046616ab7bf196a6eef89ea553d06b1&token1392391660&…

OPENAI官方prompt文档解析

官方文档地址:https://platform.openai.com/docs/guides/gpt-best-practices 文档中文版来源:OpenAI 官方提示工程指南 [译] | 宝玉的分享 (baoyu.io) 1.写清楚说明 如果prompt给的范围十分模糊或是过于宽泛,那么GPT就会开始猜测您想要的内容,从而导致生成的结果偏离预期. …

共模噪声和差模噪声

电源芯片加上负载和不加负载输出的纹波不一样,不加负载的情况下纹波比较小。 可以测量出DCDC电源的输出电压纹波为100Khz,刚好对应电源芯片的开关频率。可以看到纹波上面有一部分的小噪声,放大后用示波器观察频率为几Mhz。 对付上面的频率比…

DevOps赋能:优化业务价值流的实战策略与路径(上)

上篇:价值流引领与可视化体系构建 一、前言 在快速迭代的软件项目和产品开发生态中,我们始终围绕两个核心目标:一是确保每一项工作都能为客户创造实际价值,这是产品团队的核心使命;二是确保这些有价值的工作能够高效…

机器学习之fetch_olivetti_faces人脸识别--基于Python实现

fetch_olivetti_faces 数据集下载 fetch_olivetti_faceshttps://github.com/jikechao/olivettifaces sklearn.datasets.fetch_olivetti_faces(*, data_homeNone, shuffleFalse, random_state0, download_if_missingTrue, return_X_yFalse, n_retries3, delay1.0)[source] L…

HTML 语法规范——代码注释、缩进与格式、标签与属性、字符编码等

文章目录 一、代码注释1.1 使用注释的主要目的1.2 使用建议二、标签的使用2.1 开始标签和结束标签2.2 自闭合标签2.3 标签的嵌套2.4 标签的有效性三、属性四、缩进与格式4.1 一致的缩进4.2 元素单独占用一行4.3 嵌套元素的缩进4.4 避免冗长的行五、字符编码六、小结在开发 HTML…

Charles简单压力测试

1.接口请求次数,并发量,请求延迟时间均可配置 1.1选中需要进行测试的接口,鼠标右键选中【repeat advance】 2.设置并发参数 下面的图中,选择了1个接口,每次迭代中1个接口同时请求,迭代1000次(…

HrmonyOS 赋能套件介绍

文章为官方教程以及自己的部分理解,用于上下班的查看学习。官方视频教程地址:HarmonyOS应用开发者基础认证-华为开发者学堂 (huawei.com) HarmonOS 赋能套件全景 感知 通过白皮书了解认识 HarmonOS 应用开发的核心理念、关键能力和创新体验 学习与评估…

Windows 下基于 CLion 配置 Linux 项目开发环境

【Windows 下基于 CLion 配置 Linux 项目开发环境 【C/C/Linux】】 https://www.bilibili.com/video/BV1tH4y1U73v/?share_sourcecopy_web&vd_source57dbd16b8c7c2ad258cccce5966c5be8

es拼音分词器(仅供自己参考)

github地址:https://github.com/infinilabs/analysis-pinyin(各种版本,对接es版本) 拼音分词器存在的问题: 1、是直接将每个字的拼音返回和一段话的拼音首字母返回,不能很好的分词。 2、不会保留中文&am…

机器人技术革新:人工智能的强力驱动

内容概要 在当今世界,机器人技术与人工智能的结合正如星星与大海,彼此辉映。随着科技的不断进步,人工智能不仅仅是为机器人赋予了“聪明的大脑”,更是推动了整个行业的快速发展。回顾机器人技术的发展历程,我们会发现…

Waymo的EMMA给多模态端到端自驾指引了方向

最近Waymo发的论文EMMA端到端确实在自动驾驶届引发了很大的关注,核心的原因是它采用的端到端模型是基于Gemini Nano的语言模型,目前看现在做端到端方案的,就它和特斯拉是语言模型为底座来实现多模态视觉输入的。 EMMA:End-to-End Multimodal…

第二十八篇——向量代数(下):如何通过向量夹角理解不同“维度”?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 一个向量的夹角计算,增加了N个维度;让我的思路一下…

猫头虎分享Python 编码转换库:处理 JSONL 编码格式转换的最佳实践

猫头虎分享Python 编码转换库:处理 JSONL 编码格式转换的最佳实践 在数据处理的过程中,编码转换是一个不可避免的重要环节。特别是当我们面对来自不同来源的数据时,确保数据的编码一致性对于数据的正确解析和处理至关重要。本文将介绍 Pytho…

5. STM32之TIM实验--输出比较(PWM输出,电机,四轴飞行器,智能车,机器人)--(实验5:PWM驱动直流电机)

作者:Whappy,日期:2024.10.29,决战STM32 直流电机的控制就比较简单了,只有数据线和地线,正接正转,反接反转,为了方便,本实验采用H桥电路来控制电机的正反转,H桥电路也很简单,就是4个MOS管构成的2路推挽输出电路. 注:基本上大功率器件,单片机基本上是无法驱动的,都是要靠一部分…

微服务实战系列之玩转Docker(十六)

导览 前言Q:基于容器云如何实现高可用的配置中心一、etcd入门1. 简介2. 特点 二、etcd实践1. 安装etcd镜像2. 创建etcd集群2.1 etcd-node12.2 etcd-node22.3 etcd-node3 3. 启动etcd集群 结语系列回顾 前言 Docker,一个宠儿,一个云原生领域的…

Python酷库之旅-第三方库Pandas(189)

目录 一、用法精讲 876、pandas.Index.duplicated方法 876-1、语法 876-2、参数 876-3、功能 876-4、返回值 876-5、说明 876-6、用法 876-6-1、数据准备 876-6-2、代码示例 876-6-3、结果输出 877、pandas.Index.equals方法 877-1、语法 877-2、参数 877-3、功…

mac|安装redis及RedisDesk可视化软件

一、安装 通过Homebrew安装 brew install redis 在安装过程可以得到以下信息: 1、启动redis或重新登陆redis brew services start redis 如果只想在前端运行,而不是在后端,则使用以下命令 /opt/homebrew/opt/redis/bin/redis-server /opt…

内网穿透含义及做法

内网穿透:为在局域网的设备提供一个外网可访问的地址和端口号(可以为域名或IP) 下面的做法我用到两个工具:花生壳(内网穿透工具),网络调试助手(服务器客户端搭建工具) …

二、Go快速入门之数据类型

📅 2024年4月27日 📦 使用版本为1.21.5 Go的数据类型 📖官方文档:https://go.dev/ref/spec#Types 1️⃣ 布尔类型 ⭐️ 布尔类型只有真和假,true和false ⭐️ 在Go中整数0不会代表假,非零整数也不能代替真&#…