虽然日常用不了,但是可以简单了解下

预训练成本

$预训练成本 = ( 模型参数量 ✖️ 6 /A100 卡每秒的计算次数) ✖️ 显卡的租用成本 ✖️ 训练数据的 token 量$

  • 常量

    • A100 卡每秒的计算次数 = 312 TFLOPS/Watt (官方公布,每秒可以进行 312T 次浮点数计算)

    • 显卡租用成本:暂时以微软 Azure 云上公布的 Nvdia A100 的三年期租用价格$2.2659/小时计算,本文按秒来计算,就是每秒租用价格为$(2.2659/3600) (参考 https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/#pricing)

eg:

  • GPT3 的参数量是 175B,训练数据的 token 量 500B,约 105 万美元*5 折,约 372.75 万元。
  • GPT4 的参数量是 1800B,训练数据的 token 量 13T, 费用是 GPT3 的 280 倍,约 1.45 亿美元,人民币 10 亿元。
  • GPT4 Turbo 的参数量是 8*222B ,训练数据的 token 量 13T,费用与 GPT4 差不多。

推理成本

$$ \text{推理成本(每千个token)} = \frac{\text{模型参数量} \times 2 \times \text{每次推理所需token数}}{\text{GPU每秒计算次数} \times \text{显卡租用成本}} $$

$$ \text{单位token推理成本} = \frac{\text{推理成本(每千个token)}}{\text{batch size}} $$

$$ \text{并行化推理成本} = \frac{\text{单卡推理成本}}{\text{并行卡数}} $$

$$ \text{优化后推理成本} = \text{并行化推理成本} \times (1 - \text{优化效率}) $$

其中:

  • 模型参数量是指模型中的可训练参数总数。
  • 每次推理所需token数是指每次推理过程中模型需要处理的token数量。
  • GPU每秒计算次数是指GPU在一秒内能够完成的浮点运算次数。
  • 显卡租用成本是指租用GPU进行计算的成本。
  • batch size是指每次推理可以同时处理的样本数量。
  • 并行卡数是指用于并行化推理的GPU数量。
  • 优化效率是指通过模型压缩、硬件加速等方法提高效率的比例。

请注意,这个公式是一个简化的示例,实际的推理成本计算可能需要考虑更多的因素,如模型的具体架构、硬件的具体性能、电力成本、运维成本等。

eg:GPT4 Turbo

根据之前提供的搜索结果,我们可以构建一个简化的计算公式来估算GPT4 Turbo模型的推理成本。请注意,实际成本可能会因各种因素(如电力消耗、冷却系统、人工维护等)而有所不同,但以下公式提供了一个基本的估算方法。

首先,我们需要以下参数:

  • 模型参数量(( P )):GPT4 Turbo的参数量为8,222亿(即 $8.222 * 10^{11}$ )。
  • 每次推理所需token数(T ):假设为1,000(即1千个token)。
  • GPU每秒计算次数( C ):假设使用NVIDIA A100 GPU,其计算次数可以是一个估算值,例如每秒可以处理的浮点运算次数。
  • 显卡租用成本( R ):假设租用成本为每小时一定金额,例如每小时3.93美元。

根据搜索结果中的一个示例,我们可以构建如下公式: $ \text{每千个token推理成本} = \frac{P \times T}{C \times R} $

将示例中的值代入公式:

  • $ P = 8.222 \times 10^{11} (模型参数量)$
  • $ T = 1,000 (每次推理所需token数)$
  • $C$ 假设为 $10^{14} $(A100 GPU每秒的计算次数,这是一个示例值,实际值可能不同)
  • ( R = 3.93 )(每小时的租用成本,以美元计)

计算公式变为: $ \text{每千个token推理成本} = \frac{8.222 \times 10^{11} \times 1,000}{10^{14} \times 3.93} $

进行计算: $\text{每千个token推理成本} = \frac{8.222 \times 10^{14}}{3.93 \times 10^{14}}$ $\text{每千个token推理成本} \approx 2.09 \text{美元} $

这个计算结果是一个简化的估算,实际成本可能会更高,因为还需要考虑其他因素,如电力成本、冷却系统成本、运维成本以及可能的优化方法等。此外,实际的GPU计算次数和租用成本可能会根据具体使用情况和供应商而有所不同。