这是由 AI 平台公司 Lepton 和著名 LLM 工具平台 LangChain 合著的,关于如何通过微调的方式,来实现更加“聪明”的大模型的实践文章。InfoQ 经 Lepton 授权后翻译,如需转载译文,请联系 InfoQ 申请转载授权。
简介
各位有没有参加过财报电话会议,特别是向 CFO 们抛出一个个尖锐问题?曾几何时,这是只有摩根大通、高盛和摩根士丹利这帮高端投资者才具有的特权。
但随着大语言模型的普及,加上适当的技术调教,如今情况已大不相同。如果嫌内容太长,大家也可以直接访问此处的演示(https://earningsage.lepton.run/),其中数据来自苹果 2023 年第二季度财报电话会议上的内容。
提问:您觉得生成式 AI 对苹果产生了哪些影响?
财报机器人:谢谢您的提问。如您所知,我们多年来一直在产品中使用 AI 技术。我们用它让产品更智能、更个性,并创造出新的、令人惊叹的使用体验。有些朋友可能一直觉得苹果只在自身产品上投资,但其实我们也在投资 AI。我们为此设立了庞大的专项团队,也对所取得的进展感到非常兴奋。而且我们坚信,AI 应该面向所有人开放,我们也在致力于解决人工智能的可解释性问题。我们正努力攻克难关,打造出透明、负责任且用于公益的 AI 方案,给所有人带来巨大收益。
下面,我们将一同走近尖端技术与财务智能的结合领域,深入探讨 AI 技术的应用与变革过程,了解它究竟是怎么学会像资深 CFO 一样侃侃而谈的。
问题陈述
首先,我们需要将上述挑战拆分成一个抽象概念,希望能帮助大家从工程层面理解我们面临的问题。简而言之,这个问题可以转换成:
将原始财报会议记录、文本生成模型(可能主要是 OpenAI ChatGPT 3.5)和工具集(Python、Lanchain、Chroma 等)有机结合起来,从而模仿 CFO 的言谈举止。
关于流程的思想实验
从 OpenAI 起步
我们先使用来自 OpenAI 的 ChatGPT 3.5 和 Langchain 检索 QA 链,这目前基本是有意构建 AI 应用程序的开发者们的标准操作流程。现在,我们的解决方案如下图所示:
不出所料,ChatGPT 3.5 面对这些简单问题表现得相当从容。比如,我们可以问它“这次财报电话会议涵盖了哪些内容?”从原型设计角度看,开源工具已经相当成熟。所以我们的首个产品版本很快就能构建完成。但面对更复杂的问题,ChatGPT 却只能乖乖投降。
以下是 ChatGPT 3.5 回复的完整问题列表:
本次财报电话会议讨论了哪些内容?(https://smith.langchain.com/public/dbac4723-5a7d-4c63-914d-90f651c2ad22/r)
每位 iPhone 用户持有的苹果数量,拥有多大的增长潜力?(https://smith.langchain.com/public/ecc37b09-8528-49be-b694-5f4d73258c80/r)
苹果公司在 AI 领域有哪些未来战略? (https://smith.langchain.com/public/e3d0b2da-b1cc-4e38-963c-d4607dc7278f/r)
目前市场对于 Apple Pay Later 作何反馈?(https://smith.langchain.com/public/a62fb0ac-91f4-4581-91f5-5266a5871d3a/r)
之后,我又试了试初版 Vicuna
我是无意间听朋友说起 Vicuna 的。身为开源开发者(我在 Jupyter Lab 工作),我决定亲自试试。这是款开源聊天机器人,基于 ShareGPT 收集到的用户共享对话对 LlaMa 进行微调而成。到这一步,我们的解决方案如下图所示:
这里最棘手的部分,在于该产品的首个版本是基于 Langchain 构建的,而 Langchain 最初又是基于 OpenAI 的 API 构建的。跟其他提示工程框架类似,在不同模型间往来迁移时总要面对很多兼容性问题。比如其他模型可能不提供同样的嵌入 API 端点,或者其 tiktoken 库不支持某些模型等。
考虑到这个问题,Lepton.AI(https://www.lepton.ai/)的工程团队找到了一种方法,能让模型与原始 OpenAI 的 API 端点相兼容,这就让大语言模型应用的模型切换变得更容易。现在,模型服务能够轻松改变环境,使用户得以简单完成模型切换。例如,由:
切换为:
乍看之下,结果已经相当可靠,但我们还得找到能准确评估输出结果的办法。这时候就要请出 LangSmith (https://smith.langchain.com/)了。它能帮助我们添加四行代码来轻松更改环境变量,并接手解决余下的所有工作。
事实证明,微调模型性能更好
尽管原版模型不会像 ChatGPT 3.5 那么快放弃,但在语言表达方面仍然没有 CFO 那个“范儿”。换言之,它的谈话方式给不了我参加顶级金融人才云集的财报电话会议那种感觉。
因此,受 llama 微调模型 Vicuna 的启发,我决定用部分财报会议数据微调一个领域模型。通过从记录中收集到的数据,我成功提取到大量会议记录。之后使用 TUNA(一种面向数据和模型的增强服务),我顺利构建起更熟悉财报会议背景的模型。到这里,我们的解决方案已经成了下面的样子:
以下是问题列表对应的部分查询结果:
本次财报电话会议涵盖哪些内容?(https://smith.langchain.com/public/80e7f6b6-8ea7-41b9-b875-55781b1c1df8/r)
每位 iPhone 用户所持有的苹果设备数量,还有多大的潜在增长空间? (https://smith.langchain.com/public/7f14895a-d6e5-45b9-98bf-bc128954de45/r)
苹果公司在 AI 领域有哪些未来战略?(https://smith.langchain.com/public/a2a6d24b-fd46-46f4-9850-b414f0b716f0/r)
目前市场对于 Apple Pay Later 作何反馈?(https://smith.langchain.com/public/34555f2f-79a6-4532-bb0e-09727100c2a8/r)
同样的,我对代码做出的唯一调整就是 OPENAI_API_BASE,其他均可保持原样。在 LangSmith 的帮助下,我得以快速比较输出结果,并将其分享给其他感兴趣的朋友。
总结
总体来看,将数据与大语言模型技术(包括数据增强和微调)相结合,标志着 AI 应用开发迎来了一个关键里程碑。通过将大量多样性数据集同大语言模型对接起来,我们释放出了前所未有的潜力,让 AI 系统能够生成更准确、具备上下文感知且输出连贯顺畅的结果。数据与大语言模型间的协同作用不仅增强了 AI 应用的整体性能,同时也为更多创新和发现开辟出新的可能性。
随着不断完善和扩展对这种动态关系的理解,我们正踏上一段新的旅程,用数据驱动见解和高级语言模型的融合重新定义更多可能性,并有望最终步与卓越 AI 新时代、彻底改变我们的交互方式与技术手段。未来就在前方,我们正满怀信心地迎接 AI 超越预期、成为进步路上不可或缺的全新资产类型这一伟大愿景。
关于本文提到的工具,LangSmith 和 LeptonAI 目前仍处于内测阶段,大家可以注册候补名单、申请亲自体验。另外,也欢迎大家给我写邮件(uz@lepton.ai),期待听到大家的感受和意见。
相关链接:
LangSmith——用于调试、测试、评估和监控大语言模型应用的统一平台 (https://smith.langchain.com/)。
Lepton.AI——以简单方式构建 AI 方案 (http://lepton.ai)。
本文示例代码——欢迎大家随意使用(https://github.com/bobmayuze/Earning-Sage/tree/main)。
评论