ChatLaw:中文法律大模型

在这里插入图片描述

  论文题目:ChatLaw: Open-Source Legal Large Language Model with Integrated External Knowledge Bases
  论文日期:2023/06/28
  官网地址:https://www.chatlaw.cloud
  论文地址:https://arxiv.org/abs/2306.16092
  GitHub地址:https://github.com/PKU-YuanGroup/ChatLaw

文章目录

    • Abstract
    • 1. Introduction
    • 2. Dataset
    • 3. Training Process
      • 3.1 ChatLaw LLM
      • 3.2 Keyword LLM
      • 3.3 Law LLM
    • 4. Experiment and Analysis
    • 5. Conclusions

Abstract

  LLM已经展现出在各个领域彻底改变自然语言处理任务的潜力,引发了人们对特定于垂直领域的大模型的极大兴趣。然而,与BloombergGPTFinGPT等专有模型利用其独特的数据积累在金融领域取得进展不同,在中国法律领域并没有太多类似的大语言模型来促进其数字化转型。
  这篇论文提出了一个开源的法律大型语言模型----ChatLaw。由于数据质量的重要性,作者精心设计了一个法律领域微调数据集。此外,针对参考数据检索时法律数据筛选出现的模型幻觉问题,提出了向量库检索与关键词检索相结合的方法,有效降低了单纯依靠向量库检索的不准确性。此外,提出一种自注意力方法来增强大模型克服参考数据中存在的错误的能力,在模型层面进一步优化模型幻觉问题,提高大模型解决问题的能力。

  将大模型应用于垂直领域的第一步:需要一个质量较高的垂直领域数据集来微调LLM

在这里插入图片描述

1. Introduction

  人工智能的不断拓展和发展,为大规模语言模型的扩散提供了肥沃的土壤。ChatGPTGPT4LLaMAFalconVicunaChatGLM等模型在各种常规任务中表现出了卓越的性能,为法律领域释放了巨大的潜力。然而,很明显,获取高质量、相关和最新的数据是开发大型语言模型的一个关键因素。因此,开发有效和高效的开源法律语言模型变得至关重要。
  在人工智能领域,大模型的发展已经渗透到医疗保健、教育和金融等各个领域:BloombergGPTFinGPTHuatuoChatMed,这些模型已经证明了它们在处理复杂任务和产生有价值的见解方面的作用和影响。然而,法律领域由于其固有的重要性和对准确性的要求,成为一个需要专门研究和发展专门法律模式的领域。
  法律在塑造社会、规范人类交往和维护正义方面发挥着关键作用。法律专业人士依靠准确和最新的信息作出明智的决定,解释法律,并提供法律顾问。法律语言的复杂性、微妙的解释以及不断变化的立法性质提出了独特的挑战,需要有针对性的解决方案。
  然而,当涉及到法律问题时,即使是像GPT4这样最先进的模型,也经常会出现幻觉和荒谬输出的现象。人们倾向于相信使用特定的领域知识对模型进行微调会产生令人满意的结果。然而,在现实中,早期的法律LLM(LawGPT)并非如此,因为仍然存在许多幻觉和不可靠输出的实例。
  作者最初认识到中文法律LLM的必要性。然而,在当时,还没有商业上可用的中文模型参数规模超过130亿。因此,在商业上可行的OpenLLAMA模型的基础上,通过扩展中文词汇并合并来自MOSS等来源的训练数据,这些能够创建一个基础的中文语言模型。随后,结合法律相关数据来训练法律模型----ChatLaw
  这篇论文的主要贡献如下:
  (1) 减轻幻觉的有效方法(Effective Approach to Mitigate Hallucination):提出一种解决幻觉的方法,通过增强模型的训练过程并在推理过程中纳入四个模块:“咨询(consult)”、“参考(reference)”、“自我暗示(self-suggestion)” 和 “响应(response)”。通过参考模块集成垂直模型和知识库,将特定领域的知识注入到模型中,并利用知识库中的准确信息,减少幻觉的发生。
  (2) 基于LLM的法律特征词提取模型:训练一个从用户日常语言中提取法律特征词的模型。该模型识别出具有法律意义的词语,能够有效识别和分析用户输入中的法律语境。
  (3) 基于BERT的法律文本相似度计算模型:训练一个模型来衡量用户日常语言与由93万篇相关法律案件文本组成的数据集之间的相似度。这样就可以建立一个矢量数据库,以便有效地检索类似的法律文本,促进进一步的分析和参考。
  (4) 中文法律考试测试数据集的构建:策划了一个专门用于测试中文法律领域知识的数据集。此外,设计了一个ELO竞技场评分机制来比较不同模型在法律选择题中的表现。
  此外,作者观察到单个通用法律LLM可能无法在该领域的所有任务中发挥最佳性能。因此,针对多项选择题、关键提取、问答等不同场景,训练了不同的模型。为了处理这些模型的选择和部署,使用了HuggingGPT提供的方法,使用一个大型LLM作为控制器。该控制器模型根据每个用户的请求动态地确定调用哪个特定的模型,确保给定的任务使用最合适的模型。

2. Dataset

  在构建数据集的过程中,采用了多种方法来保证数据集的全面性和多样性。数据集组合方法如下:
  收集大量原始法律数据(Collection of a vast amount of original legal data):包括收集法律新闻、社交媒体内容和法律行业论坛的讨论。这些来源提供了各种各样的现实世界的法律文本,提供了各种法律主题和讨论的见解。

在这里插入图片描述

  基于法律法规和司法解释构建(Construction based on legal regulations and judicial interpretations):为确保法律知识的全面覆盖,将相关法律法规和司法解释纳入数据集。这确保了数据集反映了法律框架,并提供了准确和最新的信息。

在这里插入图片描述
  爬取真实的法律咨询数据(Crawling real legal consultation data):检索真实的法律咨询数据,利用现有的法律咨询数据集。这使得包含用户经常遇到的现实世界的法律场景和问题,用实际的法律例子丰富数据集。

在这里插入图片描述
  司法考试多项选择题的构建(Construction of multiple-choice questions for the bar exam):创建了一套专门为司法考试设计的多项选择题。这些问题涵盖了各种法律主题,测试用户对法律原则的理解和应用。

在这里插入图片描述
  通过合并来自这些不同来源和构建方法的数据,该数据集包含了广泛的法律背景,确保所开发的模型能够有效地理解和处理各种法律场景。
  一旦这些数据组件被收集起来,数据集将经历一个严格的清洗过程。这包括过滤短的和不连贯的回复,确保只包含高质量和有意义的文本。此外,为了增强数据集,利用ChatGPT API进行辅助构造,使其能基于现有数据集生成补充数据。

3. Training Process

  关键词LLM是从用户提出的抽象咨询问题中提取关键词的语言模型。另一方面,LawLLM提取可能涉及用户咨询的法律术语。ChatLaw LLM是向用户输出响应的最终语言模型。它参考相关法律条款,利用自身的摘要和问答功能,为用户在咨询中提供建议。

3.1 ChatLaw LLM

  为了训练ChatLAW,作者在Ziya-LLaMA-13B的基础上使用低秩自适应(LORA)对其进行了微调。此外,引入了自我暗示角色来进一步缓解模型幻觉问题。训练过程在多个A100 GPU上进行,并借助deepspeed进一步降低训练成本。

3.2 Keyword LLM

  通过将特定于垂直领域的LLM与知识库相结合来创建ChatLaw产品,根据用户查询从知识库中检索相关信息至关重要。作者最初尝试了传统的软件开发方法,如MySQLElasticsearch进行检索,但效果并不理想。因此,作者尝试了使用预训练的BERT模型进行embedding,然后使用Faiss等方法计算余弦相似度并提取与用户查询相关的前k个法律法规。然而,当用户的问题比较模糊时,这种方法往往会产生次优的结果。因此,本文旨在从用户查询中提取关键信息,并利用这些信息的向量嵌入设计算法来提高匹配精度。
  由于大型模型在理解用户查询方面的显著优势,作者对LLM进行了微调,以从用户查询中提取关键字。在获取多个关键词后,采用如下算法来检索相关法律条文:

在这里插入图片描述

3.3 Law LLM

  使用937k条国家案例的数据集训练BERT模型,从用户查询中提取相应的法律条款和司法解释。这个Law LLM模型构成了ChatLaw产品的重要组成部分。

在这里插入图片描述

4. Experiment and Analysis

  评估大型语言模型(LLM)的性能一直是一个挑战。为此,收集了十多年来的国家司法考试试题,并编制了一个包含2000个问题及其标准答案的测试数据集,以衡量模型处理法律多项选择题的能力。
  然而,作者发现这些模型的准确率通常都很低。在这种情况下,简单地比较准确率似平没有什么意义。因此,受电子竟技中的撮合机制和聊天机器人Arena 的设计启发,建立了ELO积分模型竞赛的评估机制,以更有效地评估模型处理合法多项选择题的能力。
  通过对上述实验结果的分析,可以得出以下结论:
  (1) 引入法律相关问答和法规数据,可以在一定程度上提高模型在多项选择题上的表现;
  (2) 添加用于训练的特定任务类型显著提高了模型在此类任务上的性能。例如,ChatLaw模型优于GPT-4的原因是作者使用了大量的多项选择题作为训练数据;
  (3) 法律选择题需要复杂的逻辑推理,因此参数数量较多的模型通常表现更好。

在这里插入图片描述

5. Conclusions

  这篇论文提出ChatLaw,一个利用法律领域知识开发的大型法律语言模型。具体地,提出了一种将LLM与向量知识库相结合的新方法,显著缓解了LLM中常见的幻觉问题。稳定的模型处理策略使各种法律领域问题的解决成为可能。发布了一个法律类多项选择题数据集,并设计了ELO模型排序机制。
  然而,由于基本模型的规模较大,作者模型的局限性出现了:在逻辑推理和演绎等任务中的表现不是最佳的。此外,在加入大量领域数据后,还需要进一步研究以提高ChatLaw对通用任务的泛化能力。ChatLaw存在潜在的社会风险,作者建议用户将这个方法用于适当的目的。


  关注微信公众号:夏小悠,以获取更多文章、论文PPT等资料^_^

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

31岁音乐家零经验转行「软件开发者」,薪资翻4倍!

整理 | 朱珂欣 出品 | CSDN程序人生(ID:coder_life) 改岗转行,绝非易事。 31 岁前,Charlotte Kies 一直将成为单簧管演奏家和音乐教育家,视为职业人生的终极目标。 如今 33 岁的她,却已实现了…

微软欲模仿“微信”,打造一款超级 App?

整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 「Write Once,Run Anywhere」是很多开发者的梦想,而对于不少开发商而言,他们更希望能够打造一套系统或服务走天下。 近日,据外媒 The Information 报道&a…

7位顶级AI学者,齐聚一堂!对ChatGPT进行“华山”论道!

来源:机器之心 ChatGPT 的走红再次掀起人们对人工智能的关注,那么在 ChatGPT 之后,人工智能将会如何发展?业内及 ChatGPT 的母公司 OpenAI 都认为 AGI 将是未来人工智能的发展方向。 AGI 理论研究和应用实践将可以从哪些方面出发&…

如何解决在线医疗语音问诊的技术难题 | 以眩晕问诊为例

1. 需求分析与业务理解 1.1 临床诊断流程 根据临床经验,眩晕的临床诊断是有固定流程的,如下图所示: 参考来源:吉林大学中日联谊医院耳鼻咽喉头颈外科 郑军 眩晕概述 1.2 临床痛点 根据临床经验,对于眩晕的诊断和问诊…

在线问诊、找科室、找医生、查疾病、图文问诊、电话急诊、健康咨询、问诊平台、咨询平台、问诊服务、语音问诊、开药问诊、看病平台、在线医疗、健康平台、登录注册、信息架构图、全局说明、组件规范、需求清单、

在线问诊、找科室、找医生、查疾病、图文问诊、电话急诊、健康咨询、问诊平台、咨询平台、问诊服务、语音问诊、开药问诊、看病平台、在线医疗、健康平台、登录注册、信息架构图、全局说明、组件规范、需求清单、Axure原型 Axure原型演示及下载地址:https://www.pm…

chatgpt赋能python:Python如何在图像上标注

Python如何在图像上标注 对于图像标注,Python提供了许多工具和库,其中最常用的是OpenCV和Pillow。这篇文章将介绍如何使用Pillow在图像上进行标注。 安装Pillow库 在使用Pillow库之前,需要先安装它。在命令行中输入以下命令: …

C#控制台输出中文显示乱码问题

在要输出中文的语句上加上这一行即可解决乱码问题 Console.OutputEncoding System.Text.Encoding.Unicode; Console.WriteLine("打印中文");但是在XP系统上会报错

Qt在打印输出中文的时候出现乱码的解决方法

当在Qt中需要打印文字的时候出现乱码&#xff0c;例如下图所示&#xff1a; qDebug() << " mybutton的析构 " << endl; 输出界面&#xff1a; 解决过程如下&#xff1a; 在对应的.cpp程序中&#xff0c;添加&#xff1a; #pragma execution_characte…

QT输出出现乱码的解决

QT输出出现乱码的解决

解决 cmd 窗口 php 输出中文乱码问题

有的时候我们需要在 cmd 窗口中直接执行 PHP 命令&#xff0c;但是在执行 PHP 文件的时候往往会有中文乱码出现&#xff0c;这个可能会摸不着头脑&#xff0c;不知道怎么在 cmd 窗口中正确的运行 PHP 命令中的文件。本文记录一下如何在 windows 系统中设置 cmd 窗口的默认编码。…

C++输出乱码

最近开始学习c&#xff0c;作为一个初学者&#xff0c;记录一次c输出乱码的情况&#xff1b; 预期的输出应该是这样&#xff0c;结果输出为 与预期效果差距太大&#xff0c;多次查证证后&#xff0c;出错为 修改为以下代码&#xff0c;输出正确 习惯了Python&#xff0c;相比之…

解决代码的中文输出乱码问题

目录 1、初次探究乱码问题2、一劳永逸解决乱码问题3、vscode和subline31、vscode配置本地运行环境2、subline3配置本地运行环境 1、初次探究乱码问题 1、测试程序 //demo.cpp #include <iostream> using namespace std;int main() {cout << "你好呀~欢迎点赞…

解决Vs输出中文乱码的问题

源程序的运行结果是&#xff1a;中文乱码 首先&#xff0c;这个与VS本身无关&#xff0c;问题是出现在windows的dos显示设置上。 如何解决这个问题&#xff1f; 1.打开运行&#xff0c;输入cmd&#xff1b; 2.界面顶部右键&#xff0c;选择默认值&#xff1b; 3.将437&#xff…

控制台输入javac输出中文乱码如何解决

javac是JDK内开发工具中的一个命令。 出现乱码的原因是因为JDK内部使用的是UTF-8字符编码&#xff0c;而WIN系统默认使用的是GBK字符编码&#xff0c;编码不一致时&#xff0c;java无法正常解析文本中的中文字符。 解决此问题办法如下&#xff1a; 右键“我的电脑”-->点…

【python】控制台中文输出乱码解决方案

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录 控制台原因解决方法方法一方法二 方法三如果是os.system函数乱码 控制台原因 一般的情况下&#xff0c;还是我们的源码文件的编码格式问题。我们一般是要把源码文件的编码格式改成utf-8就好了&#xff0c;…

【学术相关】ChatGPT评中国最好的十大高校

来源&#xff1a;硕博生活圈、综合整理自网络 编辑&#xff1a;学妹 ChatGPT大家想必已经知道是什么了&#xff0c;那么在ChatGPT眼中中国最好的十大高校是那些呢&#xff1f;它列出来的榜单吓了我一跳&#xff0c;以下是ChatGPT所列出的学校名单和上榜原因。 清华大学 清华大…

李彦宏:文心一言对标ChatGPT,百度在大厂中第一个做出来

雷递网 雷建平 3月16日 百度今日在北京总部召开发布会&#xff0c;邀请测试主题围绕新一代大语言模型、生成式AI产品文心一言。 百度创始人、董事长兼首席执行官李彦宏出席及百度首席技术官王海峰出席&#xff0c;并展示了文心一言在文学创作、商业文案创作、数理推算、中文理解…

中国版ChatGPT可以乐观以待,有信心实现技术跃迁

中国版ChatGPT可以乐观以待&#xff0c;有信心实现技术跃迁&#xff0c;科大讯飞&#xff01; 国内玩家打造&#xff0c;中国ChatGPT&#xff0c;的劲头&#xff0c;甚至都有点谷歌微软争先恐后那味了。 最具代表性的玩家有两位&#xff0c;一个是有着互联网基因优势的百度&a…

请教ChatGPT若干个关于测试开发职业发展的问题

最近比较热门的ChatGDT&#xff0c;正好有空&#xff0c;问它几个比较热门的问题&#xff0c;看看如何答复&#xff1f; 1.测试开发未来怎么样&#xff1f; 未来的测试和开发将更加自动化&#xff0c; 自动化测试和开发的工具和技术将更加完善&#xff0c; 对于提升软件开发…

ReduceNet

本文直接采用VanillaNet的方案重新开始构建模型ReduceNet。按照VanillaNet的方式极限压缩网络深度至单层 前几天在知乎上看到华为提出的一个VanillaNet&#xff0c;其中的一个设计点和我一直想实现的功能非常类似&#xff0c;即训练阶段的时候模型是比较深的网络&#xff0c;推…