NLP——EfficientCPT(FinPythia)

注:本文包含 AI 辅助创作

Paper Summary


Conclusion

  • 在论文中,论文证明了领域自适应持续预训练(Continual Pre-training, CPT)在开发领域特定 LLM 中的有效性
    • CPT 可以用于在现有开放领域 LLM 的基础上开发领域专用 LLM
    • 领域自适应持续预训练提高了 LLM 在金融任务上的性能,并以更低的成本使 LLM 能够获取领域知识
  • 论文提出了高效的领域自适应持续预训练方法 ETS-DACP 和 ETA-DACP,以增强持续预训练
    • 通过在训练数据筛选过程中更具选择性,论文的方法改进了持续预训练,仅使用普通持续预训练 10% 的数据(成本)就取得了更好的结果
  • 基于熵的任务无关数据选择策略与任务感知策略表现相当
    • 这一发现可用于在缺乏任务数据时进行持续预训练的数据选择
    • 论文还观察到在开放领域标准任务上的性能没有下降,表明领域持续预训练不会损害开放领域能力
  • 论文的研究将领域持续预训练作为从头构建领域特定 LLM 的有力替代方案
    • 通过更智能的数据选择,我们可以以较低成本超越普通持续预训练
    • 与普遍认为“更多数据更好”的观点相反,论文的结果表明数据质量同样重要
    • 尽管领域持续预训练在小语言模型文献中已有广泛研究,但考虑到 LLM 的规模和成本,论文提供了独特的见解
  • 论文介绍了通过金融领域自适应持续预训练开发的 FinPythia-6.9B
    • 持续预训练的 FinPythia 在金融任务上相较于原始基础模型展现了持续的性能提升
  • 论文进一步探索了简单但高效的数据选择策略用于持续预训练
  • 论文的数据选择策略仅使用 10% 的语料库规模和成本,即可超越普通持续预训练的性能 ,且不会降低开放领域标准任务(standard tasks)的表现
  • 本研究为构建领域专用 LLM 提供了一种经济高效(cost-effectively)的替代方案

Introduction and Discussion

  • LLM 展现出对自然语言的深刻理解,并在多种任务上提升了性能
  • 开放的网页数据有助于创建具备广泛能力的通用 LLM,但通用 LLM 并非“专家”
    • 例如,虽然 LLM 可以撰写优秀的新闻文章,但在撰写专业的法律文件时可能力不从心
  • 为创建领域专用的 LLM,需要基于领域数据进行训练。构建领域专用 LLM 的方法分为两类:
    • 从头训练领域专用 LLM
    • 基于现有 LLM 使用领域数据进行持续预训练
  • 大多数研究者采用第一种方法,例如医学领域的 Med-PaLM 系列模型(2022,2023)和金融领域的 BloombergGPT(2023b)
  • 尽管领域自适应持续预训练是一种更经济的替代方案,但相关研究较少
    • PMC-LLaMA(2023a)是通过对 LLaMA(2023)进行医学论文持续预训练得到的医学 LLM
  • 持续预训练还可用于在动态环境中更新 LLM 的最新知识
  • 本研究探讨以下问题:
    • 1)领域自适应持续预训练是否有助于构建领域专用 LLM?
    • 2)能否采用数据选择策略实现更高效的领域自适应持续预训练?
    • 3)领域自适应持续预训练是否会损害 LLM 的开放领域能力?
  • 论文以金融领域为背景,通过基于 Pythia(2023)构建的持续预训练模型 FinPythia 来回答这些问题
    • 针对第一个问题(回答肯定),论文报告了在规模仅为 Pythia 训练数据 8% 的领域数据上进行持续预训练后,金融基准测试(2023a)的性能提升。定性分析中,论文观察到 FinPythia 掌握了最新的金融领域知识
    • 针对第二个问题(回答肯定),论文提出了两种简单的数据选择技术:
      • 任务感知(task-aware)的 Efficient Task-Similar Domain-Adaptive Continual Pre-training(ETS-DACP)
      • 任务感知的 Efficient Task-Agnostic Domain-Adaptive Continual Pretraining(ETA-DACP)
      • 这些方法仅使用 10% 的选定领域数据(即 Pythia 训练语料库的 0.8%),即可超越普通领域自适应持续预训练的性能
        • 论文使用三种指标进行数据选择:相似性困惑度token 类型熵(token type entropy)
        • 相似性需要任务数据作为种子数据;
        • 困惑度token 类型熵 两种指标是任务无关的度量
    • 针对第三个问题(回答肯定),论文在四个开放领域标准任务上进行了基准测试,发现持续预训练的 LLM 在适应领域的同时保留了其通用能力
  • 本研究的主要贡献如下:
    • 论文整理了一个包含 240 亿(24B)token 的大规模金融语料库 ,数据来源于金融数据集
    • 实验证明,通过持续预训练构建领域专用 LLM 是一种经济高效的替代方案,扩展了小型语言模型(LM)的研究发现(2020;2023b)
    • 论文提出了两种高效领域自适应持续预训练方法 ,通过数据选择策略更低的成本超越普通持续预训练的基线性能

Methodology

  • 本节介绍用于持续预训练的金融语料库整理、背景概念以及论文提出的任务感知领域自适应持续预训练方法

Financial Corpus Curation

  • 在评估数据来源时,论文考虑了三个维度:公开可用性许可协议规模
  • 金融语料库的数据来源包括金融新闻 CommonCrawl 和 SEC 文件
  • 金融新闻 CommonCrawl 是通过从公开的 CommonCrawl 数据中筛选金融新闻得到的
  • 论文遵循 Pythia (2023)的去重流程(de-duplication procedure),移除重复的训练数据
  • 结合这两个来源,论文创建了一个包含 239 亿 token(165 亿单词)的数据集,详细内容见附录 G

Background

  • 领域自适应持续预训练(Domain-adaptive Continual Pre-training,DACP)
    • 传统方法 :领域专用 LLM 通常通过从头训练并使用大量领域数据构建
      • 这种方法有两个缺点:成本高昂且需要大量领域数据,这在数据较少的领域(如金融)中难以实现
    • DACP :在通用 LLM 的基础上 ,使用大规模领域特定未标注数据进行持续预训练
    • DACP 已证明能够使 LM 更好地适应领域内分布(2020;2022),并使 LLM 能够获取新知识(2022b),而无需从头训练
  • 任务自适应持续预训练(Task-Adaptive Continual Pre-training,TACP)
    • 任务自适应持续预训练(TACP)指通过持续预训练提升特定任务的性能
    • TACP 已在小型 LM(如 BERT)中进行了研究,通过使用任务的标注和未标注数据预训练 LM(2020;2019),显示出对任务性能的提升
    • TACP 使用预训练损失目标(如掩码语言建模(MLM)损失)来适应下游任务 ,而无需使用任务标签
    • 尽管任务数据通常有限 ,但 TACP 对小型 LM(如 BERT)具有显著效果
    • 论文在四个金融评估任务上对 TACP 进行了基准测试,通过使用任务的未标注数据持续预训练 LLM(不涉及任何任务标签)
  • 理解:
    • TACP 更侧重任务,一般来说数据量更小,数据必须是任务相关的
    • DACP 更侧重领域,一般来说数据量更大,数据可以是与任务无关的
    • 两者都是无标签的数据,且 DACP 中的数据 包含了 TACP 的数据

Towards an Efficient Domain-adaptive Continual Pre-training

  • TACP 的主要局限在于其仅使用未标注任务数据训练 ,导致模型过于任务特定化
  • DACP 虽然使用更大的语料库,但成本高昂
  • 为平衡这些局限,论文提出了两种方法:
    • Efficient Task-Similar Domain-Adaptive Continual Pre-training(ETS-DACP) :通过强调任务重要性来构建面向一组任务的 LLM
    • Efficient Task-Agnostic Domain-Adaptive Continual Pretraining(ETA-DACP) :从领域语料库中选择信息量最高的样本
    • ETA-DACP 更通用,不面向专门的任务

Efficient Task-Similar Domain-Adaptive Continual Pre-training(ETS-DACP)

  • ETS-DACP 通过选择与任务数据更接近的部分领域数据(图1 中的蓝色区域)来构建最优集合 \(\mathcal{D}^*\)
  • 微调 LLM 需要大量指令,而创建这些指令成本高昂
  • ETS-DACP 直接利用有限的未标注任务数据,从更大的预训练领域语料库中采样相似样本
  • 先前研究表明,在与目标领域/任务高度对齐的 token 上进行无监督训练可以提升性能(2020;2019)
  • 论文假设在未标注任务数据持续预训练 LLM 可以通过使模型适应任务分布来提升目标任务的性能
  • 论文使用任务数据和领域语料库样本 Embedding 之间的相似性进行数据选择
    • 通过计算文档 Embedding 与任务数据 Embedding 之间的余弦相似性(使用 Spacy 模型(2017)),量化文档级任务相似性
    • 这种方法能够经济高效地衡量任务特定信息与金融语料库的对齐程度,从而实现更有针对性的预训练

Efficient Task-Agnostic Domain-Adaptive Continual Pretraining(ETA-DACP)

  • 在缺乏任务数据的情况下,论文进一步探索了任务无关的数据选择方法
  • 该方法还克服了 ETS-DACP 的局限,即避免模型过于任务特定化
  • 作者认为从预训练领域数据中选择子集时,新颖性多样性是两个重要维度
  • 新颖性 :指 LLM 之前未见的信息
    • 论文基于 LLM 记录的困惑度来衡量文档的新颖性
    • 困惑度较高的文档在原始训练语料库中代表性较低,因此更可能包含模型的新知识,这些样本也被视为更难学习(2009),因此在持续预训练中具有较高价值
    • 降低困惑度计算成本 :直接使用 LLM 计算困惑度成本较高,因为推理需要约 25% 的训练算力
      • 为降低成本,论文使用 Pythia-70m 作为替代模型计算文档困惑度
    • 初步实验显示,Pythia-1B 和 Pythia-70m 的困惑度相关性高达 0.97,证明小模型可以作为可靠的替代品 ,实现高效的采样
  • 多样性 :捕获领域语料库中 token 类型分布的多样性
    • 多样性已被证明是语言模型课程学习中的有效特征(2016;2017)
    • 论文使用词性(part-of-speech,POS)标注获取 token 类型
    • 由于熵是衡量多样性的最佳指标之一(2009),论文使用 POS 标签的熵(2016)作为多样性度量
      • 注意:是词性(POS)标签的熵,不是 Token 的熵

Data Sampling Strategy

  • 论文提出了 ETS-DACP 和 ETA-DACP,通过主动选择相关样本来优化持续预训练的数据。数据选择有两种方式:
    • 硬采样 :根据指标百分位数对领域语料库中的样本进行排序,选择前 \(k\) 个样本以满足预训练的预算 token 数量
    • 软采样 :在此情况下,论文根据距离指标为样本分配软权重(以概率采样)
      • 以相似性指标为例,假设一个样本的相似性得分为 0.9,将其归一化后作为选择该样本的概率
      • 这种方法允许持续预训练看到图1 中蓝色区域之外的非任务样本,增加预训练数据的多样性
  • 论文使用以下三个维度选择样本:
    • 与任务数据的相似性(ETS-DACP)
    • 困惑度作为新颖性的代理(ETA-DACP-ppl)
    • token 类型熵度量的多样性(ETA-DACP-ent)
  • 为将指标值转换为采样概率 ,论文提出了一种基于分位数范围的方法
    • 首先计算每个指标的 0-100 分位数,然后将每个文档的概率设为其所在分位数
    • 这种方法有效地归一化了论文的指标,并允许聚合不同类型的指标
  • 表1 总结了论文提出的所有方法以及传统领域适应 LLM 的方法及其需求
  • ETS-DACP-com 是另一种版本的 ETS-DACP,通过将相似性、困惑度 和 熵 的平均值用于排名

Experimental Setup

Evaluation tasks

  • 金融领域任务(Finance Domain Task) :为了评估领域自适应持续预训练的效果,论文在金融任务上对模型进行了测试
    • 论文采用 FLARE 框架 (2023a) 来评估模型性能
    • FLARE 扩展了lm-evaluation-harness 的评估框架,加入了多种金融任务
    • 论文遵循其指令提示、数据划分和指标计算方法,以便进行对比
    • 论文选用了以下 4 个任务(2023b; 2023a):
      • 金融短语库(Financial Phrase Bank, FPB) :FPB 是一项针对金融新闻的情感分类任务 (2014),情感标签反映投资者对新闻的看法(正面/中性/负面)
      • FiQA 情感分析(FiQA SA) :基于金融新闻和标题的细粒度情感分类任务 (2018)
      • 头条分类(Headline) :判断金融实体相关的头条是否包含特定信息的二分类任务 (Sinha and Khandait, 2020)。每条新闻关联 9 个标签,例如“是否涉及价格”“价格上涨”“价格下跌”“价格稳定”“历史价格”和“资产”等
      • 命名实体识别(NER) :基于美国证券交易委员会(SEC)报告中信用风险评估部分的金融命名实体抽取任务,标注类别包括人名(PER)、地点(LOC)、组织(ORG)和其他(MISC)
  • 通用领域任务 :为了评估领域训练对非领域能力的影响,论文在以下通用任务上进行了测试
    • ARC (2018):衡量模型在首次任务演示后预测输出网格的能力
    • MMLU (2020):测试模型在 57 项任务上的知识水平,包括基础数学、历史和法律等
    • TruthfulQA (2021):评估模型在 38 个类别的 817 个问题上的问答能力
    • HellaSwag (2019):测试模型根据事件描述生成相关后续句子的常识能力

Baselines

Training Setup and Infrastructure

  • 论文选择了 Pythia (2023) 中的 1B 和 6.9B 参数模型作为基准预训练 LLM
    • 注:Pythia 提供了从 70M 到 12B 参数不等的多种模型规模
  • 持续预训练的配置 Derived from Pythia 的训练设置 (2023)
    • 为 FinPythia-6.9B 设置学习率为 \(1.2 \times 10^{-5}\)
    • 为 FinPythia-1B 设置学习率为 \(3 \times 10^{-5}\)(这是原始训练计划中的最小学习率)
      • 理解:小模型的学习率大一些,理论上更容易找到最优解,所以学习率可以大一些
    • 论文使用较小的学习率以缓解灾难性遗忘问题,并在训练过程中保持恒定
    • 论文采用 bf16 精度而非 Pythia 使用的 fp16,并将原始批量大小减半至 512
  • 持续预训练任务在单台 AWS P4d.24xlarge 实例上运行
  • 由于模型规模适中,论文仅通过 DeepSpeed ZeRO Stage 2 (2020) 启用数据并行,并开启激活检查点功能
  • 在 24B token 上,FinPythia-6.9B 完成预训练需要 18 天,而 FinPythia-1B 需要 3 天

Results and Analysis

Domain-adaptive Continual Pre-training,DACP

  • 为了评估金融领域任务的表现,论文将 FinPythia 与 Pythia 以及其他类似规模的开源模型进行了对比,包括 OPT-7B (2022)、BLOOM-7B (2022) 和 GPT-J-6B (Wang and Komatsuzaki, 2021)
  • 虽然论文报告了开源模型的结果,但主要结论来自 Pythia 和 FinPythia 之间的对比,因为它们的差异反映了领域自适应持续预训练的效果
  • 所有模型均在 5-shot 设置下进行评估,每个测试实例的示例均从任务的训练数据集中随机采样(遵循 FLARE (2023a) 的基准设置)
  • 结果如表2 所示
    • FinPythia-6.9B 和 FinPythia-1B 在除 FiQA SA 任务外的所有金融任务上均优于其对应的 Pythia 模型
      • 问题: FiQA SA 任务也是金融领域的(情感分析)任务,持续预训练后怎么效果还降低了?
    • DACP 将 1B 模型的平均任务性能提升了 2.8%,6.9B 模型提升了 8.3%
      • 这些结果直接证明了 DACP 对提升领域任务性能的有效性
    • 此外,Pythia-6.9B 的表现优于 OPT-7B、BLOOM-7B 和 GPT-J-6B
    • 与 BloombergGPT 的对比请参见 附录A

Efficient Domain-adaptive Continual Pre-training

  • FLARE 使用 5-shot 上下文性能评估整个训练数据,即每个测试样本在评估时会看到不同的训练样本
    • 这使得模型之间的比较更加困难,因为每个测试样本在推理过程中会看到完全不同的训练示例
    • 在现实场景中,标注数据有限,没有大量的训练数据
    • 由于训练数据集中随机选择的高方差性,作者观察到较大的标准差
  • 为了克服这种随机性并确保模型之间的公平比较,论文为每个任务从训练数据集中预留了 50 个标注样本池 ,称为“shot pool”(示例池)
    • 对于剩余的训练样本,论文移除标签并将其用作无标签任务数据 ,用于基于任务数据的数据选择策略
    • 这种配置的采用是因为论文无法直接获取无标签任务数据
    • 通过这种设置,论文还模拟了标注数据稀缺的约束条件
    • 尽管这种方法生成了无标签任务数据,但其规模仍然较小,仅包含来自四个任务的 24万 个 token
  • 论文使用每种 Efficient DACP 方法选择了 10% 的语料库子集(注:详情见表1)
  • TACP 和 Efficient DACP 方法均运行一个 epoch,并使用与 DACP 相同的预训练配置以确保公平比较
  • 由于计算预算限制,论文使用 Pythia-1B 运行这些实验
  • 每个任务的结果通过 10 次随机种子的运行均值报告(10次随机种子,666!)
  • 评估结果如 表3 所示
    • TACP 相比原始 Pythia-1B 显示出显著的性能提升
    • 在 DACP、TACP 和 Efficient DACP 所有方法中,ETS-DACP 表现最佳 ,平均任务性能最高
      • 注:相同数量 token 下,DACP 结果比 Efficient DACP 差
    • 结果说明:无标签任务数据上进行任务自适应和领域持续预训练 LLM 的有效性
      • 与小语言模型中的结果一致 (2020)
  • 我们可以观察到以下几点:
    • ETS-DACP(使用 10% 数据)优于 DACP(使用 100% 数据);
    • ETS-DACP 在所有三种对比方法中表现最佳结合三种度量的 ETS-DACP-com 相当
    • ETA-DACP-ent 未使用任何任务数据(仅使用 10% 语料库训练)表现接近第二 ,明显优于普通 DACP;
    • 硬采样的 Efficient DACP 方法优于软采样方法
    • 补充观察:按照 PPL 采样的数据效果甚至低于原始 Pythia-1B ,应该是这些数据会导致模型分布偏移到模型未知的区域
  • 这些结果清楚地表明:并非所有数据对持续预训练都同等重要
    • Efficient DACP 方法使用的所有数据(10%)都是 DACP 数据的子集
    • 由于 DACP(100%)的性能低于 ETS-DACP 或 ETA-DACP-ent,加入不相关数据和低熵数据会损害性能
      • 注:硬采样和软采样结果之间的差异进一步支持了这一观察
    • 不同任务间表现不完全相同,但可以确定的是加入不相关数据和低熵数据会损害性能(PPL 采样的数据效果不好)
    • 核心结论:领域持续预训练的数据应精心筛选
  • 需要注意的是,10% 的领域数据(2.39B token)仅占基础 Pythia 训练数据(3000 亿 token)的不到 1%
    • 结论:在持续预训练的数据筛选过程中选择性更强,可以以较低成本显著提升领域性能
    • 这些结果证明了在领域和任务(子领域)上进行持续预训练的有效性
  • 一个自然的问题是:LLM 是否会因为专注于狭窄领域而丧失其通用性? 即LLM 是否会因成为专家而牺牲通用性?
    • 论文通过测量持续预训练的 LLM 变体在 Pythia 评估的非领域任务上的性能来回答这个问题
    • 表4 展示了四个非金融标准任务的表现,论文没有观察到这四个非领域任务的性能有显著变化
      • 理解:实际上还是有微弱降低的,且 ppl 采样方式可提升通用任务的效果
      • 注:结合整体来看,ETS-DACP-com 效果是最好的,通用任务和领域任务效果均不错

Ablation on Percentage of Pre-training Data Selected

  • 论文在图2 中展示了预训练数据比例的消融实验
  • 论文发现:
    • ETS-DACP 和 ETA-DACP-ent 方法在 5% 的预训练数据时平均 F1 分数接近 59%,并在使用 10% 的预训练数据后开始下降
      • 这表明,添加信息量较少的样本会降低性能 ,因为 LLM 会学习不那么有用的示例,从而调整其分布
    • 对于 DACP,论文观察到性能持续提升
    • 困惑度选择的数据(ETA-DACP-perplexity)在 1% 时表现出高于 DACP 的性能,之后显著下降,在 5% 时达到最低性能,随后恢复
      • 通过进一步调查 1%-5% 预训练数据区域中基于困惑度选择的样本,论文发现其中包含大量缺乏自然语言文本的长表格
      • 这种分布变化可能是基于困惑度的数据选择性能下降的原因
  • 数据选择指标的比较(Comparison of Data Selection Metrics)
    • 从表1 和图2 的结果中可以看出
      • 基于任务相似性的选择效果最佳 :训练数据与任务数据的相似性对(预)训练最有益
      • 熵是第二优但有效的任务无关领域预训练数据选择技术
    • 最高熵样本基于命名实体分布选择,这些样本会包含更多领域特定实体(如名称),而低熵样本的实体类型较少
      • 论文的假设是,这些样本让 LLM 接触到更多领域知识,而低熵样本的信息量较少
    • 困惑度表现出一个有趣的现象:初始 1% 的高困惑度样本有益,但之后无益
      • 高困惑度样本对模型来说更新颖,但新颖性可能来自分布外或低质量样本
      • 在困惑度前 1% 的样本中,论文观察到高质量的金融文章,而在 1% 到 5% 的范围内,论文发现了包含长表格的样本,这些样本可能对基础模型的训练来说是噪声
    • 困惑度更易受数据噪声的影响 ,而熵度量则避免了这些噪声样本
  • 由于大多数大型数据集可能包含噪声样本基于困惑度的数据选择不是一个好方法
  • 困惑度与其他两种度量(相似性 0.21,熵 0.14)之间的相关性较低 ,其他两种度量避免了选择噪声样本
  • 鉴于论文通常希望领域 LLM 在未见任务上表现良好,将预训练适应于任务无关框架更为合适
  • 核心结论:基于论文的实验,熵度量在任务无关性和下游任务性能上均表现优异

  • 领域特定大语言模型(Domain-specific LLMs)
    • 尽管大多数发布的 LLM 是通用模型,领域特定的 LLM 已成为有价值的对应物
      • MedPaLM 在医学语料库上训练,在医学基准测试中取得了最先进的结果 (2022, 2023)
      • Bloomberg 则从头开始在金融语料库上开发了金融 LLM (2023b)
    • 持续预训练提供了一种替代从头开始构建领域特定 LLM 的方法
      • Wu 等 (2023a) 通过在医学论文上持续预训练 LLaMA (2023) 构建了医学 LLM
  • 语言模型的持续预训练(Continual Pre-training of LMs)
    • 在无标签数据上持续预训练 LM 已被证明对任务性能有益 (2020; 2020)
    • 以上这些工作仅使用任务数据,论文还提出了一种任务无关的方法 ETA-DACP,因为任务相似性并不总是可行
    • 其他方法如 DAS (2023) 不预先选择数据,而是在训练过程中动态进行重要性采样,这使得其成本是普通预训练的 3 倍
      • 此外,DAS 使用两个模型副本之间的对比学习,增加了内存需求
    • 与所有这些在小语言模型(如 BERT/RoBERTa)上进行实验的方法不同,据论文所知,论文是第一个探索 LLM 持续预训练数据选择的工作
  • 数据选择(Data Selection)
    • 持续预训练的数据选择在选择最有价值的训练样本中起着关键作用
    • 各种独立于特定领域或任务的语言特征已被证明对数据选择和学习课程有益 (2017; 2016)
    • 在 LLM 的背景下,对于如何筛选预训练数据,尤其是持续预训练数据的理解仍然有限
    • 据论文所知,论文是第一个在 LLM 持续预训练背景下尝试数据选择的工作

Limitations

  • 巨大的计算需求(Huge Computational Requirements) :论文使用 AWS 上的 p4d.24xlarge 实例运行实验,成本非常高(每天 800-1000 美元)
    • 因此,运行这些实验非常昂贵,很少有研究人员有资源进行此类实验
    • 然而,由于论文的方法正是通过降低预训练成本来解决这一问题,作者相信论文的工作将有助于 LLM 的民主化,尽管成本仍然较高
  • 领域泛化(Domain Generalization) :论文的结果和实验完全基于金融领域
    • 这些结果可能无法推广到其他领域
    • 由于预训练实验的高昂成本,论文无法将其扩展到其他领域
  • 模型泛化(Model Generalization) :论文的数据选择方法已在 Pythia-1B 模型上测试,但可能无法推广到更大规模的模型
    • 在 7B 等更大模型上展示论文讨论的四种数据选择策略变体的计算成本过高
    • 然而,表2 中显示在 7B 模型上持续预训练的效果(+8.27%)远高于 1B 模型(+2.82%),这一结果令人鼓舞
  • 与从头训练领域 LLM 的对比(Comparison with training a Domain LLM from scratch)
    • 尽管论文提出了一种比从头训练领域 LLM 更便宜的替代方案,但目前尚不清楚这两种策略中哪一种更适合创建领域 LLM:从头训练领域 LLM 还是持续预训练

附录A BloombergGPT 性能基准测试(Benchmark BloombergGPT’s Performance)

  • 注:BloombergGPT 是一个用于金融的大型语言模型,是彭博社(Bloomberg)和约翰霍普金斯大学联合开发的
  • 由于 BloombergGPT 使用内部数据分割进行评估,且报告指标的计算细节可能不一致,因此无法直接将其结果与论文的结果进行比较
  • 为了充分评估持续预训练的效果,论文基于 FLARE 框架对 BloombergGPT 进行基准测试
    • 具体包括评估 OPT-66B 和 GPT-NeoX-20B 在 FLARE 中的性能,并与Wu等人(2023b)报告的结果进行对比
    • 这种严格的基准测试确保了评估的公平性和全面性,为论文的持续预训练方法与从头训练的金融 LLM 的效果比较提供了有价值的见解
  • 表5展示了对比结果
    • GPT-NeoX 在两种评估框架下的平均任务性能相似,但在单个任务上的表现存在差异
      • 例如,FLARE 评估的 FiQA SA 任务的 F1 分数比 BloombergGPT 的评估结果高出 46%,而 Headline 和 NER 任务的 F1 分数则较低
    • OPT-66B 在 FLARE 上的所有4个任务结果均低于 BloombergGPT 的评估结果,平均任务性能低了20%
      • 这些结果表明,BloombergGPT 的评估结果相较于 FLARE 可能存在高估。除非 BloombergGPT 在 FLARE 上进行基准测试或其评估配置公开,否则这一比较仍无法定论

附录B Intuition behind Domain Task Performance and Data Selection

  • 本节论文将问题形式化,并从数学角度解释为何基于相似性的方法效果最佳
  • 问题形式化 :给定一个未标注的领域预训练语料库 \(\mathcal{U}\)(图1中的绿色区域),接下来分为两种场景:是否存在未标注的任务语料库
    • 第一种场景是存在任务语料库(单个或多个任务)\(\mathcal{T}\)(图1中的红色区域)
    • 通常,任务语料库是领域语料库的子集,即 \(\mathcal{T} \subset \mathcal{U}\),且 \(|\mathcal{U}| \gg |\mathcal{T}|\)
    • 数据选择的目标是从 \(\mathcal{U}\) 中选择一个子集 \(\mathcal{D}\),以最有助于预训练 LLM 模型
    • 论文假设所选领域语料库子集远大于任务语料库,即 \(|\mathcal{D}| \gg |\mathcal{T}|\)
    • 数据选择问题可以形式化为选择最优子集 \(\mathcal{D}^* \subset \mathcal{U}\):
      $$
      \mathcal{D}^* = \mathop{argmin}_{\mathcal{D} \subset \mathcal{U} } \mathbb{E}_{x \in \mathcal{T} }[\mathcal{L}_t(y|f(\theta^*;x))]
      $$
      • \(f(\theta;\cdot)\) 是参数为 \(\theta\) 的 LLM
      • \(y\) 是任务输出,\(x\) 是目标任务数据 \(\mathcal{T}\) 的输入
      • \(\mathcal{L}_t\) 是目标任务损失或指标
      • \(\theta^*\) 通过预训练任务计算:
        $$
        \theta^* = \operatorname*{argmin}_{\theta} \mathbb{E}_{x_u \in \mathcal{D} }[\mathcal{L}_{\text{pre-train} }(f(\theta;x_u))]
        $$
        • \(\mathcal{L}_{\text{pre-train} }\) 是预训练损失
        • \(x_u\) 是 \(\mathcal{D}\) 中的未标注样本
  • 论文的领域自适应持续预训练可以从无监督领域自适应(2016)的角度理解
    • 源数据是大型无监督领域语料库,目标数据是目标任务数据
    • 通过预训练,论文无法直接控制与任务训练数据的对齐;论文的思路是通过在预训练中与领域对齐,使LLM与任务对齐
    • 这一直觉得到了LLM预训练在开放领域任务上提升性能的证据支持
  • 论文使用(2016;2010)的泛化界,因为论文的问题与无监督领域自适应类似
    • 给定假设空间为 \(\mathcal{H}_p\),其中 \(f \in \mathcal{H}_p\);
    • 在源数据 \(\mathcal{D}\) 和任务数据 \(\mathcal{T}\) 上的泛化误差分别为 \(\epsilon_{\mathcal{D} }\) 和 \(\epsilon_{\mathcal{T} }\)
    • 泛化界可以表示为:
      $$
      \epsilon_{\mathcal{T} }(f) \leq \epsilon_{\mathcal{D} }(f) + \frac{1}{2} d_{\mathcal{H}_p \Delta \mathcal{H}_p}(\mathcal{D}, \mathcal{T}) + \mathcal{C}
      $$
      • 其中,\(d_{\mathcal{H}_p \Delta \mathcal{H}_p}\) 是 \(\mathcal{D}\) 和 \(\mathcal{T}\) 之间的分布差异距离,由(Ganin等,2016)界定:
        $$
        d_{\mathcal{H}_p \Delta \mathcal{H}_p}(\mathcal{D}, \mathcal{T}) \leq 2 \sup_{\alpha(h) \in \mathcal{H}_d} [\alpha(h) - 1]
        $$
        • \(\alpha(h)\) 是最优领域分类器
        • \(\mathcal{H}_d\) 是领域分类器的假设空间
  • Zhao等(2017)证明,当领域分类器具有随机预测(达到最高熵状态)时,差异距离 \(d_{\mathcal{H}_p \Delta \mathcal{H}_p}(\mathcal{D}, \mathcal{T})\) 最小
  • 作者认为,当两个领域样本的表示最相似时,领域分类器无法区分两个数据集的分布,从而实现这一状态。
  • 基于这一直觉,我们可以使用与任务数据集 \(\mathcal{T}\) 表示最相似的样本选择策略
  • 论文使用 Embedding 相似性作为数据集相似性的代理,因为在大型语料库中获取最优表示具有挑战性且不切实际

附录C Qualitative Evaluation

  • 表6 展示了 Pythia-6.9B 和 FinPythia-6.9B 生成的定性示例
  • 通过观察发现,FinPythia-6.9B 在回答金融相关问题时能够生成更相关且详细的响应
    • 例如,在第一个示例中,Pythia 对金融领域术语“SPAC”一无所知并开始产生幻觉,而 FinPythia 给出了 SPAC 的正确定义
    • 其他三个示例也表现出相同的趋势
  • 这些结果表明,持续预训练帮助 FinPythia-6.9B 获得了 Pythia 所缺乏的领域知识

附录D Train and Test Loss of Continual Pre-training Methods

  • 为了监控预训练过程,论文从金融语料库中随机抽取 0.1% 作为金融测试数据集,并在 Pile 测试数据集上评估模型
    • 理解:相当于 金融数据集 + Pile 数据集(开放领域)同时做测试
    • 注:Pile 数据集是一个用于大语言模型训练的多样性大规模文本语料库,由 22 个不同的高质量子集构成,包括现有的和新构建的,许多来自学术或专业来源。这些子集包括 Common Crawl、Wikipedia、OpenWebText、ArXiv、PubMed 等(Pile 数据集总计规模大小有825GB 英文文本)
  • 图3 展示了 FinPythia-6.9B 的损失轨迹(图中的训练损失通过 50 个优化步骤的移动平均平滑处理)
    • 论文观察到,在持续预训练的早期阶段,金融测试(Fin test)损失急剧下降,随后逐渐趋于饱和,这与从头训练的损失轨迹类似(2023b;)
    • 损失日志表明,领域自适应持续预训练成功地将 Pythia 适配到金融领域,同时 Pile 测试(Pile test)损失仅有轻微增加
  • 图5 展示了论文的高效 DACP 方法在金融领域损失(Fin Test)和开放领域损失(Pile Loss)上的表现
    • ETS-DACP-com(硬采样)的 Fin Test 损失最低
      • 因为它结合了任务知识以及金融语料库中高熵/高困惑度的样本(这种选择差异如 图4 所示)
    • 软采样方法的所有 Fin Test 损失相似
      • 因为论文对整个金融语料库空间进行采样,使模型能够看到语料库的完整空间(图1中的绿点),类似于图4(b)
    • 硬采样的 ETS-DACP 上 Fin Test 损失和 Pile Test 损失较高
      • 因为它局限于任务分布(图4(a)中的蓝色区域),而任务无关方法则覆盖了更广泛的金融语料库分布(图4(b))
    • ETA-DACP-ent 和 ETA-DACP-ppl 的损失曲线相似
      • 因为它们都从整个金融语料库中采样
    • ETS-DACP-com 的损失高于这两者但低于 ETS-DACP
      • 因为它是三种采样技术的混合
  • ETS-DACP 在开放领域 Pile Loss 上的损失最高
    • 然而,论文并未观察到 ETS-DACP 在开放领域任务上的性能显著下降(注:其实是降低了的,-2.85% 不算太低了吧)
  • ETA-DACP-ent 和 ETA-DACP-ppl 的损失高度相关(各个测试集上表现都差不多),而 ETA-DACP-ppl 在论文的任务上表现始终明显较差
    • 这说明:实际任务性能与损失曲线之间相关性较低(损失函数不能作为衡量实际任务性能的唯一指标),使用未标注数据的验证/测试损失作为任务性能的代理(proxy)并不理想(至少在该领域中如此)
      • 这与(Liu等,2023)关于任务性能与预训练损失低相关性的观察一致

附录E 困惑度、相似性与多样性(Perplexity, Similarity, and Diversity)

  • 本节论文深入分析金融语料库中困惑度、相似性和多样性的分布。论文发现,这三个指标均呈现高度偏态分布。具体而言,如图7顶部所示,相似性指标呈现双峰模式,可能是由于金融语料库中存在两个不同的数据源
  • 图6 展示了三个指标的 Spearman 秩相关性
    • 三个指标的相关性较低,表明通过这三个指标排序选择的数据子集重叠度不高
    • 这启发论文创建 ETS-DACP-com 方法,将三个指标结合起来以平衡不同维度
  • 图8 展示了硬采样下各高效 DACP 方法所选子集的三个指标分位数分布

附录F ETS-DACP-com vs ETS-DACP

  • ETS-DACP-com 有效平衡了领域特定 LLM 和任务特定 LLM 的构建
    • 为证明其有效性,论文使用相似性、知识新颖性和多样性的平均分位数作为采样权重,通过加权采样选择 10% 和 20% 的金融语料库(无放回)构建训练数据
  • 图8 展示了金融语料库各子集的平均样本分位数
  • 作者认为,对三个指标的分位数取简单平均可以在三个维度之间实现良好平衡——每个子集的三个维度平均分位数处于相近范围
  • 相比之下,ETS-DACP 的子集表现出更高的困惑度和较低或中等的熵,表明未标注任务数据包含新知识但多样性较低
  • 对于 ETA-DACP-ppl 和 ETA-DACP-ent,样本在其他两个维度上分布均匀

附录G Financial Dataset Curation

  • 常见的金融语料库包括SEC文件(2018)、电话会议记录(2019)、分析师报告、金融推文(2022)、金融新闻(2018)等
  • 论文使用来自Financial News CommonCrawl和SEC文件的金融新闻和文件构建金融领域语料库,具体步骤如下:
  • Financial News CommonCrawl [13.2B词,83.5%]
    • 论文通过预处理 AWS S3 上公开的 2016年 至 2022年 News CommonCrawl 数据转储,构建英文金融新闻数据集
    • 为从大量新闻数据中识别金融新闻文章,论文采用两种过滤机制:域名过滤和 URL 关键词过滤
    • 首先,论文建立了一个全面的金融新闻网站域名组合,例如 CNBC,保留这些来源的新闻文章,它们构成了金融语料库的主要部分
    • 其次,为从一般新闻媒体中捕获金融文章,论文观察到许多媒体为商业、经济或金融新闻设置了专门板块或子域名(例如Fox Business)。论文采用基于关键词的方法有效识别这些金融文章
    • 过滤过程确保选择适合金融领域持续预训练的语料库
  • SEC文件 [3.3B words,16.5%]
    • 美国上市公司需定期提交财务报表
    • 美国证券交易委员会(SEC)通过电子数据收集、分析和检索(Electronic Data Gathering, Analysis, and Retrieval,EDGAR)系统公开这些文件
    • 论文纳入了 1993年 至 2022年 的 10K 文件,并使用 Loukas等人(2021)的包进行解析和预处理
    • 此外,论文删除了少于 20 words 的报告部分以提升语料库质量
  • 用于过滤金融新闻的域名列表(List of Domains used to Filter Financial News)
    • 论文使用以下关键词识别子域名和 URL:economy、market、finance、money、wealth、invest、business、industry