今年2月中旬,加州大学伯克利分校的人工智能研究实验室(BAIR Lab,UC Berkeley) 的网站刊登了博客文章《从模型向复合人工智能系统的转变》。文章认为,AI技术发展不再是仅仅依靠机器学习模型,而是由多种技术交织在一起的复合(Compound)系统获得。我们且称这样的系统为CAIS (Compound AI System)。
CAIS的实际案例
文章列举了多个CAIS的实际案例,举证说明通过大模型推理和其他技术相配合,获得最佳的结果。
【案例】谷歌的 AlphaCode 2
用LLM生成高达一百万种可能的解决方案,通过精心设计的搜索和重新排名的筛选机制,达到最佳编程结果。
【案例】AlphaGeometry
该系统利用大语言模型快速预测潜在有用的构造,并使用符号推理引擎进行更加深入的决策,用以解决奥林匹克数学竞赛级的问题。
【案例】Databricks 在企业中应用 LLM
Databricks 在60% 的应用采用了检索增强生成(RAG),30% 使用多步骤链条 (Multi-step Chains)。
【案例】微软的链式策略
从单一LLM调用的结果报告转向使用越来越复杂的推理策略,在医学考试中的准确性超过 GPT-4 的准确性9%。
【案例】谷歌的 Gemini 与 CoT@32 推理策略
通过一个32次调用推理模型来进行 MMLU 评估,超过了 GPT-4单次推理所能获得的结果。(MMLU是一个评估大语言模型理解能力的标准化测试)。
文章分析了我们为什么会需要复合AI系统。
CAIS范式
文章认为,如何进行CAIS设计,特别在复合技术的选型、系统的优化和运维等方面,都是很有挑战性的问题。文章最后给出了开发CAIS系统的新兴范式和相应的技术框架和工具。包括:
组合框架和策略
语言模型编程框架:允许开发人员通过多次调用AI模型和其他组件来构建应用程序。如LangChain, LlamaIndex。
代理(Agent)框架:让LLM驱动应用程序的框架。AutoGPT, BabyAGI。
LM输出控制:用于控制LM输出的工具,如 Guardrails, Outlines, LMQL和SGLang。
推理策略控制:研究人员开发的推理策略,用于生成更好的模型输出。如CoT,RAG,Self-Consistency和WikiChat。
优化流程:如DSPy流水线质量优化工具,用于优化由LLM调用和其他工具组成的系统,自动调整流水线以最大化目标指标。
优化成本:AI 网关,或如Frugal GPT,自动将输入路由到不同的AI模型级联,以优化成本和性能;或如 Databricks AI Gateway, OpenRouter,优化AI应用程序每个组件的性能的软件。
运维监控和评估
LLMOps, DataOps:监控模型输出和数据管道,以确保AI应用程序的可靠运行。如LangSmith, Phoenix Traces, Databricks Inference Tables。
基于AI的质量评估:研究领域内寻求利用监控检查的反馈来改进输出的方法,以及旨在实现质量监控自动化的技术。如:MT-Bench, FAVA, ARES。
文章最后说,随着开发人员的目标是最大限度地提高AI 应用的质量并落地,他们越来越多地转向复合 AI 系统作为控制和增强 LLM 功能的自然方式。虽然目前还没有开发复合 AI 系统的最佳实践,但已经有很多方法可以帮助开发者端到端地进行CAIS的设计、优化和运维。
文章的作者
文章的第一作者Matei Zaharia非等闲之辈。2009年,在加大伯克利分校读博期间,他创造了Apache Spark开源集群计算框架。2013年,他和其他人在Spark的基础上创建了Databricks公司。近年来,他还是麻省理工学院(MIT),斯坦佛大学和加大伯克利大学的教授。
文章的其他作者,有两位是 Zaharia教授的博士生,还有他在Databricks的同事以及斯坦福大学,UC伯克利,MIT和CMU的教授。
几点看法
Matei等这篇CAIS文章鲜明地表达了在大模型之外,其他的计算机技术还是有很大发展的空间。这对于相关的中小型公司、研究者、从业者和创业者而言,很有启示意义。
作者从设计和开发到优化和运维,给出了一个端到端的、“可编程的”CAIS框架,使大模型更加可控,并列举了很多优秀的工具。让我们看到未来AIOS的影子。
但是,似乎是因为较强DataBricks的背景,文章给出的方案都透出浓浓的云计算为中心的味道。对于边缘AI计算的发展,文章并没有特别关心。
Compound vs.Composite
虽然文章描述的”Compound AI System”表达了模型和其他技术应该在一起发挥作用,但还没有能够看到如何从架构上来分析模型和其他技术的解偶。因此,我们还必须继续寻求如何发力,分工协作,通过组合(Composite)的方式共建CAIS的可靠方法。
Compound: 烘焙蛋糕时,需要混合多种原料(如面粉、糖、鸡蛋等)。一旦蛋糕烘焙完成,你无法将面粉、鸡蛋或糖分离出来。这是一个“化合”(Compound)的紧耦合过程。
Composite: 使用乐高搭房子时,你会组装不同的乐高积木块。房子搭建完成时,你还可以拆解结构来回收单独积木块。这是一个组合(Composite)的松耦合过程。
从边缘AI、AIOS、AIPC和发展平民AI的角度来看,我们更加希望CAIS是Composite AI System,是可组合的AI系统。这样,人们才能更加专注于自己擅长的模块;也能够降低门槛,让更多的人能够有效地参与进来,更加可持续地建构和发展人工智能。