当前位置: 首页 > news >正文

如何让大语言模型更好地理解科学文献?

论文地址:https://arxiv.org/pdf/2408.15545

引言

科学文献的理解对于提取目标信息和获取洞察至关重要,这显著推动了科学发现。尽管大语言模型(LLMs)在自然语言处理方面取得了显著成功,但在科学文献理解方面仍面临挑战,主要由于缺乏科学知识和对特定科学任务的不熟悉。为了开发专门用于科学文献理解的LLM,我们提出了一种混合策略,结合持续预训练(CPT)和监督微调(SFT),以同时注入科学领域知识和增强特定任务的指令遵循能力。

1. 持续预训练(CPT)阶段

1.1 格式与语法校正

在从PDF文档中提取文本时,常常会引入许多格式和语法错误。为了解决这一问题,我们使用Llama3-8B-Instruct模型来校正这些错误。以下是一个校正前后的示例:

校正前的文本:

Highly p e n e t r a t i n g radiation, such as $\gamma$ -rays or fast electorns, deposits ener gy   
throughout the solid t a r g e t material. Gas production occurs w i t h i n the solid phase and must d i f f u s e to the surface to be observed.

校正后的文本:

Highly penetrating radiation, such as $\gamma$ -rays or fast electrons, deposits energy throughout the solid target material. Gas production occurs within the solid phase and must diffuse to the surface to be observed.

格式与语法校正示例

1.2 CPT质量过滤

为了确保训练语料的高质量,我们使用Llama3-70B-Instruct模型对50k个样本进行评分,并根据评分结果过滤掉质量较低的25%数据。以下是评分分布图:

CPT数据评分分布

2. 监督微调(SFT)阶段

2.1 指令生成

为了生成多样化的科学指令,我们设计了一个三步流程:

  1. 领域关键词概率表:收集高影响力论文并统计词频,生成领域关键词概率表。
  2. 科学任务列表:编译一个包含各种科学任务的任务列表。
  3. 指令生成:根据关键词和任务描述生成科学上下文和相应的问答对。

以下是一个生成表格提取任务的示例:

生成表格提取任务的提示:

I need synthetic training data for training a machine learning model that extracts tables from text correctly. The data should be formatted in JSON, with each entry containing ”text” and ”answer” attributes. You should generate a paragraph that includes the keywords: $\{\{\mathrm{keywords}\}\}$ .   
The ”text” part must contain enough information for the table to be extracted! In ”text” part, You must you include a table description in latex format.

生成的示例:

{
”text”: ”In recent studies regarding material science, the crmatrix has shown significant importance in understanding fracture behaviors. The following Table 1 presents a schematic illustration of the enthalpy changes observed during the different fracture phases.”,
”answer”: ”Material,Initial Enthalpy (kJ/mol),Final Enthalpy (kJ/mol),Fracture Phase   
Material A,25.4,47.8,Brittle   
Material B,22.3,45.0,Ductile   
Material C,28.9,50.2,Semi-brittle”
}

2.2 指令质量控制

为了确保生成指令的质量,我们采用启发式去重和基于LLM的过滤方法。以下是评估示例:

SciLitIns质量评估

3. 实验结果

3.1 基准模型性能

SciLitLLM在科学文献理解任务上表现优异,7B和14B版本的模型在SciAssess和SciRIFF基准测试中均取得了领先的成绩。具体来说,SciLitLLM-7B在SciAssess上比第二好的模型高出4.0%,在SciRIFF上高出10.1%。

3.2 消融研究

我们进行了消融实验来验证CPT阶段、SFT数据配方和指令质量过滤的有效性。结果表明,CPT阶段对提高科学文献理解能力至关重要,而SFT阶段使用SciLitIns数据集也能显著提升模型性能。

模型性能对比

4. 结论与未来工作

本文介绍了SciLitLLM,一个专门用于科学文献理解的模型。通过CPT和SFT的结合,我们成功地提升了模型在科学领域的知识基础和指令遵循能力。未来的工作将致力于扩展训练数据的多样性和质量,并探索更高效的方法进行领域特定知识注入和高品质指令生成。

参考文献

  1. Cai, H., Cai, X., Chang, J., Li, S., Yao, L., Wang, C., … & Ke, G. (2024). Sciassess: Benchmarking LLM proficiency in scientific literature analysis. arXiv preprint arXiv:2403.01976.
  2. Wadden, D., Shi, K., Morrison, J., Naik, A., Singh, S., Barzilay, N., … & Cohan, A. (2024). Sciriff: A resource to enhance language model instruction-following over scientific literature. arXiv preprint arXiv:2406.07835.

希望这篇文章对你有所帮助!如果你有任何问题或建议,欢迎在评论区留言。

相关文章:

如何让大语言模型更好地理解科学文献?

论文地址:https://arxiv.org/pdf/2408.15545 引言 科学文献的理解对于提取目标信息和获取洞察至关重要,这显著推动了科学发现。尽管大语言模型(LLMs)在自然语言处理方面取得了显著成功,但在科学文献理解方面仍面临挑战…...

anaconda安装和环境配置

文章目录 一、Anaconda下载1.从官网直接下载:2.从镜像站中下载: 二、Anaconda安装三、检测是否有Anaconda配置anaconda环境 四、 Anaconda创建多个python环境(方便管理项目环境)1.查看conda有哪些环境2.创建python3.6的环境3.激活…...

Python基础学习(五)文件和异常

文件操作, 使用代码 来读写文件 1, 可以将数据保存到文件中, 2, 自动化, 测试数据在文件中保存的, 从文件中读取测试数据,进行自动化代码的执行 1.文件 文件: 可以存储在长期存储设备(硬盘, U盘)上的一段数据即为文件 1, 计算机只认识 二进制数据(0 和 1) 2, 所有的文件在计算…...

Mono里运行C#脚本29—mono_trampolines_init

一、概念解释 在计算机编程中,trampoline 通常是一段代码,它起到一个中间跳转的作用。它就像一个跳板,程序可以先跳转到这个跳板上,然后再从跳板跳转到最终的目的地。这种技术在许多不同的场景中都有应用,以下是一些主要方面: 函数调用方面: 当涉及到不同执行环境或不…...

从语音识别到图像识别:AI如何“看”和“听”

引言 随着人工智能技术的不断进步,AI的“听”和“看”能力正变得越来越强大。从语音识别到图像识别,AI不仅能够通过声音与我们互动,还能通过视觉理解和分析周围的世界。这些技术不仅改变了我们与机器的交互方式,也在各行各业中带…...

vue3+ts+uniapp 微信小程序(第一篇)—— 微信小程序定位授权,位置信息权限授权

文章目录 简介一、先看效果1.1 授权定位前,先弹出隐私协议弹框1.2 上述弹框点击同意,得到如下弹框1.3 点击三个点,然后点设置 1.4 在1.2步骤下,无论同意或者拒绝 二、manifest.json 文件配置三、微信公众平台配置3.1 登录进入微信…...

回归算法、聚类算法、决策树、随机森林、神经网络

这也太全了!回归算法、聚类算法、决策树、随机森林、神经网络、贝叶斯算法、支持向量机等十大机器学习算法一口气学完!_哔哩哔哩_bilibili 【线性回归、代价函数、损失函数】动画讲解_哔哩哔哩_bilibili 14分钟详解所有机器学习算法:…...

[Qt]系统相关-文件操作-QFile、QFileInfo类以及相关操作函数

目录 一、Qt文件系统 1.Qt文件系统的介绍 2.Qt文件类 二、Qt文件的操作 1.文件的打开 2.文件的读写操作 3.关闭操作 4.接口使用案例 5.获取文件的相关属性 三、文件的分类 1.文本文件 2.二进制文件 3.二者的区别 一、Qt文件系统 1.Qt文件系统的介绍 文件操作是所…...

C#高级:用Csharp操作鼠标和键盘

一、winform 1.实时获取鼠标位置 public Form1() {InitializeComponent();InitialTime(); }private void InitialTime() {// 初始化 Timer 控件var timer new System.Windows.Forms.Timer();timer.Interval 100; // 设置为 100 毫秒,即每 0.1 秒更新一次timer.…...

Mac 使用 GVM 管理多版本 Go 环境

使用 GVM 管理多版本 Go 环境 在本文中,我们将使用 gvm(Go Version Manager)工具管理本地多个 Go 语言版本。gvm 功能类似于 Python 的 Anaconda,可以方便地切换不同版本的 Go 环境,非常适合需要多版本开发与测试的场…...

25届合肥工业大学自动化考研复试攻略

本文内容,全部选自联盟自动化考研联盟企业店的:《合肥工业大学控制综合笔试篇》。后续会持续更新更多内容,记得关注哦~ 目录 Part1:复试指南具体内容 Part2:复试复习相关介绍 Part1:复试指南具体内容 1…...

【24】Word:小郑-准考证❗

目录 题目 准考证.docx 邮件合并-指定考生生成准考证 Word.docx 表格内容居中表格整体相较于页面居中 考试时一定要做一问保存一问❗ 题目 准考证.docx 插入→表格→将文本转换成表格→✔制表符→确定选中第一列→单击右键→在第一列的右侧插入列→布局→合并单元格&#…...

前瞻2024:前沿技术的全景洞察与深度剖析

在当今时代,前沿技术以前所未有的速度发展,深刻地改变着我们的生活、工作和社会的各个层面。从人工智能的迅猛发展到量子计算的逐步突破,从生物技术的不断创新到新能源技术的广泛应用,这些前沿技术正成为推动社会进步和经济发展的…...

告别手动编辑:如何用Python快速创建Ansible hosts文件?

在自动化运维领域,Ansible是一款非常强大的工具,它可以帮助我们管理和配置大量的服务器。为了让Ansible能够有效地管理这些服务器,我们需要一个hosts清单文件,该文件定义了Ansible要管理的目标主机。在实际应用中,我们…...

ESP32云开发二( http + led + lcd)

文章目录 前言先上效果图platformio.iniwokwi.tomldiagram.json源代码编译编译成功上传云端完结撒花⭐⭐⭐⭐⭐ 前言 阅读此篇前建议先看 此片熟悉下wokwi https://blog.csdn.net/qq_20330595/article/details/144289986 先上效果图 Column 1Column 2 platformio.ini wokwi…...

Java 基于微信小程序的原创音乐小程序设计与实现(附源码,部署,文档)

大家好,我是stormjun,今天为大家带来的是Java实战项目-基于微信小程序的原创音乐小程序设计与实现。该系统采用 Java 语言 开发,MySql 作为数据库,系统功能完善 ,实用性强 ,可供大学生实战项目参考使用。 博…...

JavaWeb开发(十五)实战-生鲜后台管理系统(二)注册、登录、记住密码

1. 生鲜后台管理系统-注册功能 1.1. 注册功能 (1)创建注册RegisterServlet,接收form表单中的参数。   (2)service创建一个userService处理业务逻辑。   (3)RegisterServlet将参数传递给ser…...

在stm32中C语言编写的程序中,一个整形数据是怎么存储的,高位在前还是低位在前

目录 举个例子 如何验证 小结 在 STM32(基于 ARM Cortex-M 架构)的系统中,默认是小端(Little Endian) 存储方式。也就是说,对于一个整型(例如 32 位 int),它的最低有效…...

Redis系列之底层数据结构字典Dict

Redis系列之底层数据结构字典Dict Dict数据结构 Dict是Redis数据结构中使用最为频繁的复合型数据结构,本质上是一个哈希表 查看redis6.0版本的源码,链接:https://github.com/redis/redis/blob/6.0/src/dict.h 哈希表的结构定义&#xff1…...

CSS 溢出问题及解决方案:实用案例与技巧

在网页开发中,CSS 的布局和样式起着至关重要的作用,但经常会遇到一个棘手的问题——溢出问题。溢出是指元素内的内容超出了其设定的容器大小,这不仅会影响页面的美观,还可能干扰用户体验。本文将详细探讨 CSS 溢出问题的案例&…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...