理论是一个很好的起点,但要做出划算的选择,需要实际操作。在本节中,您将把所学的云计费模型知识应用到一个常见的机器学习场景中。通过一个具体的例子,您将看到计费模型的选择如何大幅影响训练任务的最终成本。场景:训练一个计算机视觉模型假设您的任务是为一个图像分类任务训练一个计算机视觉模型。以下是此任务的具体信息:工作量: 训练一个ResNet-101模型。所需硬件: 此任务需要一个NVIDIA A10G GPU。预计持续时间: 根据初步基准测试,此训练任务预计运行100小时以达到所需精度。容错能力: 您的训练脚本可靠。它每小时将检查点保存到对象存储,因此即使任务中断,也可以从最后保存的检查点恢复,数据损失极小。这使其适合使用竞价实例。最终模型大小: 最终训练好的模型文件大约为400 MB。工作表:计算成本计算训练任务的预计成本需要考虑多种云计费模型。一个配备A10G GPU的虚拟机实例,其定价将用于说明这一计算过程。服务/实例类型单位价格备注按需实例$1.20 / 小时按秒计费,无承诺。一年期预留实例$0.72 / 小时 (实际费率)需要一年期预付承诺。竞价实例$0.36 / 小时 (平均价格)价格波动;平均70%折扣。竞价中断率每24小时中断1次此工作量的假设。中断开销15分钟从检查点重新启动任务所损失的时间。数据传出费用$0.09 / GB将数据传出云的成本。我们来计算每种选项的成本。计算1:按需计费这是最直接的计算方法,作为我们的基准。成本就是小时费率乘以任务的总持续时间。$$ \text{按需成本} = \text{小时费率} \times \text{持续时间} $$$$ \text{按需成本} = $1.20/\text{小时} \times 100 \text{ 小时} = $120.00 $$按需成本提供了最大的灵活性,无需承诺,但它是最昂贵的选项。计算2:预留实例计费使用预留实例(RI)可以获得显著折扣,以换取长期承诺。对于此任务,我们根据实际小时费率计算成本。$$ \text{预留成本} = \text{实际小时费率} \times \text{持续时间} $$$$ \text{预留成本} = $0.72/\text{小时} \times 100 \text{ 小时} = $72.00 $$与按需价格相比,这节省了40%。然而,请记住,组织承诺为此实例支付一整年的费用。只有当您有持续的工作量来让实例在其承诺期的大部分时间里得到使用时,此选项才是真正划算的。计算3:竞价实例计费竞价实例提供最大幅度的折扣,但伴随中断风险。我们的计算必须考虑此风险,即加上因中断而损失的时间成本。首先,我们来确定在100小时任务运行期间预期的中断次数。$$ \text{中断次数} = \frac{\text{总持续时间}}{\text{每次中断小时数}} = \frac{100 \text{ 小时}}{24 \text{ 小时/中断}} \approx 4.17 $$我们向上取整到5次中断,以保守估计。接下来,计算总开销时间。这是每次中断后重新启动任务所花费的时间。$$ \text{总开销} = \text{中断次数} \times \text{中断开销} $$$$ \text{总开销} = 5 \text{ 次中断} \times 15 \text{ 分钟/中断} = 75 \text{ 分钟} = 1.25 \text{ 小时} $$现在,我们计算总计费时间,其中包括原始持续时间加上开销。$$ \text{总计费时间} = \text{原始持续时间} + \text{总开销} = 100 \text{ 小时} + 1.25 \text{ 小时} = 101.25 \text{ 小时} $$最后,我们得出使用竞价实例的总计算成本。$$ \text{竞价计算成本} = \text{总计费时间} \times \text{平均竞价} $$$$ \text{竞价计算成本} = 101.25 \text{ 小时} \times $0.36/\text{小时} = $36.45 $$不要忘记数据传输成本尽管对于此任务而言这笔费用较小,但数据传出费用是总云成本的重要组成部分。我们来计算下载最终400 MB模型文件的成本。首先,将兆字节(MB)转换为千兆字节(GB)。$$ 400 \text{ MB} = 0.4 \text{ GB} $$现在,计算传出成本。$$ \text{传出成本} = 0.4 \text{ GB} \times $0.09/\text{GB} = $0.036 $$对于单个模型来说,这笔成本可以忽略不计,但对于传输数TB数据的持续部署系统来说,这些费用可能会变得相当可观。为了进行比较,我们将此费用添加到每个总额中。最终按需成本: $120.00 + $0.04 = $120.04最终预留成本: $72.00 + $0.04 = $72.04最终竞价成本: $36.45 + $0.04 = $36.49总结与比较我们来将我们的结果汇总到下表中。计费模型计算成本总成本(含传出费用)相比按需的节省按需$120.00$120.040%预留实例$72.00$72.04~40%竞价实例$36.45$36.49~70%这项分析清楚地表明了财务上的权衡。{"data":[{"x":["On-Demand","Reserved","Spot"],"y":[120.04,72.04,36.49],"type":"bar","marker":{"color":["#339af0","#40c057","#fd7e14"],"line":{"width":0}}}],"layout":{"title":{"text":"100小时GPU训练任务的成本比较"},"xaxis":{"title":{"text":"计费模型"}},"yaxis":{"title":{"text":"总预计成本 ($)"}},"bargap":0.4}}同一个100小时训练任务的总预计成本在不同云计费模型下差异很大。这项实际操作表明了AI基础设施成本管理的一个基本原则。对于容错且非时间敏感的工作量,竞价实例能提供可观的节省。对于可预测的长期需求,预留实例在成本和可靠性之间提供了良好的平衡。按需实例作为一种有价值但昂贵的选项,适用于短期、紧急任务或在承诺长期计划之前的初步开发和基准测试。作为一名基础设施工程师,在启动主要工作量之前进行此类成本预估是一种必不可少的做法。