SciLitLLM:如何使大型语言模型适应科学文献理解

我是芝士AI吃鱼,原创 NLP、LLM、超长文知识分享
热爱分享前沿技术知识,寻找志同道合小伙伴
公众号 :芝士AI吃鱼

  1. 引言

论文:SciLitLLM: How to Adapt LLMs for Scientific Literature Understanding

随着大语言模型(LLMs)在自然语言处理领域取得突破性进展,如何将这些模型应用于特定领域,尤其是科学文献理解,成为了一个重要的研究课题。本文介绍的SciLitLLM提出了一种创新的方法,通过结合持续预训练(Continual Pre-training, CPT)和有监督微调(Supervised Fine-tuning, SFT),有效地将通用LLM适应到科学文献理解任务中。

  1. 研究背景与挑战

2.1 现有LLMs在科学文献理解中的局限性

尽管通用LLMs在多个领域表现出色,但在科学文献理解方面仍面临两个主要挑战:

  1. 缺乏深入的科学领域知识
  2. 不熟悉特定的科学任务格式和要求

这些挑战导致LLMs在处理科学文献时常出现错误或无法准确理解任务要求。

2.2 现有方法的不足

目前主要有两种适应LLMs到科学领域的方法:

  1. 使用科学指令进行微调
  2. 在科学语料上进行预训练

然而,这两种方法各有局限:

  • 单纯的指令微调难以注入全面的科学知识
  • 纯预训练方法计算成本高昂,且难以适应特定任务需求
  1. SciLitLLM方法论

为克服上述挑战,SciLitLLM提出了一种结合CPT和SFT的混合策略。这种方法旨在同时注入领域知识并增强模型执行特定科学任务的能力。

3.1 持续预训练(CPT)

CPT阶段的主要目标是向模型注入丰富的科学领域知识。

3.1.1 数据收集与预处理

SciLitLLM使用了大规模的科学语料库,包括:

  • 73,000本科学教科书
  • 625,000篇学术论文

这些文档主要以PDF格式存储,因此需要进行复杂的预处理:

a) 文本提取: 使用PyPDF2工具从PDF文件中提取原始文本。

b) 格式和语法纠错: 利用Llama3-7B-Instruct模型对提取的文本进行纠错。这一步骤至关重要,因为PDF解析常常引入各种格式和语法错误。

c) 质量过滤: 训练了一个基于BERT的轻量级文本质量分类器,用于过滤低质量内容。该分类器在50,000个样本上进行训练,评估标准包括教育价值、连贯性等。

经过这些处理步骤,最终得到了约12.7亿个token的高质量科学语料库。

3.1.2 CPT训练设置

  • 基础模型: Qwen2-Base
  • 训练数据: 23.7亿token (包括处理后的科学语料和等量的通用语料)
  • 序列长度: 2,048 tokens
  • 学习率: 1e-5到0 (余弦衰减)
  • 权重衰减: 0.1
  • 梯度裁剪: 1.0
  • 训练时长: SciLitLLM-7B约3天(32 A100 GPUs), SciLitLLM-72B约10天

3.2 有监督微调(SFT)

SFT阶段旨在增强模型理解和执行特定科学任务的能力。

3.2.1 指令数据生成

由于缺乏高质量的科学指令数据集,SciLitLLM提出了一种新颖的指令合成方法:

a) 关键词提取: 从高影响力科学论文中提取关键词,构建词频表。

b) 任务模板设计: 设计了包括表格提取、实体提取、分子转换等在内的多种任务模板。

c) 指令生成: 使用GPT-4模型,结合采样的关键词和任务模板生成指令-回答对。

d) 质量控制:

  • 使用Levenshtein距离进行模糊去重
  • 利用Llama3-70B对指令质量进行评估,从多个维度(如清晰度、复杂度、正确性等)打分

最终生成了约110,000条高质量的科学文献理解指令,称为SciLitIns数据集。

3.2.2 SFT训练设置

  • 训练数据: SciLitIns (110k指令) + SciRIFF (70k指令) + Infinity-Instruct (3M通用指令)
  • 序列长度: 4,096 tokens
  • 学习率: 5e-6 (余弦衰减)
  • 训练策略:
  1. 在Infinity-Instruct上训练1个epoch
  2. 在SciLitIns和SciRIFF上训练5个epochs
  • 训练时长: SciLitLLM-7B约32小时, SciLitLLM-72B约100小时 (均使用32 A100 GPUs)
    1. 实验结果与分析

    4.1 评估基准

    SciLitLLM在以下基准上进行了评估:

    1. CPT阶段:

    • MMLU (Massive Multitask Language Understanding)
    • CMMLU (Chinese MMLU)
    • Xiezhi (多语言科学知识评估)
  • SFT阶段:

    • SciAssess (端到端PDF内容理解基准,包含29个任务,跨5个科学领域)
    • SciRIFF (科学文献理解基准,包括信息抽取、摘要、问答等任务)

    4.2 主要实验结果

    表1: SciLitLLM在SciAssess和SciRIFF上的性能比较

    Model SciAssess SciRIFF
    SciTulu-7B 33.2 47.0
    Mistral-7B 40.6 49.3
    Llama3-8B 45.0 49.1
    Qwen2-7B 48.8 48.7
    SciLitLLM-7B 52.4 59.4
    Llama3-70B 55.7 53.5
    Qwen2-72B 57.8 58.9
    SciLitLLM-72B 59.5 59.7
    GPT-3.5 45.5 50.8
    GPT-4 63.4 60.9

    关键发现:

    1. SciLitLLM-7B在SciAssess上平均提升3.6%,在SciRIFF上提升10.1%,相比其他15B以下参数的模型。
    2. SciLitLLM-72B (使用QLoRA训练) 在这两个基准上的表现超过了许多更大规模的开源模型,接近GPT-4的性能。

    4.3 消融实验

    为了验证各个组件的有效性,进行了一系列消融实验:

    1. CPT的影响:

    表2: CPT对模型性能的影响

    Model SciAssess SciRIFF
    Qwen2-7B-Instruct 48.8 48.7
    Qwen2-7B-Base + SFT 48.1 51.6
    Qwen2-7B-Base + CPT + SFT 52.4 59.4

    结果表明,单独进行SFT无法显著提升性能,而结合CPT和SFT可以带来显著improvement。

    1. SFT数据配方的影响:

    表3: 不同SFT数据配方的效果

    SFT Dataset SciAssess SciRIFF
    Infinity-Instruct 44.5 44.7
    Infinity-Instruct + SciRIFF 42.2 53.9
    Infinity-Instruct + SciRIFF + SciLitIns 52.4 59.4

    结果显示,加入专门的科学指令数据集(SciRIFF和SciLitIns)对提升模型性能至关重要。

    1. 指令质量过滤的影响:

    表4: 指令质量过滤的效果

    Dataset SciAssess SciRIFF
    SciLitIns w/o 过滤 51.1 56.2
    SciLitIns w/ 过滤 52.4 59.4

    质量过滤能进一步提升模型在科学文献理解任务上的表现。

    1. 创新点与贡献

    2. 提出了一个结合CPT和SFT的有效框架,用于将通用LLM适应到科学文献理解任务。这个框架具有良好的可扩展性,可以应用到其他专业领域。

    3. 设计了一种基于LLM的指令合成方法,生成了高质量、多样化的科学指令数据集SciLitIns。这为欠表示的科学领域提供了有价值的训练资源。

    4. 开发的SciLitLLM模型在多个科学文献理解基准上取得了优异的性能,证明了所提方法的有效性。

    5. 局限性与未来工作

    尽管SciLitLLM取得了显著成果,但仍存在一些局限性:

    1. CPT数据量: 相比其他大规模预训练数据集,当前用于CPT的数据量相对较小。未来可以考虑纳入更多的科学语料,如科学博客或纯合成数据。

    2. 推理技术: 当前方法没有探索高级推理技术(如Chain-of-Thought或Tree-of-Thought)在数据构建或模型推理阶段的应用。这些技术可能进一步提升模型的推理能力。

    3. 人类偏好对齐: 由于资源限制,没有进行人类反馈强化学习(RLHF)来进一步对齐模型输出与人类偏好。这是未来工作的一个重要方向。

    4. 结论

    SciLitLLM提供了一种有效的方法,将通用大语言模型适应到科学文献理解任务中。通过创新的数据处理流程和模型训练策略,SciLitLLM在多个科学文献理解基准上取得了优异的性能。

    本文 PPT,请在公众号主页点击“分享合集“即可获取


    欢迎一起沟通讨论~


    请使用浏览器的分享功能分享到微信等