👇关注公众号后设🌟标,不错过第一手AI新鲜观点和动态
近日AI界最受关注的新闻莫过于OpenAI连续12天的产品发布,其中重磅产品O1满血版发布尤为引人注目。发布前一天,O1之父——OpenAI研究员Noam Brown接受采访时,被问及规模法则(Scaling Law)遭遇瓶颈的问题,他直言出路在于测试时计算(Test-time compute):
★目前,将预训练模型扩展到当前规模已面临挑战,但测试时计算仍处于早期阶段,这意味着我们拥有巨大的发展空间和潜力。算法改进方面仍有很多低垂的果实,我相信这一方向将涌现许多令人兴奋的进展。测试时计算范式还有很大的提升空间。——Noam Brown
感兴趣的读者可以阅读完整访谈:[访谈链接]。这一观点近期已逐渐得到AI研究和工程界的认可。
规模法则撞墙,行业开始转向
推动生成式AI快速发展的规模法则(Scaling Law),近期“撞墙”之声不绝于耳。
据《The Information》报道,OpenAI新一代旗舰模型Orion的性能提升远低于预期。据OpenAI内部试用过Orion的员工反馈,虽然Orion的性能最终超越了之前的模型,但其质量提升幅度远小于GPT-3和GPT-4之间的差距。[1]
此外,有员工表示,Orion在语言任务上的表现更好,但在编码等任务上可能不如之前的模型。
彭博社近期报道称,谷歌即将推出的Gemini新版本模型也未达到内部预期。与此同时,Anthropic备受期待的Claude 3.5 Opus模型发布时间也被推迟。[2]
除了性能提升幅度令人失望之外,继续沿用规模法则的前沿模型研发将面临巨额成本(数亿美元)、漫长的时间消耗(数月)、海量数据需求(数万亿token)以及巨大的电力消耗(兆瓦级)。如此高昂的投入产出比,开始让投资者质疑AI大厂的商业回报,迫使他们理性思考未来发展方向。
因此,我们可以看到,尽管Sam Altman等AI大厂领军人物仍在坚称“没有瓶颈”[访谈链接],但Ilya、Karpathy、Noam等技术专家已开始倡导从训练时计算(Train-Time compute)转向测试时计算(Test-time compute,即推理阶段的计算)。
插一句,有粉丝询问是否应将“测试时计算”称为“推理时计算”(Inference-time compute)。目前业内主流仍使用“测试时计算”的叫法,这可能源于机器学习中“训练”和“测试”的概念,“测试”对应模型训练完毕后在真实数据上评估效果的过程,即推理过程。
言归正传,不仅研究和工程界如此认为,谷歌CEO桑达尔·皮查伊在12月初接受《纽约时报》采访时,也谈到了规模法则的瓶颈问题,并表示:“我认为突破的关键在于实现技术突破和算法突破的能力。如何让系统从规划或推理的角度工作?”[3]
什么是测试时计算?
测试时计算(Test-Time Compute,TTC)是什么呢?参考丹尼尔·卡尼曼的《思考,快与慢》,以往的大模型推理计算类似于“系统一”的“快思考”,直接给出答案;而测试时计算则类似于“系统二”的“慢思考”,模型在面对复杂问题时,会经过深思熟虑后再给出答案。
OpenAI近期推出的O1模型是测试时计算的典型代表,虽然具体技术细节保密,但其问题分解、多步推理、自动纠错等特征体现了TTC的典型特点。Noam Brown之前的一个研究项目中,让AI扑克机器人每步思考20秒,其性能提升相当于将模型规模扩大10万倍并训练10万倍的时间。
测试时计算对应模型推理阶段,也与训练时计算(Train-Time Compute,即模型训练)相对比。用大脑来类比,是让大脑更聪明,还是给大脑更多思考时间?
常识告诉我们,让大脑更聪明更难,而增加思考时间则相对容易。
那么TTC具体是如何实现的呢?参考DeepMind和UC Berkeley近期的一篇文章,其基本思路如下:[4]
一种简单的方法是最佳N采样(Best-of-N),即让大模型对同一问题回答N次,从中选择最佳答案。
这种方法类似于老师让学生重做作业,虽然有所提高,但提升幅度有限。
研究人员在此基础上提出了“计算最优缩放 (compute-optimal scaling)”的概念,根据问题难度自适应地调整推理方法和算力资源。
对于简单问题,例如一些小的格式或内容错误,可以使用迭代修订(Sequential Revision),逐步改进直至达到可接受标准。
而对于较难的问题,则需要模型“开拓思路”,并行寻找多种可能的解决方案,这就需要搜索和规划能力,在众多路径中寻找最优解,例如束搜索(Beam Search)。
也可以结合串行优化和并行搜索:
效果如何呢?研究人员发现,与最佳N采样相比,“计算最优缩放”可以以少至四分之一的计算量实现相同或更好的性能。总而言之,对于简单和中等难度的问题,在推理标记数量较少的情况下,策略性地使用TTC比增加预训练计算量更有效;但对于需要大量推理标记的更难问题,增加预训练计算量可能更有利。
对硬件行业的影响:最受伤的可能是英伟达的GPU
TTC代表着计算密度从预训练向推理转移的技术范式转变,也标志着行业发展周期从大规模“屯算力”训练模型转向精打细算“用好算力”应用的阶段。
这两个趋势对当前市场份额超过90%的英伟达而言,可能都不是好消息。
首先,模型训练所需的GPU数量可能不再像以往那样快速增长,甚至可能减少训练GPU算力,将其转移到推理业务负载中。这将影响训练和推理两方面的需求。
然而,减少大模型训练腾出的算力很难完全转移到推理端。
假设由于TTC减少了Llama 3.1 405B级别模型的预训练(训练数据为15万亿token),需要多少同级别模型推理任务才能消化等量的算力消耗(假设输入输出均为8k token)。
根据a16z提出的经验公式进行简单测算:
预训练算力 = 6 x 模型参数 x 训练数据token数 推理算力 = 2 x 模型参数 x 输入输出token数(假设二者相同)[5]
则:推理任务数 = (6 x 4050亿 x 15万亿) / (2 x 4050亿 x 8000) ≈ 56.25亿
也就是说,巨头们少训练一个大模型,需要数十亿个高算力的用户推理任务才能替代,这对于目前尚不成熟的AI应用市场似乎有点不切实际。
其次,英伟达若想弥补训练市场减缓的影响,将面临推理算力市场更加激烈的竞争。
新的AI芯片厂商,如Groq、Cerebras,天生就针对AI推理设计,主打“推理token生成速度”,例如Groq的生成速度可达1200 tokens/秒,Cerebras更是号称高达2100 tokens/秒。
各大云计算厂商,如微软、亚马逊、谷歌,也已拥有或正在研发自己的AI推理芯片,对GPU算力的需求并不迫切。英伟达以往的饥饿营销策略不再有效,只能与客户的“亲儿子”在TCO(总持有成本)方面进行正面竞争。
然而,GPU的通用架构使其在大型并行计算方面具有优势,因此没有比大模型预训练更适合GPU的场景了。
在推理环节,算法需求多样化,TTC范式中的搜索、规划算法并非都具有高并行度,而当前兴起的RAG(例如用于AI搜索、企业知识库)中的内容检索环节更适合CPU,而非GPU的优势领域。相比之下,掌握核心场景的AI大厂能够更有效地定制AI加速芯片以实现最佳TCO,谷歌的TPU便是成功的案例。
亚马逊自研的AI芯片Trainium是另一个范例,亚马逊近日re:Invent大会上[发布会图文]发布了Trainium-2计算实例,AWS CEO加尔曼在彭博社访谈中谈到Trainium-2 AI芯片在部分推理任务上比GPU效率高出30%-40%[访谈全文]。[6]
Trainium-2节能的原理在于其独特的收缩阵列设计。不同于GPU在计算过程中频繁进行显存交互,Trainium-2将计算结果直接从一个处理单元传递到下一个处理单元,从而避免了计算步骤间的内存访问,有效降低了能耗。
对模型的影响:开源小模型的春天真的来了?
近期,闭源前沿模型(如O1等)与Llama等开源模型的差距逐渐拉大。在实际应用中,开源模型的输出质量和稳定性确实不及闭源模型,即使在参数规模上进行竞争也难以超越闭源模型。因此,尽管我个人看好开源模型,但在日常工作中,Gemini 1.5、GPT-4o-mini等闭源模型仍是我的主要选择,开源模型仅用于辅助性任务。
然而,Trainium-2等高效推理芯片(TTC)的普及,有望显著释放开源模型的潜力。
Noam Brown在近期专访中(访谈全文)指出:“这当然意味着任何开源模型的强大程度都远超其原始模型能力的表面表现。”[7]
例如,开源模型常在输出格式上出现错误。如果采用多步修订机制,是否能提升其输出质量,达到与Gemini和GPT-4o类似的水平?这将显著提升其在简单和中等难度任务上的表现,从而大幅提高其在80%以上应用场景中的适用性。
此外,开源模型的微调和部署成本一直是其短板,特别是Llama 405B等大型模型,往往需要GPU集群才能部署。但TTC的应用能够降低对模型参数规模的要求,从而减少部署成本,甚至使其能够在单台服务器、轻量级边缘设备、PC或移动设备上流畅运行,实现显著的成本节约。
结语
OpenAI发布O1模型后,预计Gemini、Claude等闭源模型很快会在TTC上推出新版本。国内开源模型领军者阿里巴巴也推出了QwQ推理模型。未来几个月内,我们可能将看到更多由TTC加持的“小而美且可靠”的开源小模型涌现,从而推动AI应用进入新的发展阶段,让我们拭目以待。
关注公众号后设🌟标,不错过第一手AI新鲜观点和动态
参考资料
[1]https://www.theinformation.com/articles/openai-shifts-strategy-as-rate-of-gpt-ai-improvements-slows [2]https://www.bloomberg.com/news/articles/2024-11-13/openai-google-and-anthropic-are-struggling-to-build-more-advanced-ai [3]https://www.youtube.com/watch?v=kZzeWLOzc_4 [4]https://arxiv.org/html/2408.03314v1 [5]https://a16z.com/navigating-the-high-cost-of-ai-compute/ [6]https://www.youtube.com/watch?v=9QYgekgE9L4 [7]https://www.youtube.com/watch?v=_m_GTV3XWQY