原文:Understand the pricing of GPT-3[1]
作者:Cheng He(Mosaix 联合创始人)
译者:青苹果
GPT-3(Generative Pre-training Transformer)是自然语言处理(NLP, Natural Language Processing)领域迄今最大的 Transformer 模型,超过之前的记录——微软研究院 Turing-LG 的 170 亿参数——约 10 倍。
目前,GPT- 3 在许多 NLP 数据集上都取得了很强的性能,包括翻译、问答以及一些需要即时推理或领域适应的任务。而在一周前,OpenAI 发布了访问 GPT- 3 服务的定价计划。为了进一步了解这些定价层次的含义,应用程序的月成本,以及对业务决策的影响,在此分享一些最新发现。
GPT- 3 的定价概念
根据官方信息,GPT- 3 的定价分为了 4 个阶梯:探索(Explore)、创造(Create)、构建(Build)和规模化(Scale)。
其中有一个你需要了解的付费概念,那就是 tokens。
那么,什么是 tokens?与 words 有区别?
在文本字符串标记化(Tokenization algorithms)中,文本会切分成字符串序列,其元素一般称为 token。tokens 是词 words 的一部分,也可以称为 subwords。在 NLP 领域中,借助 tokens 来处理 unknown words 也可以提高效率(通过合并 subwords 来处理更多的 words)。
例如,单词“lower”可拆分为“low”、“er”两个 token,单词“Descartes”可拆分为“Desc”、“art”和“es”三个 token,而简短常见的单词“pear”则以整体形式作为单个 token 出现。就英文文本平均而言,一个 token 相当于 4 个字符。如果你对不同的标记化算法感兴趣,可以查阅 Daniel Jurafsky 的字节对编码和讲座。
通常,你会从输入的单词中生成更多的 tokens。以全套莎士比亚文集作为参照,总词数约 90 万,共有 120 万 token。根据官方的 OpenAI API 文档,当前的提示长度限制为 2048 个 token,转换为 words 约 1500 个。
由此可得,token 与 word 的比率约为 1.4。这也就意味着提示符中的每个 word,可以看做 1.4 个 token。
为了获得更准确的 token 数量,可以使用 huggingface 的 Transformer 库中的标记器功能,或者使用预先构建的 token 估计器来获得更准确的 token 计数估值。
例如,使用以下提示将 max_token 设置为 64,可以得到 287 个 token 用于此预测。
假设每个查询需求使用 1000 个 token,包括请求中的提示 tokens 和预测响应中的 max_tokens,根据特定应用程序调整每个 API 调用完成的 token 数量,比如说某些 QA 提示可能少于 1000 个 token,可以在“探索”阶段免费发送 100 个查询。而在“创造”阶段,每月 100 美元大约可以发送 2000 个 API 调用,每个 API 调用收取 5 美分,超出限额的 API 调用收取 8 美分。
这有助于了解每层包含的查询数量以及每个 API 调用的单价。要获得总成本估算,还可以通过获取应用程序一个月内的 token 总数来细分价格,如果超出了层中的可用 token,则添加额外的费用。否则,你只需支付每月的订阅费。
例如,“创造”选项中,每月需要为 2M tokens 支付 100 美元,每额外增加 1K tokens 则需要支付 8 美分。价格微调包含在“规模化”计划内,目前仅适用于选定的用户和应用程序。
实际案例对比
让我们通过对两个具体案例的分析,进一步估算将 GPT- 3 集成到应用程序中的总成本。
实例 1——PhilosopherAI.com 在 3 周内使用了大约 4 亿个 token,根据迄今为止的查询数量(750K),估算每月花费 4000 美元。
实例 2——假设我们要构建一个文本分类应用程序来实时分析客户的反馈,可以对比 AWS ML service Comprehend 和 GPT- 3 这两大平台的成本。
1、AWS Comprehend
AWS Comprehend 作为一种自然语言处理(NLP)服务,可以用机器学习(ML,Machine Learning)来查找文本数据中的见解和关系,还可以提供像关键字提取这样的高级功能。
假设每分钟有 10 个客户输入反馈,每次反馈为 300 个字符。
推理成本为:吞吐量为 50 个字符 / 每秒 (每个用户反馈 300 个字符 * 每分钟 10 个反馈 / 60 秒)。我们需要至少有一个推理单元(IU, inference unit) 的配置和 endpoint,它可以每秒处理 100 个字符,1 个推理单元的价格是每秒 0.0005 美元。
每天运行 12 小时推理 endpoint,因此推理成本为 21.6 美元(每秒 0.0005 美元 * 每小时 3600 秒 * 12 小时)。每月推理总成本为 648 美元(每天 21.6 美元 * 30 天)。
训练成本为:训练模型每小时的成本为 3 美元,假设每月有 20 个小时的训练时间,每月训练总成本为 60 美元。
模型管理成本为:模型存储每月成本为 0.5 美元
因此,每月总成本为 708.5 美元(推理 $648+ 训练 $60+ 存储 $0.5)。注意,数据收集和标注不包含在内,两者属于该项目的另一项主要成本。
2、GPT-3
假设我们使用“构建”的定价,即每月 400 美元可以支付 10 M 个 tokens,每增加 1k 个 tokens 收费 0.06 美元。
token 估算为:用户每天产生 4,320,000 个字符(每个反馈 300 个字符 * 每分钟 10 个客户 * 每天 1440 分钟)。将字符转换为 token 形式,每天大约为 1,080,000 个 token(在英文文本中,平均 1token 约为 4 个字符)。每月的 token 数为 32,400,000(1,080,000 * 30 天)。
总 tokens 减去按阶梯定价计算的 10M tokens,剩下的 22,400,000 个 token 按 1k tokens 收取 0.06 美元,费用为 1,344 美元(22,400,000 / 1000 * $0.06)。
GPT- 3 的总成本为 1744 美元 (月订阅费 $400+ 额外费用 $1344)。
也就是说,在 AWS ML service Comprehend 和 GPT- 3 客户反馈分类应用程序的每月费用对比中,前者费用为 708.5 美元(不含数据准备费用),后者为 1,744 美元。
那么,你的应用程序应该如何用 GPT-3?
乍一看,将 GPT- 3 集成到应用程序中的成本并不便宜,更不用说还有微调的成本。那么,如何判定该不该为你的产品购买 GPT-3? 如何更好地使用它?以下是本人的一些想法:
1、选择价值高、影响大的 ML 任务
与其它的 ML 项目一样,首先是找出问题,评估资源和风险,然后选择最有价值或最有成效的 ML 任务(这一决策过程也与应用程序类型、业务需求和价值紧密相关)。
一般来说,如果有一项脑力任务,一位员工能在不到一秒钟的时间内完成,这项任务或许适合借助 AI 将其自动化。而如果是使用 GPT-3,我们发现它可以出色地完成一些即使是人类也无法在几秒钟或几分钟内完成的任务,例如电子邮件摘要和自动生成、重建和扩展实体之间的关系、将复杂的语义查询解析为最终结果。
对于那些难以获得训练数据或需要更多脑力劳动才能完成的任务,使用 GPT- 3 效果会很好。
2、用评估指标跟踪质量
无论是使用 GPT- 3 还是当前的 ML pipeline,我们都需要一些方法来定性地衡量预测质量。可以使用精度(accuracy)、F1 值等评价指标,用相同的度量来评估系统的质量。
对于 ML 团队来说,不同之处在于,他们不用在 dev/test 数据集上开发出表现良好的系统或模型架构,团队需要做的,是不断了解并调整系统提示(也称为 prompt engineering),以使 GPT- 3 预测实现具体的产品质量指标。
GPT- 3 时代 ML 团队的角色和职责变化的详细信息,请参阅先前的文章《when GPT-3 as a service》[2]。
3、通过分析错误了解风险
GPT- 3 预测并非总是正确或一致的,有时候,直接交付给最终用户的预测可能是带有风险 (敏感或不安全的)。因此,利用 OpenAI 的内容过滤 API 或设置后滤波(post-filtering)服务对预测分类非常重要,将预测分类设置为安全、敏感、不安全三个级别,并在此基础上采取进一步操作。
正如传统的 ML pipeline 错误分析一样,该分析旨在识别最有前景的方向并由此迭代地提高系统质量。对于 GPT-3,这部分的大量工作用于改进提示(提示工程),而不是改进模型体系结构或算法。
除了错误分析、提示工程、热修复(hot-fix)pipeline 可能也有助于减少潜在的风险。
4、成本收益分析
作为用户是否在产品中使用 GPT- 3 的最重要决定因素之一,我们需要列出与项目相关的总成本和收益的综合清单。
在成本方面,除了上述对模型训练、推理和管理成本的估计,还需要考虑数据收集和标签成本、人力资本成本(工程师、科学家、PM 工时)、ML 基础维护成本等因素。
在收益方面,需要考虑使用 GPT- 3 带来的直接收益、取代传统 ML 管道所节省的成本、使用 GPT- 3 获得的竞争优势或市场份额,以及其他无形收益。基于上述信息,可以系统地了解使用 GPT- 3 进行战略选择的成本和收益。
GPT- 3 在很多任务上都让人惊叹不已,但要把它从原型到产品,仍然需要遵循一个框架,从技术和业务两方面指导完成整个项目生命周期。
希望本文能帮助你更好地理解 GPT-3 API 宣布的定价计划,相信不同阶段的价格和收益都会随着开发者社区的反馈而不断发展。关于是否在项目中使用 GPT-3,希望上面的实例和框架可以提供一些有价值的参考和指导。
附:文章重点总结
1、Token 定价规则要点:
•典型的 token 与 word 的比率为 1.4•英文文本中平均 1 个 token 约为 4 个字符•输入提示和预测文本均计入 token•每个查询平均消耗 1000 个 token•每个查询的价格从 4 美分到 8 美分不等,具体取决于层和是否超额使用
2、更好的使用 GPT-3
• 选择价值高 / 影响大的 ML 任务开展工作• 用评估指标跟踪质量• 分析错误以了解风险• 必要的成本和收益分析(文章有基于原意的删改)
Refrence:
[1]https://medium.com/@chengh/understand-the-pricing-of-gpt3-e646b2d63320
[2]https://medium.com/swlh/when-gpt-as-a-service-65b0676fc095
相关阅读:
[1]
GPT-3 实测者报告 | 限制明显,保持理性(附 API 调用方法)
[2]
从编码到输出,手绘图逐层拆解 GPT-3 结构
原文链接:https://www.bilibili.com/read/cv7708632