当前位置: 首页 > news >正文

ChatGPT AI使用成本

LLM “经济学”:ChatGPT 与开源模型,二者之间有哪些优劣权衡?谁的部署成本更低?

太长不看版:对于日均请求在 1000 次左右的低频使用场景,ChatGPT 的实现成本低于部署在 AWS 上的开源大模型。但面对每天数以百万计的请求,在 AWS 上部署开源模型则成本更低。(结论适用于 2023 年 4 月 24 日本文撰稿时。)

img

用图表比较不同大语言模型间的实现成本

大语言模型正席卷全球。随着 2017 年 Transformers 的推出,BERT、GPT 和 BART 等突破性模型开始陆续亮相,凭借亿级参数在情感分析、问答、分类等语言任务当中带来了前所未见的强大能力。

几年之前,OpenAI 和谷歌的研究人员曾经整理出多篇论文,表明拥有超百亿参数的大语言模型出现了“涌现”能力。简言之,它们似乎能够理解语言中种种复杂微妙之处,并获得了与人类相似的情境反应。

img

GPT-3 论文称,大语言模型拥有令人印象深刻的学习能力。

GPT-3 论文提到,参数在 10 亿至 1000 亿级别的模型只需几十个提示词,即可展示出令人印象深刻的学习能力。

然而,这些大模型也极耗资源,导致在经济意义上难以实现规模化部署。但这一切随着 ChatGPT 的到来而宣告终结。

就在 ChatGPT 发布后不久,OpenAI 又开放了 ChatGPT API,允许开发人员在自己的应用程序中接入 ChatGPT。

现在大模型的规模成本和经济可行性如何,让我们一起算算这笔账:

*ChatGPT API 使用成本*

ChatGPT API 的价格随使用方式而变化。其成本为每 1000 个 token 计费 0.002 美元。每个 token 约为一个英文单词的 3/4,就是说,一条请求内的 token 数量等于提示词 + 所生成的输出 token 的总和。

假定大家每天需要处理 1000 个小文本块,每个文本块对应一页文本(即 500 个单词,约合 667 个 token),那么日均成本就是 0.002 美元 /1000x667*1000= 约 1.3 美元。听起来还可以!

但如果每天需要处理上百万份这类文档,情况又会如何呢?那计算下来就是日均 1300 美元,每年约 50 万美元!达到这个规模,ChatGPT 就从酷炫的玩具一下子成了沉重的业务运营负担!(当然,能否靠它赚到更多的钱另说。)

*开源生成式模型*

在 ChatGPT 赢得众人惊叹之后,一系列开源项目也相继问世。

Meta 发布了 LLaMA ,一个具有数十亿参数的大语言模型,且性能优于 GPT-3。斯坦福随后在 52K 指令遵循演示中对 LLaMA 的 7B 版本做了微调,最终得出的 Aplaca 模型同样胜过 GPT-3。

一组研究人员最近还展示了名为 Vicuna 的 13B 参数微调版 LLaMA 模型,其表现已达 ChatGPT 的九成功力以上。而且企业选择开源生成式模型,而不用 OpenAI 家 GPT 系列模型的理由也有很多。可能是不满于 OpenAI 的服务经常中断,可能是开源大模型更易于定制,也可能是使用成本更有优势。

虽然开源模型可以免费使用,但用于托管和部署模型的基础设施却不可能凭空得来。

BERT 这类早期 transformer 模型倒是可以在装有高配 CPU 和普通 GPU 的个人计算机上轻松运行和微调,但如今的大语言模型却需要更多资源。一种常见的解决方案,是使用 AWS 等云服务商托管和部署这类模型。

那么,免费的开源模型在 AWS 那边到底会产生多少成本?

*AWS 成本分析*

首先,我们得先明确部署模型并以 API 的形式开放服务所对应的 AWS 标准架构。这通常分为三个步骤:

\1. 使用 AWS SageMaker 将模型部署为端点。

\2. 将这个 SageMaker 端点接入 AWS Lambda。

\3. 通过 API Gateway 将此 Lambda 函数开放为 API。

img

使用 API Gateway 加 Lambda 调用 SageMaker 模型端点。

当客户端对 API Gateway 执行 API 调用时就会触发 Lambda 函数,并在完成函数解析之后将其发送至 SageMaker 端点。之后由模型端点执行预测,把信息发送至 Lambda。Lambda 再做解析,将结果发送至 API 并最终返回至客户端。

SageMaker 的实际成本往往直接取决于用于托管模型的计算实例类型。大语言模型体量可观,自然要用到容量极大的计算实例。

img

各种 SageMaker 实例类型价格表。

例如,AWS 就专门发布一篇教程,介绍了如何部署一套包含 200 亿参数的 Flan UL2 模型。

文章中使用的是 ml.g5.4xlarge 实例。虽然上表的 SageMaker 定价并没有列出这个特定实例的价格,但粗略估算成本大约在每小时 5 美元左右。这就相当于每天 150 美元上下!而且这还只是托管实例的部分,我们还没算上 Lambda 和 API Gateway 的费用。

下面来看 AWS Lambda 部分的成本,它的价格由内存用量和请求频率决定。

img

AWS Lambda 价目表。

假定 5 秒之内向用户返回响应即可,那么考虑到将数据路由至 AWS SageMaker 端点的需求,128 MB 内存就够了。这样对于每 1000 条请求,成本为 5*.12810000.0000166667 美元 = 0.01 美元。如果按 100 万条请求计算,则费用为 10 美元。

最后是 API Gateway 部分的成本:

img

AWS API Gateway 价目表。

如大家所见,API Gateway 倒是非常便宜,每百万条请求只需 1 美元。

也就是说,在 AWS 上托管像 Flan-UL2 这样的开源大模型,每天 1000 请求时的成本为 150 美元,每天 150 万请求则为 160 美元。

但我们有必要选择这么昂贵的计算实例吗?对于像 BERT 这样亿级参数的小语言模型,选择 ml.m5.xlarge 这类更便宜的实例就足够了,其每小时成本仅为 0.23 美元,全天只合约 5 美元。与所谓能够理解语言中细微差别的大模型相比,这些小模型也已经相当强大,还能针对特定任务和训练数据进行微调。

*写在最后*

那么,到底是商用大模型好还是开源大模型好?OpenAI 的 GPT 家族到底有没有性价比?最终答案还是要看大家的实际需求:

img

付费服务模型的优势和短板。

img

开源大模型的优势和短板

注意:因为这个领域仍在快速发展,所以在规模化需求的推动之下,大语言模型的部署成本很可能会快速下降。而且虽然开源大模型的托管比较复杂,但像 BERT 这类亿级参数的小语言模型在特定任务上仍是个很好的选择。

从性能上看,ChatGPT 和 GPT-4 的响应质量确实比开源大模型强一些。但开源模型阵营也在迎头赶上,所以我们将有越来越坚定的理由选择这一派。

首先,企业希望根据特定数据源对开源模型做微调。在经过针对性微调之后,开源模型的性能往往会反超专为通用场景打造的 ChatGPT 及其他 OpenAI 后续模型。事实证明,BloombergGPT 等领域特定模型已经成为生成式 AI 世界中一股不容忽视的重要力量。

最后,希望 OpenAI 不会进一步提高 ChatGPT API 的价格。毕竟跟早期的 GPT-3 API 相比,ChatGPT API 在亮相之初就把价格压到了十分之一的水平,但愿 OpenAI 能继续保持住这样的优良传统。

相关文章:

ChatGPT AI使用成本

LLM “经济学”:ChatGPT 与开源模型,二者之间有哪些优劣权衡?谁的部署成本更低? 太长不看版:对于日均请求在 1000 次左右的低频使用场景,ChatGPT 的实现成本低于部署在 AWS 上的开源大模型。但面对每天数以…...

腾讯云与中电金信发布联合核心方案

5月11日,以“聚力革新,行稳致远”为主题的 “腾讯金融云国产化战略峰会”在北京举办,来自金融业、科技侧、研究机构的专家学者同聚一堂,共同探讨银行核心下移方法论以及国产化转型实践等话题。会议期间,中电金信副总经…...

老胡的周刊(第090期)

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 🎯 项目 privateGPT[2] 为保证数据私密性&#xff0c…...

2023-数仓常见问题以及解决方案

01 数据仓库现状 小 A 公司创建时间比较短,才刚过完两周岁生日没多久;业务增长速度快,数据迅速增加,同时取数需求激增与数据应用场景对数据质量、响应速度、数据时效性与稳定要求越来越高;但技术能力滞后业务增长&…...

没关系,前端还死不了

前言 网络上的任何事情都可以在《乌合之众》书中找到答案。大众言论没有理性,全是极端,要么封神,要么踩死。不少人喷前端,说前端已死?前端内卷?前端一个月800包吃住? 对此我想说,“…...

OpenSSL-基于IP或域名生成自签名证书脚本

个人名片: 对人间的热爱与歌颂,可抵岁月冗长🌞 Github👨🏻‍💻:念舒_C.ying CSDN主页✏️:念舒_C.ying 个人博客🌏 :念舒_C.ying 一、安装 需要安装并配置Op…...

如何在C#中创建和使用自定义异常

C#是一种强类型语言,可以捕获和处理各种异常,从而帮助我们发现程序中出现的错误。在程序开发过程中,如果需要找到特定的错误情况并处理,这时就需要创建自定义异常。下面介绍一下如何在C#中创建和使用自定义异常。 1、什么是异常&…...

通过systemctl管理服务

文章目录 通过systemctl管理服务通过systemctl管理单一服务(service unit)使用案例服务启动/关闭/查看的练习关于systemctl命令启动/停止服务后面的后缀名是否加? 通过systemctl查看系统上所有的服务使用案例 通过systemctl管理不同的操作环境(target unit)使用案例…...

面经|小红书经营分析师

感觉面试官还挺严肃的,并且猎头说因为工作经验不够是外包岗位。 但是没想到最后败在了SQL上,很久没刷题了 平时工作中还是需要想下给公司整体带来的收益结果是什么,实际工作中不一定会用到,但是要有这个思路,面试的时候…...

abpvnext后台工作者使用quartz扩展的一些思路和使用细节记录--(未完待续)

需求背景描述: 我有一个温湿度数据采集的物联网系统,每个租户都需要定时执行若干种任务, 不同的租户, 他定时执行的间隔不一样 ,比如 A租户,数据保存间隔60秒,数据是否超限的轮询间隔是是600…...

提升应届生职场竞争力:有效策略和关键推动因素

应届生进入职场是一个关键的阶段,他们需要通过有效的方法和策略来提高自己的竞争力,以适应职场的挑战并取得成功。以下是一些可以帮助应届生提升竞争力的方法和策略,以及对其职场发展起到关键推动和支撑作用的方面。 学习和继续教育&#xff…...

PBDB Data Service:List of fossil collections(化石采集记录列表)

List of fossil collections(化石采集记录列表) 描述用法参数以下参数可用于按各种条件查询集合。以下参数可用于筛选所选内容以下参数还可用于根据分类筛选结果列表以下参数可用于生成数据存档您可以使用以下参数选择要检索的额外信息,以及要…...

centos安装SNB服务

Samba 是一种开源软件,它提供了一种让 Linux 和 Unix 系统与 Windows 操作系统相互通信的标准协议。Samba 允许 Linux 和 Unix 系统作为文件服务器和打印服务器,提供 Windows 客户端所需的服务。 具体来说,Samba 通过实现 SMB/CIFS 协议来实现…...

课程《JavaWeb基础框架程序设计》考试题下篇——数据库与表单操作用题(人事管理平台的添加员工档案信息的操作题)

文章目录 📋前言🎯第三题(40分)🎯报错以及解决方法📝最后 📋前言 这篇文章是大学课程《JavaWeb基础框架程序设计》考试题目的内容,包括了原题和答案。题目只包括了三道编程题&#…...

Linux-初学者系列——篇幅4_系统运行相关命令

系统运行相关命令-目录 一、关机重启注销命令1、重启或者关机命令-shutdown语法格式:常用参数:01 指定多久关闭/重启系统02 指定时间关闭/重启系统03 实现立即关闭/重启系统04 取消关闭/重启系统计划 2、重启或者关机命令-halt/poweroff/reboot/systemct…...

无缝集成:利用Requests库轻松实现数据抓取与处理

目录 引言安装基本用法发送HTTP请求处理HTTP响应高级功能总结 引言 Requests是Python中一个常用的第三方库,用于向Web服务器发起HTTP请求并获取响应。该库的使用简单,功能强大,被广泛应用于网络爬虫、API访问、Web应用开发等领域。 本文将介…...

几种内部排序算法的cpp代码实现与分析

零、测试函数 typedef void (*SortFunc) (int*&, int);inline void swap(int &a, int &b) {int tmp a;a b;b tmp; }inline void printArr(int* a, int n) {for (int k 0; k < n; k) {std::cout << a[k] << ;}std::cout << std::endl; }…...

第3天学习Docker-Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos)

前提须知&#xff1a; &#xff08;1&#xff09;搜索镜像命令 格式&#xff1a;docker search 镜像名 &#xff08;2&#xff09;设置Docker镜像加速器 详见文章&#xff1a;Docker设置ustc的镜像源&#xff08;镜像加速器&#xff09; 1、部署MySQL 拉取镜像&#xff08;这…...

给大家介绍四款最受欢迎的抓包神器

身为互联网人&#xff0c;无论在平时开发还是在测试过程中&#xff0c;我们都不可避免的会涉及到网络安全性&#xff0c;如何监测网络请求&#xff0c;从而最大程度的保证数据的安全&#xff0c;需要我们了解并掌握抓包的技巧。那么何谓抓包呢&#xff1f;抓包就是将网络传输发…...

解决Reids过期方案 游标遍历清除Redis过期的key

游标遍历清除Redis过期的key 为什么要清除Redis过期的Key ​ Redis的过期清理是一种懒惰的清理方案&#xff0c;他不会过期后立刻清除&#xff0c;而是在Key被访问的时候进行删除&#xff0c;Redis这么做的目的就是为了提高性能降低资源开销。 ​ 具体来说&#xff0c;一个K…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...