斯坦福发布法律指令数据集LawInstruct,统一17个辖区24种语言

在法律领域,语言模型(Language Models, LLMs)的发展一直面临着独特的挑战。法律文本的复杂性、专业术语的广泛使用以及对精确性和可靠性的极高要求,使得法律领域的自然语言处理(Natural Language Processing, NLP)任务变得尤为困难。近年来,随着大语言模型(Large Language Models,LLMs)的快速发展,我们见证了在多个基准测试中性能的显著提升,例如SuperGLUE、MMLU,以及各种人类考试,包括美国律师资格考试。然而,特定领域训练(domain-specific training)与领域内评估(within-domain evaluation)之间的相互作用尚不清楚。

分享几个网站

GPT-3.5研究测试:
https://hujiaoai.cn

GPT-4研究测试:
https://higpt4.cn

Claude-3研究测试(全面吊打GPT-4):
https://hiclaude3.com

本文将探讨在法律特定语料库上训练的模型在法律领域评估基准上的表现。我们将展示特定领域预训练和指令调整(instruction tuning)如何提高性能,但这种效果并不会在所有任务、训练体制、模型大小和其他因素中普遍存在。此外,尽管大型封闭模型在法律文本上的表现要好于较小的开放模型,但在法律领域,由于信任和数据保护的原因,许多公司需要在本地部署模型,因此不能使用公共模型,这强调了开放模型的需求。

如下图所示,本研究提出的FLawN-T5模型,通过在领域内指令调整和继续预训练Flan-T5模型,探索提升模型性能的潜力。通过整合和编写指令,本文创建了首个法律指令数据集LawInstruct,并在此基础上对T5系列模型进行了继续预训练和指令调整,取得了在LegalBench上的新的最佳表现。论文还对不同的数据集配置进行了广泛的消融研究,为领域适应提供了新的见解,并公开发布了许可较为宽松的数据集部分。

图片

论文标题:
FLawN-T5: An Empirical Examination of Effective Instruction Tuning Data Mixtures for Legal Reasoning

论文链接:
https://arxiv.org/pdf/2404.02127.pdf

项目地址:
https://huggingface.co/lawinstruct/lawinstruct
https://github.com/JoelNiklaus/LawInstruct/

构建法律指令数据集:LawInstruct的创立与特点

1. 覆盖范围与语言多样性

LawInstruct是一个大型的法律指令数据集,它的创建是为了填补现有法律任务数据集的空白,并加速法律领域模型的发展。这个数据集涵盖了17个司法管辖区,包括24种语言,从而确保了其广泛的覆盖范围和语言多样性。这种多样性对于构建能够处理不同法律系统和语言环境的模型至关重要。

2. 数据集规模与任务类型

LawInstruct数据集的规模相当庞大,包含了总计1200万个示例。这些示例涉及多种任务类型,如问答(QA)、蕴含、摘要和信息提取等,每个任务都配有相应的指令和输出。这种多任务性质的数据集为法律领域的自然语言处理模型提供了丰富的训练材料,有助于提升模型在各种法律推理任务上的性能。

下图是LawInstruct中的StackExchangeQuestionsLegal的指令模板,填充了指令(Instruction)、提示(Prompt)和答案(Answer)。模型被训练为基于指令和提示生成答案。

图片

模型性能提升:特定领域预训练与指令调整

1. 预训练的法律语料库:MultiLegalPile

为了进一步提升模型的性能,研究人员使用了MultiLegalPile,这是一个689GB的多语言法律语料库,包含来自17个司法管辖区的文本。这个语料库的多样性和规模为模型提供了一个广泛的法律领域预训练平台。通过在此语料库上进行预训练,模型能够更好地适应法律语言的特点和复杂性。

2. 指令调整的影响与改进

指令调整是提升模型性能的另一个关键步骤。通过在LawInstruct上进行微调,研究人员发现Flan-T5 XL模型在LegalBench上的平衡准确率提高了8个百分点,即提升了16%(下表)。然而,这种效果并不是在所有任务、训练体制、模型大小和其他因素中都能普遍实现的。这表明,虽然指令调整对于模型性能的提升至关重要,但其效果可能受到多种因素的影响。因此,研究人员需要继续探索不同的指令调整策略,以便找到最有效的方法来提升法律领域模型的性能。

图片

实验设置与评估方法

1. 模型选择与实验环境

在本研究中,我们选择了T5 v1.1+LM适应模型、Flan-T5以及mT5模型,并考虑了不同的模型尺寸,包括Small、Base、XL和XXL。这些模型被选中的原因包括:Flan-T5 XL和XXL在LegalBench上的表现最佳、T5和mT5允许我们在受控环境中测量多语言性的影响,以及T5模型家族包含从60M参数(Small)到11B参数(XXL)的不同规模,允许我们研究在较小规模下的扩展行为。实验使用了随机种子42,并在TPUv4 pods上进行,使用了2到512个核心。

2. 评估标准:LegalBench与MMLU

评估工作主要在LegalBench和MMLU上进行。LegalBench由162个任务组成,评估了法律分类和推理的不同方面。每个任务根据所涉及的法律推理的广泛类型被分配到六个类别之一。LegalBench的任务来自之前构建的数据集和法律社区成员(如律师、法律影响组织、法学学者)收集的新任务。Massively Multilingual Language Understanding (MMLU) 评估模型的事实知识,包含57个主题的多项选择问题,其中包括与法律相关的三个主题:法理学、国际法和职业法。评估时,我们将温度设置为0,以符合LegalBench评估的公认做法,该评估侧重于最高可能性的Token序列,变化最小。

结果分析:FLawN-T5模型的表现

1. 在LegalBench上的表现

如下图所示,通过在LawInstruct上对Flan-T5模型进行指令调整,我们在LegalBench上取得了58.1的平衡准确率,相比基线提高了8分或16%。对于Small模型,甚至提高了9.6分或38.1%,当我们继续对其进行预训练时,提高了14分或55.4%。

图片

2. 在MMLU上的泛化能力

如下图所示,在MMLU上,大多数类别和任务的表现都有所提升,尤其是社会科学和其他类别。我们发现,性能主要在STEM类别中下降,在人文科学中也有所下降。有趣的是,机器学习类别的下降最大,但高中计算机科学类别的上升最大。在人文科学中,更多“硬”学科受到性能下降的影响,如形式逻辑和逻辑谬误。总体而言,我们在结论和解释类别中看到较低的改进。结论是LegalBench类别中需要更复杂推理能力的类别之一;也许更大的模型在那里会看到更大的收益。

图片

深入探讨:不同训练策略的影响

在本章节中,我们将深入探讨不同训练策略对LLMs在法律领域的性能影响。通过对指令调整的起点模型、数据混合与采样方式、训练数据的许可证类型以及指令样式的多样性等方面的分析,我们旨在揭示这些因素如何影响模型的法律推理能力。

1. 指令调整的起点模型

我们对分别从基础T5模型和Flan-T5模型开始的指令调整进行比较(这些模型有四种不同的尺寸,小型、基础型、XL和XXL)。研究结果显示(下图),对于较大规模的模型,以经过指令调整的Flan-T5作为起点能够带来更佳的性能表现,尤其是在LegalBench测试中。因此,在后续的实验中,除非有特别说明,我们通常将Flan-T5模型作为起始模型进行指令调整。

图片

2. 数据混合与采样方式

数据混合和采样方式对模型的性能有显著影响。在实验中,研究人员发现,当仅使用法律指令数据集(LawInstruct)进行训练时,模型在下游任务的准确性会下降。这可能是因为LawInstruct中的指令与原始Flan指令的表述方式不同。然而,当将法律指令数据与一般指令数据(如flan2)混合时,模型的性能得到了提升(下图)。

图片

此外,通过样本数量进行采样通常比平等采样每个数据集更能提高性能,尤其是在大型模型中(下图中number/equal的对比)。

图片

3. 训练数据的许可证类型

训练数据的许可证类型也是一个重要因素。研究发现(上图中res/comm的对比),对于大型模型,使用商业许可证的数据就足以达到良好的性能。这表明,在某些情况下,更多样化的、仅供研究使用的数据并没有显著的额外好处。

4. 指令样式的多样性

指令样式的多样性对模型性能的影响是混合的。在一些情况下,使用单一的手工编写指令比使用十个由GPT-4改写的指令更有效(下图)。然而,对于小型模型,多样化的指令样式似乎更有益。整体而言,使用单一指令可能已经足够,而无需额外的多样化。

图片

结论与未来展望:法律领域模型的发展方向

我们成功创建并发布了LawInstruct,这是首个针对法律领域的指令调整数据集。通过整合多个高质量注释的数据集,并为不同法律任务编写详细的指令,我们对基于T5的模型进行了指令调整,开发出了FLawN-T5,并在LegalBench的所有参数尺寸上取得了最先进的成果。

未来的计划,首先进一步扩展LawInstruct,纳入更多高质量的法律数据集,如长篇幅法律问答、关键词生成、否定范围解析和法律违规检测等,这些都是我们实验之后发布的数据集。此外,我们期望与法律专业人士合作,识别并标注法律领域的新任务,以更好地适应和解决实际法律问题。

其次,探索合成数据在法律领域的应用。包括根据指令生成响应或反向操作,从响应生成指令。然而,我们必须注意进行严格的质量检查,以防止生成的错误内容对法律领域的应用造成损害。

最后,我们计划研究T5预训练数据集C4与MultiLegalPile之间的重叠,以更深入地理解持续预训练的潜在好处。通过这些工作,我们希望进一步提升法律领域语言模型的性能和应用广度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/552615.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

工业数学模型——高炉煤气发生量预测(三)

1、工业场景 冶金过程中生产的各种煤气,例如高炉煤气、焦炉煤气、转炉煤气等。作为重要的副产品和二次能源,保证它们的梯级利用和减少放散是煤气能源平衡调控的一项紧迫任务,准确的预测煤气的发生量是实现煤气系统在线最优调控的前提。 2、…

JRT在线初始化完善

之前实现的在线初始化留了个尾巴,那就是环境下载页构造zip包的时候没修改JRTBrowser的连接串地址为当前网站,这样就要求网站部署好之后给用户下载之前有人要把服务器的浏览器地址配置好。这样就增加一个运维工作,如果忘了或者不知道的人就会导…

基于SSM的计算机课程实验管理系统的设计与实现(内附设计LW + PPT+ 源码下载)

基于SSM的计算机课程实验管理系统的设计与实现 项目名称: 基于SSM的计算机课程实验管理系统的设计与实现 项目技术栈 该项目采用了以下核心技术栈: 后端框架/库: SSM (Spring Spring MVC MyBatis)数据库: MySQL前端技术&…

01 JavaScript学习 导读

什么是JavaScript? JavaScript 是一种用于创建交互式网页和网络应用程序的脚本语言。它是一种高级、动态类型的语言,广泛用于客户端网页开发,可以用来增强网页的交互性并实现各种功能。 以下是 JavaScript 的一些重要特点和用途:…

Linux中进程和计划任务

一.程序 1.什么是程序 (1)是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具 (2)用于描述进程要完成的功能,是控制进程执行的指令集 二.进程 1.什么是进程…

ORAN C平面 Section Extension 23

ORAN C平面Section扩展23用于任意symbol模式的调制压缩参数。此section扩展允许为一个或多个“SymPrbPatterns”指定多组“mcScaleReMask、csf和mcScaleOffset”值。“SymPrbPattern”用于指定一组PRB,这些PRB可以跨越使用prbPattern指定的整个PRB范围(频…

20240329-1-SVM面试题

SVM面试题 1. SVM直观解释 SVM,Support Vector Machine,它是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;其还包括核技巧,这使它成为实质上的非线性分类…

ACID模型是什么

ACID模型是什么 ACID模型是数据库管理系统中保证事务处理安全性的一组特性。ACID是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)四个英文单词的…

使用 ECharts 绘制咖啡店各年订单的可视化分析

使用 ECharts 绘制咖啡店各年订单的可视化分析 在这篇博客中,我将分享一段使用 ECharts 库创建可视化图表的代码。通过这段代码,我们可以直观地分析咖啡店各年订单的情况。 饼图 这段代码包含了两个 ECharts 图表,一个是饼图,用…

lomobok源码编译学习笔记(1)

lomobok学习笔记(1) 项目导入 lombok的github地址 GitHub - projectlombok/lombok: Very spicy additions to the Java programming language. 开发工具 idea不知道为啥,装上ant工具也不好用,eclipse默认自带有ant,不需要装。…

matlab关于COE文件之读取操作

平台:matlab2021b 场景:在使用fir滤波器后,我们使用matlab生成coe文件后。在xilinx新建IP的后,数据流经过FIR的IP核后数据位宽变宽。这时候我们需要对数据进行截位。这时候需要读取coe文件求和后,计算我们需要截位的位…

Shell学习 - 2.27 Linux bc命令:一款数学计算器

Bash Shell 内置了对整数运算的支持,但是并不支持浮点运算,而 Linux bc 命令可以很方便的进行浮点运算,当然整数运算也不再话下。 bc是"Basic Calculator"的缩写。 bc 甚至可以称得上是一种编程语言了,它支持变量、数组…

初识ansible核心模块

目录 1、ansible模块 1.1 ansible常用模块 1.2 ansible-doc -l 列出当前anisble服务所支持的所有模块信息,按q退出 1.3 ansible-doc 模块名称 随机查看一个模块信息 2、运行临时命令 2.1 ansible命令常用的语法格式 3、常用模块详解与配置实例 3.1命令与…

RK3568驱动指南|第二篇 字符设备基础-第16章 一个驱动兼容不同设备实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

PhotoShop2024安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 Adobe Photoshop是一款由Adobe Systems开发的图像编辑软件。它被广泛用于图像处理和数字艺术创作,是设计师、摄影师和艺术家们的首选工具之一。 主要功能: 图像编辑: Photoshop提供了丰富的编辑…

content-type对数据采集的影响,猿人学58题

在拿猿人学网站 https://www.python-spider.com/api/challenge58 练习的时候发现请求头中少了 content-type之后结果全部不对了 当我设置headers如下时 headers {# accept: application/json, text/javascript, */*; q0.01,content-type: application/x-www-form-urlencode…

【前端Vue】Vue从0基础完整教程第7篇:组件化开发,组件通信【附代码文档】

Vue从0基础到大神学习完整教程完整教程(附代码资料)主要内容讲述:vue基本概念,vue-cli的使用,vue的插值表达式,{{ gaga }},{{ if (obj.age > 18 ) { } }},vue指令,综合…

使用WebSocket实现答题积分排名实时更新的功能

需求分析 接到一个需求,是一个答题积分小程序,其中有一个功能需求是需要实时更新答题积分排名的。之前通常比较常见的需求,都是指定某个时间点才更新答题排行榜的数据的。 经过技术调研,要实现答题积分排名实时更新的功能&#…

基于SpringBoot+Vue的装饰工程管理系统(源码+文档+包运行)

一.系统概述 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统装饰工程项目信息管理难度大,容错率低&a…

Word分节后,页码不连续、转PDF每节后多出空白页解决办法

1. 问题图例 废话少说,先上图: 2. 问题分析 问题分析:出现以上问题的原因可能有, 未链接到上一节页面布局中节的起始位置设置为[奇数页] 3. 解决问题 若为【1. 未链接到上一节】导致该问题出现,则我们需要选中页脚…