开发大模型应用要不要自建大模型,看完这篇再决定

火山方舟向量数据库大模型

动手点关注

picture.image

干货不迷路

picture.image

标题 | You don’t need hosted LLMs, do you?

作者 | Sergei Savvov

在当前LLM应用开发的热潮里,可以随处看到很多文章,比如 "微调自己 LLaMA/Falcon/其他热门LLM"、"训练自己的私人ChatGPT"、"如何创建本 地 LLM "等内容。

与此同时,却很少有人探讨为什么需要这么做。是否真的确定需要自己托管LLM ?或许OpenAI API才是最佳选择。

picture.image

在本文中,作者将从成本、文本生成质量、开发速度和隐私等方面比较使用 LLM 的两种方法(基于OpenAI 调用 API 和部署自己的模型),下面的相关数据截止2023年8月,后期可能会有变化。

成本

自建

以 LLaMA-2-70B 为例进行说明。值得注意 的是,大多数公司都采用较小的型号版本,并根据任务对其进行微调。不过,这里有意选择了最大的版本,因为只有它才能与 GPT-3.5 的效果相媲美。

部署时推荐使用 8x Nvidia A100,因此需要 AWS 上的 g5.48xlarge 或 GCP 上的 a2-megagpu-16g。价格如下:

picture.image 不同供应商的 LLaMA-2-70B 聊天部署成本比较

aws和gcp是目前相对主流的供应商,更多供应商报价可参看(https://cloud-gpus.com/)

picture.image

此外,服务器成本中还包括以下额外费用:

  • 为负责服务器设置、负载平衡和监控的 DevOps工程师的费用。
  • 支付负责 模型准备、维护和微调的 ML 工程师的费用。
  • 可选择一次性支付用于微调的数据集收集和注释费用。

可以估算,推理 LLaMA-2-70B 的 GCP 费用约为每月 4-6 万美元。

OpenAI API

以计算使用 OpenAI API 生成文本的成本为例,更多报价参看:https://openai.com/pricing:

picture.image

使用 OpenAI API,2.5 万美元能生成多少token?

为了更好地理解价格: 假如每天 10,000 次客户查询,则成本为 (0.0015 + 0.002 美元) * 10,000 * 30 =约每天 35 美元,或每月 1000 美元。

picture.image

按 5,000 个每日活跃用户计算的应用程序接口成本近似值

对于每天请求量低于10,000 次,使用率较低的情况,OpenAI API 的成本要低于使用自托管 LLM。下图对此进行了示意:

picture.image

OpenAI GPT-3.5 与自托管 LLM 的示意图比较

当然,也可以使用各种技术来缩小模型大小:量化、剪枝、混合精度等。不过,这些方法都是有损的,意味着性能会有所下降。

总之,如果日活跃用户数量较少(<10,000),使用 OpenAI API 将是最佳选择。

效果

尽管目前正在积极开发开源模型,但其质量仍不如 GPT-3.5 和 GPT-4。在标准基准上两者都是如此:

picture.image

GPT-3.5 在主要基准测试中领先 llama。

在不同领域的任务的表现:

picture.image

6种模型在 MT-bench 上的分类得分比较

不过可以相信,在不久的将来,由于社区的积极参与和支持,将见证新模型准确性的显著提高。不过,此时此刻,如果想充分发挥 LLM 的潜力,建议使用 OpenAI API。

开发速度

picture.image

应用开发到推出时间示意图比较

每个参与过应用程序开发的人都知道,编写能够在重负载条件下可靠运行的高质量代码需要花费多少时间。与使用现成的 API 相比,将开源 LLM 部署到生产中的成本和复杂性要高得多。无需担心负载平衡、资源监控、水平扩展等问题。

因此,如果想快速构建原型并测试假设,最好的解决方案就是使用 OpenAI API。

隐私

这可能是大多数公司选择使用私有化LLM 的关键因素之一。OpenAI 的 "使用条款 "提到,他们 "可能会使用 API 以外的服务内容......以帮助开发和改进我们的服务":

picture.image

这意味着,发送给 ChatGPT 的任何内容都将包含在他们的训练数据中。尽管可以努力对数据进行匿名化处理,但这些数据仍会对模型的知识有所帮助。例如,Avast 发表了一篇文章,强调一旦模型使用了用户的数据进行学习,就很难删除这些数据(目前甚至是不可能的)。许多公司已经禁止员工使用 ChatGPT,其中包括三星、苹果、摩根大通等知名企业。

如果您不希望 自己的内容被 用于改进服务,可以填写本表(https://docs.google.com/forms/d/e/1FAIpQLScrnC-\_A7JFs4LbIuzevQ\_78hVERlNqqCPCt3d8XqnKOfdRdQ/viewform)声明选择 退出。

另一方面,OpenAI 声称他们不会使用通过 API 发送的数据来训练模型或改进服务。 但是,无法确定未来他们是否会改变立场。

因此,如果要处理敏感数据,最稳妥的做法就是使用自托管 LLM。

控制力

通过自托管解决方案,可以完全控制自己的应用。只需要自己团队负责系统的正常运行。如果使用外部应用程序接口,就会增加新的依赖性,从而难以控制:

  • 响应时间会随着负载的变化而变化。
  • 外部服务的故障可能会影响您的应用程序。
  • API 配额限制可能会意外提高,一位开发人员的经历就说明了这一点。

以下是 OpenAI API 过去 90 天的正常运行时间记录。在标有绿色以外颜色的日子里,那么依赖的应用程序不可用的时间从 10 分钟到数小时不等。

picture.image

OpenAI API 过去 90 天的正常运行时间

使用开源模型可以拥有更强的控制力和透明度,企业可以访问底层代码,并根据需要进行修改。对于有特定隐私、安全或合规要求的公司来说,这种定制化程度非常有价值。

总结

picture.image

比较 OpenAI 和自托管 LLM 的使用情况

在这个问题上,孰优孰劣没有统一的答案:OpenAI 还是自己部署LLM?这取决于具体的需求、资源和当前事务优先级。评估性能、定制、数据隐私和合规性等因素决定了使用 LLM 的正确方法。托管模式对于隐私、可靠性或合规性来说是必要的,而 OpenAI 则证明了其在快速原型设计和假设检验方面的优势,尤其是在不需要大量个性定制需求和高负载的情况下。

总的建议是,首先使用 OpenAI 的API接口创建原型产品快速推进市场,验证产品,然后逐步根据需求情况再考虑使用私有模型替换。

此外,也可以通过构建模型调用链来混合使用。目前一些开源项目提供了多源的选择,支持本地到云端多种选择,提高了模型服务的灵活性和自主性。

picture.image

阅读至此了,分享、点赞、在看三选一吧🙏

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生可观测性技术的落地实践
云原生技术和理念在近几年成为了备受关注的话题。应用通过云原生改造,变得更动态、弹性,可以更好地利用云的弹性能力。但是动态、弹性的环境也给应用以及基础设施的观测带来了更大的挑战。本次分享主要介绍了云原生社区中可观测性相关的技术和工具,以及如何使用这些工具来完成对云原生环境的观测。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论