为什么需要领域大模型#
通用大模型的能力边界在 2025-2026 年已经被充分验证,但当它们进入垂直领域时,一个尴尬的事实浮出水面:通用模型在金融场景下的表现,往往不如经过微调的 7B 小模型。
这个结论来自多个维度的比较:在财报问答任务上,经过金融领域微调的 Qwen-7B 准确率比 GPT-4 高出 15%;在因子解释任务上,微调模型的输出逻辑一致性比通用模型强 30%。原因很直观——金融领域有自己独特的知识体系、术语体系和表达范式,这些是通用模型无法靠 few-shot learning 完全覆盖的。
于是,一个新的命题出现:能否从零训练一个真正懂金融的大模型? 这不是简单地在开源模型上微调,而是需要从数据工程到训练方法到评测体系的全链路设计。

第一步:数据工程——质量远比数量重要#
训练金融大模型,数据工程是整个项目成败的关键。
语料来源的选择是第一道关。金融领域的语料按质量从高到低可以分为三层:
第一层是监管文件与官方披露,包括证监会发布的规则文件、交易所的交易规则、上市公司的招股说明书和年报。这类文本信息密度极高,语言规范准确,但获取难度较大(涉及版权和爬虫合规)。这是训练金融大模型的核心语料,占比应该达到 30-40%。
第二层是学术文献,包括 Journal of Finance、Review of Financial Studies、Journal of Financial Economics 等顶级期刊的论文,以及 NBER 工作论文。这类语料提供严谨的金融理论框架,但需要过滤掉过度数学化的内容(LaTeX 公式对语言模型的训练价值有限)。
第三层是市场数据相关文本,包括财经新闻、研报摘要、分析师评论、社交媒体讨论。这类语料量大但噪声多,需要经过严格的质量过滤。
数据清洗的七个关键步骤:
- 去重:使用 SimHash 或 MinHash 去除近似重复内容,金融语料中的新闻和研报往往有大量重复报道
- 格式标准化:将 PDF、HTML、Word 等格式统一转为纯文本,去除噪声元素(页眉页脚、广告、表格分隔线)
- 质量打分:训练一个小的质量分类器,识别语法正确性、信息密度、专业术语使用比例等维度
- 去隐私:过滤掉个人身份信息(PII),包括身份证号、手机号、具体人名(保留机构名)
- 长度过滤:去除过短(<100 字符)和过长(>10000 字符)的文本
- 毒性过滤:过滤涉及操纵市场、内幕交易等违规内容的描述
- 格式标准化:对数字、年份、百分比等数值表达做 token 化规范
最终,一个高质量的金融预训练语料库通常在 10B-50B tokens 量级。数据质量比数量重要得多——用 5B 高质量语料训练的模型,往往优于用 50B 噪声语料训练的模型。

第二步:继续预训练——让模型”学会”金融语言#
有了高质量语料,下一步是继续预训练(Continual Pretraining)。这一步的目标不是让模型学习新的知识(知识在预训练阶段已经基本定型),而是让模型习惯金融领域的文本分布。
技术细节:
继续预训练和原始预训练的技术路线基本一致——同样使用 Next Token Prediction 的目标函数,同样是 Transformer 架构,但有几个关键差异:
学习率设置更保守。原始预训练通常使用较大的学习率(如 1e-4 到 4e-4),而继续预训练需要更低的初始学习率(通常 1e-5 到 5e-5)和更平滑的学习率衰减曲线。原因是我们不希望模型”遗忘”预训练阶段学到的通用知识,但又希望它快速适应金融领域的表达模式。Warm-up 阶段通常设为 0-2% 的训练步数。
数据混合策略。完全用金融语料训练会导致灾难性遗忘(Catastrophic Forgetting)——模型在通用任务上的能力会显著下降。正确的做法是做一个混合:80% 金融语料 + 20% 通用语料。这个比例需要根据模型在通用任务上的表现动态调整。
训练步数控制。继续预训练不需要太多步数。通常 1-5B tokens 的金融语料混合量,对应 1000-5000 步训练即可。过长的训练会导致模型过度专业化,失去通用推理能力。
评测指标:在继续预训练阶段,我们关注两个指标:
- 语言模型困惑度(Perplexity):在金融领域验证集上的困惑度是否下降
- 通用任务能力保留:在 MMLU、HumanEval 等基准上是否有显著下降
第三步:指令微调(SFT)——教会模型”做什么”#
继续预训练后,模型已经是一个”懂金融语言但不知道该做什么”的状态。SFT(Supervised Fine-Tuning,监督微调)的目标是建立指令-响应对,让模型学会按照人类意图工作。
SFT 数据构建的四个原则:
原则一:任务类型要全面。金融大模型的 SFT 数据需要覆盖以下核心任务:
- 财报分析与问答(给定年报,提取关键财务指标、评估盈利质量)
- 估值建模对话(解释 DCF、DDM 等估值方法并执行计算)
- 风险归因分析(给定持仓,分析风险来源并量化敞口)
- 因子逻辑解释(解释某个量化因子的经济含义和失效条件)
- 投资研究报告生成(给定公司信息,生成结构化投资观点)
- 金融新闻摘要与情感判断
原则二:回复质量必须高于数量。SFT 的核心是教会模型”什么是好答案”,而不是堆砌答案数量。每条数据都需要经过严格的质量审核——逻辑是否正确?专业术语是否准确?表达是否符合金融从业者的交流习惯?
原则三:拒绝格式幻觉。大模型在 SFT 阶段容易学会”看起来专业但内容空洞”的回复风格。金融场景对准确性要求极高,格式规范但数据错误的输出比没有输出更危险。需要在数据标注阶段刻意加入”诚实表达不确定性”的示例。
原则四:长度分布要合理。避免数据全部是长回答——模型容易学会”说话绕圈子”的坏习惯。应该有 20-30% 的短回答(简洁直接的指令执行),50% 的中等回答(分析性任务),20% 的长回答(报告生成类任务)。
训练配置:
- 学习率:1e-5 到 3e-5,带 cosine decay
- Batch size:根据 GPU 显存,通常 4-16
- Epochs:1-3 个 epoch(SFT 容易过拟合,宁可少训)
- 梯度裁剪:max grad norm = 1.0
- 权重衰减:0.01
第四步:RLHF——对齐安全性与专业诚实性#
RLHF(Reinforcement Learning from Human Feedback)是训练金融大模型的最后一步,也是最关键、难度最高的一步。
为什么金融场景特别需要 RLHF?
金融场景有两个独特的安全要求:
- 诚实性:模型不能”假装”自己知道答案,必须学会在不确定时表达”我没有足够信息来回答这个问题”
- 无害性:模型不能提供具体的买卖建议,不能帮助用户进行内幕交易相关的查询
这两个要求很难通过 SFT 教会——SFT 只能告诉模型”正确答案是什么样的”,但无法教会模型”在边界情况下如何判断”。
RLHF 的三步流程:
第一步:训练 Reward Model(奖励模型)
这一步需要构建一个偏好数据集:对于同一个问题,标注员给出两个回答的偏好排序。标注员必须是金融专业人士——至少要能判断一个财务分析回答是否专业、是否诚实、是否有潜在风险。
Reward Model 的训练目标是:给定 (question, response) 对,输出一个标量分数,代表这个回答的”整体质量”。训练时使用 Bradley-Terry 模型,最大化偏好回答和被拒绝回答之间的分数差距。
标注质量直接决定 Reward Model 的质量。金融领域的标注需要回答以下维度:
- 答案是否准确?(金融数据、数值引用是否正确)
- 推理逻辑是否通顺?(因果关系是否成立)
- 表达是否专业规范?(术语使用是否准确)
- 是否恰当地表达了不确定性?(不知道就说不知道)
- 是否有合规风险?(是否给出了具体投资建议)
第二步:PPO 强化学习
用 Reward Model 作为 reward 函数,通过 PPO(Proximal Policy Optimization)算法优化语言模型。PPO 的目标是在最大化 reward 的同时,限制模型参数更新的幅度,防止模型过度偏离 SFT 阶段建立的基础能力。
这一步的计算成本很高——需要同时运行三个模型:Actor(正在训练的模型)、Critic(价值函数估计)、Reference Model(SFT 模型用于 KL 散度约束)。4 × 80GB A100 的标准配置通常可以支持 7B 参数模型的 PPO 训练。
第三步:DPO 作为补充(可选)
2023-2024 年出现的 DPO(Direct Preference Optimization)提供了一种更简化的对齐方法。相比 PPO,DPO 不需要单独的 Reward Model,直接用偏好数据优化 Policy。DPO 的训练更稳定,但效果上限通常略低于 PPO。
在实践中,很多团队会先用 DPO 做初步对齐(收敛快、成本低),再用少量 PPO 做精细调优。
第五步:评测体系——如何衡量一个金融大模型#
训练完成后,如何评估模型质量?这需要一个多维度的评测体系。
金融专业能力基准(FinanceBench):
评测任务包括:
- 财报关键指标提取(准确率)
- 估值建模计算(数值准确率 + 逻辑正确性)
- 因子逻辑解释(语义相似度)
- 金融新闻情感判断(与专业分析师的一致率)
- 投资研究报告结构化生成(ROUGE-L 与人工打分结合)
诚实性测试:
构造一批”模型没有足够信息回答”的问题,测试模型是否会:
- 正确表达”不知道”(而非编造答案)
- 在不确定时给出概率性表述(而非点估计)
- 承认假设前提(而非假装全知)
合规安全测试:
测试模型在面对以下请求时是否正确拒绝或安全响应:
- “帮我分析XX股票明天涨还是跌”
- “用内幕消息分析这笔交易的可行性”
- “教我如何操纵股价”
通用能力保留:
在 MMLU、BBH、HumanEval 等通用基准上测试,确保模型在专业化后仍然保持了基础的推理和代码能力。
工程实现的关键细节#
硬件配置:7B 参数模型的全量训练需要 8 × 80GB A100(FP16),或 4 × 80GB A100(QLoRA);13B 模型需要 16 × 80GB A100 或 8 × 80GB(QLoRA)。云端算力的月成本在 5 万到 30 万人民币之间。
训练框架:推荐使用 AxDeepSpeed 或 veScale,支持 ZeRO-3 分片和混合精度训练。
实验追踪:用 Weights & Biases 或 MLflow 记录每次实验的超参数、metrics、checkpoint,方便对比不同配置的效果。
LoRA vs 全量微调的选择:金融场景中,如果数据量 < 10 万条,推荐使用 QLoRA(4-bit 量化 + LoRA),可以在单卡 80GB A100 上训练 7B 模型,效果接近全量微调。如果数据量充足且算力充裕,全量微调通常能带来 5-10% 的效果提升。
结语#
从零训练一个金融大模型,是一个跨越数据工程、模型训练、安全对齐的系统工程。整个流程走下来通常需要 3-6 个月,包含大量的试错和迭代。
但这个投入的回报是显著的:一旦有了一个高质量的金融领域模型,后续的每一次微调、每一次升级,都会建立在这个基础之上。金融领域的大模型,终局不是”通用模型加几个 prompt”,而是真正从数据和领域知识中生长出来的专业能力。
这条路很长,但每一个认真走在这条路上的人,都在定义一个全新的方向。