ChatGPT AI使用成本
LLM “经济学”:ChatGPT 与开源模型,二者之间有哪些优劣权衡?谁的部署成本更低?
太长不看版:对于日均请求在 1000 次左右的低频使用场景,ChatGPT 的实现成本低于部署在 AWS 上的开源大模型。但面对每天数以百万计的请求,在 AWS 上部署开源模型则成本更低。(结论适用于 2023 年 4 月 24 日本文撰稿时。)

用图表比较不同大语言模型间的实现成本
大语言模型正席卷全球。随着 2017 年 Transformers 的推出,BERT、GPT 和 BART 等突破性模型开始陆续亮相,凭借亿级参数在情感分析、问答、分类等语言任务当中带来了前所未见的强大能力。
几年之前,OpenAI 和谷歌的研究人员曾经整理出多篇论文,表明拥有超百亿参数的大语言模型出现了“涌现”能力。简言之,它们似乎能够理解语言中种种复杂微妙之处,并获得了与人类相似的情境反应。

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。

使用 API Gateway 加 Lambda 调用 SageMaker 模型端点。
当客户端对 API Gateway 执行 API 调用时就会触发 Lambda 函数,并在完成函数解析之后将其发送至 SageMaker 端点。之后由模型端点执行预测,把信息发送至 Lambda。Lambda 再做解析,将结果发送至 API 并最终返回至客户端。
SageMaker 的实际成本往往直接取决于用于托管模型的计算实例类型。大语言模型体量可观,自然要用到容量极大的计算实例。

各种 SageMaker 实例类型价格表。
例如,AWS 就专门发布一篇教程,介绍了如何部署一套包含 200 亿参数的 Flan UL2 模型。
文章中使用的是 ml.g5.4xlarge 实例。虽然上表的 SageMaker 定价并没有列出这个特定实例的价格,但粗略估算成本大约在每小时 5 美元左右。这就相当于每天 150 美元上下!而且这还只是托管实例的部分,我们还没算上 Lambda 和 API Gateway 的费用。
下面来看 AWS Lambda 部分的成本,它的价格由内存用量和请求频率决定。

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

AWS API Gateway 价目表。
如大家所见,API Gateway 倒是非常便宜,每百万条请求只需 1 美元。
也就是说,在 AWS 上托管像 Flan-UL2 这样的开源大模型,每天 1000 请求时的成本为 150 美元,每天 150 万请求则为 160 美元。
但我们有必要选择这么昂贵的计算实例吗?对于像 BERT 这样亿级参数的小语言模型,选择 ml.m5.xlarge 这类更便宜的实例就足够了,其每小时成本仅为 0.23 美元,全天只合约 5 美元。与所谓能够理解语言中细微差别的大模型相比,这些小模型也已经相当强大,还能针对特定任务和训练数据进行微调。
*写在最后*
那么,到底是商用大模型好还是开源大模型好?OpenAI 的 GPT 家族到底有没有性价比?最终答案还是要看大家的实际需求:

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

开源大模型的优势和短板
注意:因为这个领域仍在快速发展,所以在规模化需求的推动之下,大语言模型的部署成本很可能会快速下降。而且虽然开源大模型的托管比较复杂,但像 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] 为保证数据私密性,…...
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…...
提升应届生职场竞争力:有效策略和关键推动因素
应届生进入职场是一个关键的阶段,他们需要通过有效的方法和策略来提高自己的竞争力,以适应职场的挑战并取得成功。以下是一些可以帮助应届生提升竞争力的方法和策略,以及对其职场发展起到关键推动和支撑作用的方面。 学习和继续教育ÿ…...
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)
前提须知: (1)搜索镜像命令 格式:docker search 镜像名 (2)设置Docker镜像加速器 详见文章:Docker设置ustc的镜像源(镜像加速器) 1、部署MySQL 拉取镜像(这…...
给大家介绍四款最受欢迎的抓包神器
身为互联网人,无论在平时开发还是在测试过程中,我们都不可避免的会涉及到网络安全性,如何监测网络请求,从而最大程度的保证数据的安全,需要我们了解并掌握抓包的技巧。那么何谓抓包呢?抓包就是将网络传输发…...
解决Reids过期方案 游标遍历清除Redis过期的key
游标遍历清除Redis过期的key 为什么要清除Redis过期的Key Redis的过期清理是一种懒惰的清理方案,他不会过期后立刻清除,而是在Key被访问的时候进行删除,Redis这么做的目的就是为了提高性能降低资源开销。 具体来说,一个K…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...
