首页 > 教程攻略 > ai资讯 >我们真的需要领域(行业)大模型吗?从BloombergGPT说起

我们真的需要领域(行业)大模型吗?从BloombergGPT说起

来源:互联网 时间:2026-07-11 14:01:46

一. 问题

通用大模型现在的能力已经相当强悍了,但为什么还需要行业(垂类)大模型?这两者在能力上到底差在哪?又是在什么场景下,非得上行业大模型不可?还有,行业大模型是用微调技术就行,还是必须从头开始训练?

之所以有这些困惑,根本原因在于对行业大模型的定位还比较模糊——它到底要解决什么问题?带着这些疑问,我翻开了《BloombergGPT: A Large Language Model for Finance》这篇论文,试图从中找到答案。

我们真的需要领域(行业)大模型吗?从BloombergGPT说起

根据论文,BloombergGPT主要面向金融领域的NLP任务,包括情感分析、命名实体识别、新闻分类、问答等。粗看这些任务好像没什么特别,都是经典NLP场景。但金融领域有其特殊性:一是专业术语极多——股票、债券、期货、期权、并购……每个细分领域都有一大堆专业词汇,通用LLM通常覆盖不足,很难识别;二是业务复杂性高,通用模型难以准确理解金融内容,导致生成式任务很难满足要求。

正是出于这些考虑,Bloomberg选择自己训练一个垂类模型。下面就来聊聊BloombergGPT的概况。

二. BloombergGPT概况

2.1 数据集

从总体训练语料分布看,金融领域语料和通用语料基本上各占一半。

金融领域语料包括:

  1. 网络内容(金融相关),占比42.01%
  2. 财经新闻,占比5.31%
  3. 公司财报,占比2.04%
  4. 公司公告(与财经新闻类似),占比1.21%
  5. Bloomberg自有语料(新闻、观点及分析等),占比0.7%——这个比例其实比想象中小很多,至于它对模型能力究竟有多大影响,目前还不得而知

通用语料包括:

  1. the Pile(跨领域,常用于训练LLM),占比25.9%
  2. C4(T5模型也用过),占比19.48%
  3. Wikipedia(2022年7月1日之后的内容,因为the Pile和C4里的Wikipedia版本较老),占比3.35%

Tokenization

使用的是Unigram tokenizer,基于the Pile语料训练出来。训练tokenizer时,词汇表大小的选择是个难题。有个一般性原则:词汇表越大,相同context window能容纳的信息越多;反之,词汇表越小,信息就越有限。极端的例子:如果词汇表只有26个英文字母,那给定context window里能表达的意思就很有限。词汇表大意味着更多有明确含义的单词被纳入,但代价是LLM中会有更多参数用于token embedding。

BloombergGPT最终选择词汇表大小为131072个token。为什么选这个数字?逻辑是:以C4语料为样本,对不同词汇表大小进行测试,每个token用个bit表示,将C4 tokenize后计算总bit大小,选择最小的那个对应的词汇表大小。这本质上是一个优化过程:词汇表大,单个token占用的bit高,但总token数少;反之亦然。

2.2 模型

BloombergGPT的模型架构基于BLOOM,包含70层transformer decoder块,hidden dimension为7680,参数量50.6B。看到这些数字,可能有人会问:为什么是50B?能不能用更小的模型?为什么是70层?7680怎么来的?

这些问题其实涉及超参数的选择,而超参数并不是拍脑袋决定的。从这篇论文来看,有一定的方法论可循。

模型

参数量

的选择基于Chinchilla scaling laws(见下图)。简单说,是根据给定的算力(FLOPs)来选择较优的模型参数量和训练所需的token数。估算FLOPs需要知道硬件型号(如A100)、预计GPU hours,以及模型结构(比如checkpoint activation技术会降低显存但增加计算量)。

Chinchilla scaling laws示意图

至于如何把50B参数分配到具体的神经网络结构中,论文给出了经验公式:

其中L是self-attention层数,D是hidden dimension。论文还指出了几条实践经验:total hidden dimension的数量能被attention head的数量整除;每层的hidden dimension取8的倍数(为了在Nvidia上获得更高效的tensor运算)。

基于这些最佳实践,最终确定L=70,attention head数量=40,每个head 192维,total hidden dimension D=7680。

其他方面:训练时context window长度为2048个token,使用ALiBi positional encoding。硬件方面租用了AWS服务,共512块40G的A100 GPU。

2.3 训练过程

训练过程loss曲线

上图显示了最终发布模型的训练过程。实线是平滑处理后的training loss,虚线是validation loss。不同颜色代表对超参的调整。整个训练跑了146000个step,大约53天,基本上只跑了0.8个epoch(即没有跑完所有语料),early stop的原因是loss不再下降。

训练过程并非一跑到底,在颜色变化的节点处进行了超参调整,比如调整learning rate或增加dropout。可以看到最后阶段loss其实在上升,最终选择的模型是第139200个step处的checkpoint。

2.4 评估

BloombergGPT作为金融垂类模型,到底比通用模型强多少?这需要通过一系列评测来验证。论文将评测任务分为两大类:金融领域任务和通用领域任务。

评测任务分类

金融领域任务包括Public Financial Tasks和Bloomberg Financial Tasks,主要有判别性任务(如情感分析)和生成式任务(如NER)。通用领域任务包括知识评估(对训练阶段内容的召回)、阅读理解、语言任务(消除歧义、语法、隐含语义及逻辑理解)。

评测的目标是看BloombergGPT是否优于其他LLM,因此需要参照物——其他通用LLM。对照组包括多种通用模型,具体对比如下:

对照模型信息

第一列是训练数据量,第二列是模型参数规模,第三列是相对训练成本。大部分对照组的参数量都大于BloombergGPT。

评测结果显示:在金融领域各项任务中,BloombergGPT有明显优势,甚至对比更大的模型也占优;在通用领域任务中表现也相当不错,尤其是与参数量相当的LLM对比时,基本胜出。

三. 总结

BloombergGPT代表了一类垂类大模型——从头开始训练,用专业语料加通用语料来训练一个既懂专业又能处理通用场景的LLM。但是,从头训练垂类LLM目前仍然耗资巨大、难度极高,从上面的介绍就能看出来。

另一类领域大模型是基于通用大模型通过微调生成。从成本和实现难度来看,微调无疑是一个更务实的选择。

现在回到标题的问题:我们真的需要领域大模型吗?从BloombergGPT这篇论文得出的结论是:领域大模型确实有诸多优势。具体来说有以下几点:

  1. 词汇的独特性

    ——通用LLM很多专业词汇在训练阶段可能根本没出现过,推理时自然无法理解,导致“乱说话”。
  2. 不同上下文中的细微差别

    ——比如“positive”在通常语境中是积极的,但在医学领域“positive”就糟了(你羊没羊?)。
  3. 对概念理解的深度

    ——通用大模型对特定领域知识只是“知道”,而领域大模型能更全面、有深度地理解。
  4. 数据的稀缺性

    ——很多专业材料不公开,通用LLM在训练时根本接触不到,自然无法正确回复。
  5. 专业的推理能力

    ——基于特定领域的原则或规则框架得出结论,这种高级认知过程依赖于深度知识和上下文理解。

那么,在法律、金融等专业领域应用LLM是否必须借助领域大模型?这个问题不能一概而论。毕竟微调甚至从头训练一个大模型都很有难度,用什么方式落地垂类LLM应用是另一个话题。但就领域大模型所具备的优势来说,确实能在相当多的场景中发挥作用。比如私有化部署场景,通常选择规模较小的模型,能力相对弱,单靠prompt或RAG很难达到预期效果,这时通过微调把领域知识和业务处理逻辑注入LLM,能获得更好的应用效果。

相关下载