NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 - 3D道路快速建模
ChatGPT 是大型语言模型 (LLM) 的最新示例,全世界都为之着迷。 因此,每个人都想加入机器学习的行列。 但这到底意味着什么以及涉及的成本是多少?
训练和运行机器学习模型所需的成本和基础设施并不经常被谈论,但它们应该被谈论,因为答案很重要。 但事实证明,这个领域有点雷区……
最新的模型确实非常大,因此计算成本很高。 让我们举一个最近的例子,来自 Meta 的 Galactica。 有些人在发布时批评了它,但我认为其中有一些非常有趣的东西,并且它具有正确用途的真正潜力。 但它很大,而且正如我发现的那样,这带来了挑战。 你可以在随附的预印本中阅读有关Galactica的更多信息。 这肯定是一个有趣的模型。
Meta 在他们的 Galactica 论文中表示,训练是在 128 个 NVIDIA A100 80GB 节点上进行的。 正如我们将看到的,这是一个很豪华的配置。
那么什么是 NVIDIA A100 节点? A100 是一款非常专业的 GPU,不是为游戏而设计,而是为数据中心的繁重机器学习工作负载而设计。 它是世界上最快的深度学习 GPU 之一,单个 A100 的成本约为 15,000 美元。 因此,它远不止作为一个适合你 PC 的精美显卡。
当然,GPU 只是系统的一部分,此类高端 GPU 需要类似的高端 CPU、内存、网络等。NVIDIA 将 DGX A100 作为包含 8 个 A100 GPU 的完整系统出售。 其成本约为 200,000 美元。 我敢打赌我的游戏朋友一定会从中获得乐趣!
鉴于Galactica 需要 128 台 A100,通过一些数学计算,我们可以算出这相当于 16 台 DGX A100。 或者,以货币计算,价值 320 万美元的计算设备!
现在 Galactica 已经很大了,但 OpenAI 的 GPT-3 更大——如果我的数学正确的话,大 16 倍。 我只能想象一下需要什么样的计算来训练它。
公平地说,训练LLM大模型并不便宜,也不是业余爱好者的任务,事实上,它是 Meta、Google、OpenAI 等资金雄厚的组织以及它们赞助的学术机构的领域。 你需要有雄厚的财力才能玩这个游戏。
然而,如果你无法从头开始训练,那么还有另一种选择——微调。 LLM 微调采用现成的训练模型,并使用你的数据在特定领域应用额外的微调层。 结果是原始模型的一个版本在特定任务上表现得更好一些。 微调并不能创造全新的科学,但它确实可以让你建立知识产权护城河,并在如何应用原始科学方面进行创新。
LLM微调的美妙之处在于,你可以在预算允许的范围内做尽可能多或尽可能少的事情——没有最低“入门价格”。 在具有一般 GPU 的云托管服务器上花费几个小时的 GPU 时间就可以完成工作。 从预算角度来看,这可能需要数百美元,而不是数百万美元的原始训练。
但是,如果我们无法将结果托管在某处并使用它(这通常称为推理),那么训练LLM大模型就没多大用处。 我尝试在我的笔记本电脑(顶级 MacBook Pro M1 Max)上运行 Galactica。 Galactica有不同的型号尺寸,我选择了“标准”版本——我甚至懒得尝试“巨大”版本。 然而,提出一个问题的响应时间是几分钟,这是让我的 MacBook 预热的少数事情之一 - 这显然需要一个更强大的系统才能实用!
Meta 声称他们在单个 A100 节点上运行 Galactica,这比我的笔记本电脑要贵一些。 但你可能不想购买 GPU 并自己托管机器 - 如今一切都在云中。
那么,在 AWS 上启动基于 A100 的服务器的成本是多少? 这将是一个 EC2 P4 实例,其费用为 287,065 美元/年。 这看起来很多,所以让我们看看其他地方。
HuggingFace 作为高度专业化的机器学习推理云已经变得非常流行。 查看他们的定价,我可以看到 A100 GPU 被标记为“即将推出”,但没有定价,这很遗憾。 第二便宜的 GPU 是 NVIDIA T4,价格为 4.50 美元/小时。 NVIDIA 自己的指标显示 T4 的推理速度比 A100 慢 10 倍以上,因此使用 T4 执行Galactica可能会非常慢。
不过,为了让我们了解一下成本,如果我们想要一台每年 365 天、每天 24 小时都能立即使用的 T4,那么每年的费用将是 39,420 美元。 如果你是一家初创公司,希望将 ML 模型作为实验性功能纳入你的应用程序中,那么这是一笔可观的现金,而 A100(当它可用时)将更加昂贵。 作为参考,AWS 上的 NVIDAI T4 成本在 4.6 万美元到 3.8 万美元之间,具体取决于机器的规格。 所以 HuggingFace 看起来可能有点贵,尽管很方便。
但是……令人惊讶的是,用于 ML 工作负载的 GPU 托管现在正在呈爆炸式增长,涌现出大量你从未听说过的新进入者。 我遇到了Banana,看起来很有趣。 Banana 上 A100 的每年托管成本为 16,396 美元,比更传统的托管选项便宜得多。 还有其他类似的初创公司提供廉价的 GPU 托管,例如 Slai、Pipeline、Replicate 和 Cerebrium。
然而,我很可能并不真的需要我的模型 24x7 运行。 对于很多用例来说,昂贵的 GPU 在很多时候都会闲置。 如果我们可以在它不活跃时将其降低,我们可能可以节省很多钱。 对于许多机器学习用例来说,这是完全有可能的。 重新旋转时会有短暂的延迟,但通常只有几秒钟,对于许多用途来说这是可以接受的。
如果我们能够避免向上/向下旋转,我们就可以避免对专用服务器的需要,并且只需在我们的模型运行时自动管理像 Banana 这样的东西。 我可能只需要 GPU 在大约 10% 的时间内处于活动状态,如果是这样,我的托管成本将直接降至更易于管理的 1600 美元/年。
👉 你看到我们刚刚做了什么吗?
我们的训练费用从 320 万美元降至微调费用几百美元。 然后,我们的托管成本从每年近 30 万美元降至近 1600 美元/年。
对于某些人来说,大额账单是必不可少的,这是有充分理由的。 但对于那些预算紧张的人来说,选择更具成本效益的选择可能是更好的途径。
为了进行测试,我在 Banana 上构建了一个Galactica模型。 但当我尝试了几个问题后,我对结果有点失望。 事实证明,Banana 只能托管使用最多 16GB 内存的模型,因此他们的标准Galactica部署使用“基本”模型。 “基础” Galactica (1.3b) 明显小于获得最佳结果所需的“巨大”模型 (120b)。 检查Galactica文档,我发现即使是“大型”模型也需要 60GB 内存,所以看起来我不太幸运能在 Banana 上托管它。 😔
如果我无法在 Banana 上托管Galactica,我可以托管什么? 提供的模型包括 Stable Diffusion、Dreambooth 和 Whisper(OpenAI 的语音转文本模型)——因此有一些非常热门且有用的模型。 看起来只是不是超大的LLM。 碰巧的是,我继续在 Banana 上使用稳定扩散模型。 太棒了——模型在使用时会旋转,然后在 10 秒后再次降下来。 我只在模型处于活动状态时收取费用,这在专用服务器上大大减少了。
显然,托管大型模型突破了界限。 我仍在研究如何经济高效地托管Galactica ——如果你有任何想法,请告诉我。 然而,对于要求稍微温和的模型,现在可以非常经济高效地运行这些模型。
如果你正在考虑托管 ML 模型,那么值得尽早仔细查看你的要求和托管选项 - 答案可能会决定具体的业务案例的成败。 你很容易就会觉得自己需要花很多钱,但其实你可能并不需要! 或者,也许更糟糕的是,直到你花费了大量精力来构建一个无法运行的解决方案之前,才了解所涉及的全部成本。
原文链接:Exploring machine learning hosting costs — and how to cut them by 90%
BimAnt翻译整理,转载请标明出处