BloombergGPT 与金融特定领域大语言模型的局限性
BloombergGPT 于 2023 年 3 月发布,并立即成为金融领域特定 LLM 讨论的基准。我现在阅读它并不是因为它具有时效性——它已经过时了——而是因为在它发布之后发生的故事,至少与论文本身的内容一样具有启发性。
论文
彭博社的 Wu 等人训练了一个拥有 500 亿参数的语言模型,语料库包含 5690 亿个 token,大致分为两部分:3630 亿个来自 FinPile(这是一个由彭博社自 2007 年以来的档案组成的专有金融数据集)和 3450 亿个来自通用公共数据集。FinPile 涵盖了新闻文章、法律文件、新闻稿、收益电话会议记录和抓取的金融网页。该模型本身遵循仅解码器(decoder-only)的因果语言模型架构(BLOOM 风格,使用 ALiBi 位置编码),在 64 × 8 个 A100 40GB GPU 上训练了 139,200 步。
其核心观点是,混合领域预训练(而不仅仅是微调)所产生的模型,“在金融任务上以显著优势优于现有模型,且不牺牲在通用 LLM 基准测试中的性能”。这是领域特定 LLM 策略的基础假设:你可以鱼与熊掌兼得。
核心观点
- ConvFinQA 准确率:43.41% vs GPT-NeoX 30.06%。与同等规模的基准模型相比,最大的增益出现在需要对对话中嵌入的金融表格进行多步推理的任务上——这正是接受较少金融数据训练的通用模型所挣扎的结构化推理。
- FiQA 情感分析:75.07% F1 vs GPT-NeoX 50.59%。在金融情感分析上高出近 25 个百分点。在具有明确金融词汇的分类任务中,增益最为显著。
- 内部基准测试揭示了更鲜明的情况。在彭博社专有的“股票新闻情感分析”任务中,BloombergGPT 达到了 79.63% 的 F1 值;GPT-NeoX 为 14.17%。这些内部数据虽然无法从外部验证,但它们也是重点所在——彭博社是为了只有他们能定义的任务而构建该模型的。
- NER(命名实体识别)是明显的弱点。在金融 NER 任务上,BloombergGPT 获得了 60.82% 的 F1 值,略低于 GPT-NeoX 的 60.98%——这提醒我们,并非所有 NLP 任务都能从金融预训练中同等受益,且生成式模型无论在哪个领域都难以进行结构化的跨度提取(span extraction)。
- GPT-2 分词器(tokenizer)没有对数字进行特殊处理。像 5,234 这样的数字可能会以不可预测的方式拆分到不同的 token 中。作者指出这是数值推理的一个隐忧,但并未在架构上解决它——这对于任何涉及账本算术的任务都至关重要。
- 训练不稳定性是真实存在的。在第 115,500、129,900 和 137,100 步,梯度范数飙升,团队不得不回滚检查点并降低学习率。论文的“训练日志”(Training Chronicles)附录对此异常坦率。大规模构建领域 LLM 在操作上比理论描述的要难得多。
哪些结论依然成立,哪些已经过时
核心发现——即相对于同等规模的通用模型,增加领域特定数据能提高金融任务性能——得到了充分支持且并不令人意外。有趣的问题是,这种提升是否值得其高昂成本。
当 GPT-4 发布时,几位研究人员(包括 Ethan Mollick 在一个被广泛引用的推文中)指出,GPT-4 在几乎所有公开的金融基准测试中都优于 BloombergGPT——尽管 GPT-4 无法访问彭博社的专有数据,并且除了通用训练语料库中出现的内容外,没有接受过任何金融特定的预训练。Yang 等人(arXiv:2305.05862)的一项研究评估了 ChatGPT 和 GPT-4 在八个金融 NLP 基准测试上的表现,发现 GPT-4 的竞争力始终与经过微调的金融特定模型持平或更胜一筹。据报道,彭博社在这次训练运行上花费了约 1000 万美元。该领域从中吸取的教训是:当前沿技术发展足够快时,规模胜过专业化。
不过,这种解释过于简单了。BloombergGPT 的内部基准测试——涉及 GPT-4 从未见过的彭博特定术语和文档格式——仍然可能是该模型最有力的论据。你无法从外部评估专有性能。公开基准测试的比较只是对真实命题的部分测试。
我认为论文中真正缺乏深入探讨的是分词(tokenization)问题。金融是一个精确数字至关重要的领域:5,234.78 并不约等于 5,235。对于任何定量任务来说,以不可预测的方式粉碎数字字符串的分词器都是一种结构性缺陷,作者承认了这一点但并未解决。这不仅仅是一个微小的脚注——它是导致语言模型在金融计算中出现算术错误的根源。
为什么这对金融人工智能很重要
对于 Bean Labs 的议程,BloombergGPT 的故事同时指向了两个方向。首先,领域特定预训练可以显著帮助处理狭窄的分类任务——情感分析、标题标记、NER——但这些并不是自主会计智能体的难题。难题在于账本分录的多步推理、安全回写以及捕获算术链中的错误。GPT-4 级别的模型已经能很好地处理简单的分类任务。
其次,分词问题与 Beancount 智能体直接相关。每一条账本分录都涉及金额、账号和日期。如果底层模型的分词器不可预测地切分 "1,234.56 USD",那么任何进行多步核对的智能体都在与其自身的底层基质作对。这表明,工具调用(tool-use)方法——即将算术委托给 Python 解释器而不是通过自然语言进行推理(正如我在 LOG-009 中提到的 PAL)——比依赖模型内部机制更鲁棒,无论模型经过了多少金融文本的训练。
更深层的教训是:当下游任务需要识别专业词汇和文档结构时,领域特定预训练最有价值,而不是当它们需要数值精度时。对于 Beancount 而言,这意味着微调投资可能应该针对指令遵循和工具调用,而不是原始的金融语言建模。
延伸阅读
- FinGPT: 开源金融大语言模型 (Yang et al., 2023, arXiv:2306.06031) —— 针对 BloombergGPT 的开源回应;通过在金融数据上对公开 LLM 进行 LoRA 微调,仅需约 300 美元而非 1000 万美元;是对微调与预训练经济效益的直接测试。
- ChatGPT 和 GPT-4 是金融文本分析的通用解决工具吗? (Yang et al., 2023, arXiv:2305.05862) —— 这项系统性比较显示,GPT-4 在公开基准测试上可以匹配或击败金融特定模型;对于衡量领域预训练究竟能带来多少收益至关重要。
- 神经语言模型的缩放法则 (Kaplan et al., 2020, arXiv:2001.08361) —— 这篇关于计算最优缩放的论文解释了为什么 GPT-4 可能优于 BloombergGPT;随后的 Chinchilla 研究 (Hoffmann et al., arXiv:2203.15556) 也同样具有参考价值。
