AI资讯
掌握人工智能AI动态,领略未来风采!
2024 年 1 月初我参加知乎 AI 先行者沙龙的时候,一位嘉宾的发言我认为很有道理:有趣的 AI 价值更高,因为娱乐、社交是人的天性,最大的几家互联网公司大部分是娱乐、社交领域的。如果一个好的 AI 伴侣真的能给人带来情绪价值,或者游戏中的 AI 真的能让用户沉浸感更强,这样的 AI 不愁没人付费。
大模型广泛应用的一个很大的挑战是成本问题。比如如果我做一个游戏的 NPC,跟玩家不停的交互,如果用 GPT-4 来做,成本会高达每小时每个玩家 26 美元,没有任何游戏能烧的起这么多钱。
这是怎么算出来的?假设玩家每分钟交互 5 次,一小时就是 300 次;每次交互需要 8K token 的上下文,500 token 的输出,每次交互的成本就是 $0.095;乘一下,成本就是每小时 26 美元。很多人在计算成本的时候只考虑到了输出 token,没有考虑输入 token,其实很多场景下输入 token 才是成本的大头。
那么这个成本有没有可能降低 100 倍甚至 1000 倍?答案是肯定的。
我们主要有三个方向:用小模型替代大模型、推理 infra 优化、算力平台优化。
首先,to C 应用中的大多数问题用小模型其实就足够了。但有一些复杂问题是小模型解决不了的,这时候就需要找大模型。我们人类社会其实一直就是用这种方式工作的,比如电话客服的普通接线员就足够处理大多数的问题,少数棘手的问题上升到经理解决,这样就可以合理控制成本。
大小模型结合的一个挑战是克服小模型的幻觉,也就是当它自己不知道的时候,不要胡说八道,而要说我不知道,这样才有机会交给更大的模型处理。
其次,推理 infra 中其实有很多值得优化的点。例如现在多模态领域的很多开源模型都没有支持 batching 和 Flash Attention,它们的 GPU 利用率其实不够高。当我们有很多 LoRA 微调模型时,最近也有一些学术界的工作可以实现大量 LoRA 的批量推理。持久化 KV Cache 虽然很多人都在提,做成有状态的 API 降低每次都重新计算的成本,但没有一个开源软件真的实现了。
最后就是自建算力平台,使用消费级 GPU 做推理。对 24 GB 内存就足够放下的模型,4090 显然是比 H100 和 A100 更划算的。
使用开源模型和自建算力平台能够节约多少成本呢?我们在这里对比闭源的 GPT-4、GPT-3.5,以及开源的 Mixtral 8x7B 和 Mistral 7B,分别在第三方 API 服务和自建算力平台上的成本。
假设我们的需求都是 8K token 的输入上下文,500 token 的输出。如果我们用 GPT-4,每 1000 个请求就要 $135,这是相当贵了。如果用 GPT-3.5,就可以便宜 15 倍,只要 $9,但这也还是挺贵的。
Mistral 8x7B MoE 模型的能力大致与 GPT-3.5 是相当的,用 Together AI 的 API 服务需要 $5,又比 GPT-3.5 便宜了一半。如果自己搭建 H100 集群来服务这个 8x7B 模型,价格还能降低一半多,只需要 $2。
那么为什么自己服务比 Together AI 的便宜呢?因为任何云服务都要考虑到资源不是 100% 占满,用户的请求是有波峰波谷的,平均下来资源利用率能到 30% 就不错了。像我们这种客户算力需求波动很大的小公司,经常出现租了几十块 GPU 卡但闲置一个月的情况。因此如果考虑到用户请求的波峰波谷,自己搭建 H100 集群去服务 8x7B 模型未必比调用 API 更省钱。
要想进一步省钱,还可以用 7B 模型,Mistral 7B 模型的性能也不错,特别是 UC Berkeley 使用 RLAIF 的方法搞了一个基于 Mistral 7B 的 Starling 模型,性能甚至超过 LLaMA 13B 模型。
7B 模型如果使用 Together AI API,只要 $1.7,比 GPT-3.5 便宜 5 倍。如果在 4090 上自己搭,只要 $0.4,又便宜了 4 倍。能便宜这么多的主要原因是 Together AI 之类大厂一般是用数据中心级的 GPU 做推理,如果我们用消费级的 GPU,成本相比数据中心 GPU 就可以至少降低一半。
4090 上跑 7B 模型的成本比 GPT-3.5 便宜 23 倍,比 GPT-4 便宜 346 倍。原来 $26 一个小时的互动游戏 NPC,用 4090 和 7B 模型,就可以做到 $0.075 一个小时,这虽然还有点高,但已经是可以接受的了。再加上一些输入上下文的压缩技术,可以把 7B 模型的成本降到 GPT-4 API 的千分之一,也就是 $0.026 一个小时,这就是可以接受的了。
其实到了 $0.026 每个小时这种量级,会发现 CPU 成本也变成不可忽略的了,因此 CPU 上的软件优化也是很重要的。大多数公司的后端服务都是用 Python 写的,虽然开发效率高,但是执行效率比较低。因此我们公司最近把后端的核心业务逻辑切换到了 Go,在 CPU 效率上有明显的提升。
上面我们只算了文本模型,其实语音识别模型、语音合成模型、多模态图片识别模型、图片生成模型、视频生成模型也都有很多可以优化的点。
前面讲语音合成的时候,我们提到基于开源的 VITS 自己做语音合成模型可以比 ElevenLabs API 便宜 360 倍,如果要达到接近 ElevenLabs 效果的语音克隆,用 GPTs-soVITS,也可以比 ElevenLabs 便宜 100 倍。这种成本数量级上的降低是可以从根本上改变商业逻辑的。
再如视频生成,OpenAI 的 Sora 生成 1 分钟的视频大概需要 50 美金的成本,Runway ML 的 Gen2 生成 1 分钟视频大概需要 10 美金成本。但如果我们不要这么高的质量,就用 Stable Video Diffusion 去生成,1 分钟的视频只要一块 4090 跑 1 个小时,只要 0.5 美金成本。Sora 的视频质量比 SVD 高太多,100 倍的成本也许是值得的。但 Runway ML 生成的视频质量可能就不值 20 倍的成本了。
这也是为什么我不建议贸然自己去做基础模型。如果没有拳打 OpenAI、脚踢 Anthropic 的实力,在效果上比不过最好的闭源模型,成本上也比不上开源模型。我相信 Runway ML 的 Gen2 推理成本也不会比 Stable Video Diffusion 高太多,ElevenLabs 的语音合成推理成本也不会比 GPT-soVITS 高太多,但是这些模型的研发成本高到可怕,都要平摊到 API 的溢价里。
这就是 Peter Thiel 在《从零到一》里说的,一项技术需要比现有技术好 10 倍才能有垄断优势,只是好一点点是不够的。我知道操作系统很重要,我也知道如何写一个操作系统,但我不知道如何写一个比 Windows、Linux 或者 Android、iOS 好 10 倍的操作系统,因此我不会去做操作系统。基础大模型同理。
我们相信大模型的成本一定会快速降低,一方面是摩尔定律,另一方面是大模型的进步,比如说用最新的 vLLM 框架和消费级的 GPU,Mistral AI 的 8x7B 的 MoE 模型可能相比最早的 LLaMA 70B 成本降低 30 倍。
随着硬件和模型的进步,未来会不会同等能力的模型可以跑在手机上?如果手机上可以跑 GPT-3.5 级别能力的模型,很多可能性都打开了。
再看模型的输出速度和上下文容量。我参观计算机历史博物馆的时候,看到 ENIAC 那么大一个机柜,每秒只能做 5000 次加法,只有 20 个字的内存。我们今天的大模型每秒钟也只能输出几十个 token,“内存” 也就是上下文长度从最早的 4K token 一路提升到今天的上百 K token。
未来会不会有一天,能够出现一套硬件和一个模型,每秒钟能输出上万个 token,内存也就是上下文有上亿个 token?
有人问,输出这么快有什么用呢?其实 AI Agent 不一定需要跟人交流特别快,但是 AI Agent 自己可以想得很快,可以跟其他 Agent 交流得特别快。比如说一个问题需要多步网络搜索去解决,人可能需要搜一个小时,未来的 AI 有没有可能一秒钟就解决了?
上下文搞这么多 token 有什么用呢?我们知道现在大模型在很多方面还不如人,但长上下文这个方面其实是比人更强的。前面我们提到这个大海捞针的测试,几十万字的一本书,几十秒读完,并且能回答出其中几乎所有的细节,这是人类绝对做不到的。上亿个 token 的长下文如果能做出来,并且成本和延迟可以接受,那可以把一个领域的知识或者一个人的所有记忆完全放进上下文里,在记忆力方面就具备了超人的能力。
我们都相信 AGI 肯定会到来,唯一值得争论的是到达 AGI 的增长曲线是怎样的,是这一波自回归模型随着 scaling law,直接高速增长到 AGI;还是这一波自回归模型也会遇到瓶颈,AGI 还需要等待下一波技术革命。10 年前 ResNet 掀起 CV 革命的时候,很多人都对 AI 的发展预期过于乐观。这一波 Transformer 会是通向 AGI 的坦途吗?