微调Mistral 7B以实现命名实体识别 (NER)

news2024/11/25 20:32:13

文章来源:fine-tuning-mistral-7b-for-named-entity-recognition-ner

2024 年 4 月 19 日

在自然语言处理(NLP)领域,命名实体识别(NER)被认为是一项关键任务,应用范围广泛,包括信息提取和问题解答系统。

Mistral 7B 是由 Mistral AI 开发的一种创新型开源大型语言模型,它的推出为 NLP 领域带来了重大变革。本文旨在深入探讨 Mistral 7B 在处理 NER 任务方面的能力,重点介绍如何对这一先进模型进行微调,以实现卓越的实体识别性能。

命名实体识别简介

命名实体识别(NER)是 NLP 的一项基本任务,主要用于识别文本中的命名实体并对其进行分类,例如人名、地点、组织、日期等。命名实体的精确识别对于信息检索、情感分析和知识图谱构建等众多下游应用至关重要。

传统的命名实体识别系统依赖于人工规则创建和特征工程技术,这些技术往往缺乏跨领域的可扩展性和鲁棒性。

然而,Mistral 7B 等深度学习和预训练语言模型的出现彻底改变了这一领域。这些模型提供了一种利用大量文本数据的数据驱动方法,从而提高了 NER 任务的性能和可扩展性。

锐意进取: Mistral 7B 与其他开源 LLM 的比较

Mistral 7B 作为领先的竞争者脱颖而出,提供了性能、效率和可访问性的独特融合。与同类产品相比,Mistral 7B 融合了创新的架构元素,如分组查询关注和滑动窗口关注,从而提高了推理速度和序列处理能力。

这些进步不仅使 Mistral 7B 与众不同,还凸显了它在各种自然语言处理(NLP)任务中的卓越适应性和弹性。此外,Mistral 7B 的 Apache 2.0 许可和社区驱动的开发方法营造了协作和创新的氛围,巩固了其在寻求最先进语言理解模型的研究人员和从业人员中的首选地位。

揭幕 Mistral 7B:NLP 领域的游戏规则改变者

Mistral 7B 是语言模型领域的创新力量,它拥有令人印象深刻的 70 亿个参数,经过精心设计,可以应对错综复杂的自然语言。

Mistral 7B 采用了分组查询关注(GQA)和滑动窗口关注(SWA)等最先进的功能,表现出无与伦比的性能和效率,成为包括命名实体识别在内的 NLP 任务的有力选择。

GQA 的加入使 Mistral 7B 能够加快推理速度,实现对文本数据的实时处理,这对于在动态环境中运行的 NER 任务来说是必不可少的能力。此外,SWA 使 Mistral 7B 能够有效地处理不同长度的序列,确保在各种文本输入中都能保持稳定的性能。

针对 NER 微调 Mistral 7B:释放其全部潜能

尽管 Mistral 7B 在预训练状态下表现出了令人印象深刻的能力,但通过微调过程,它的潜力得以充分发挥。在微调过程中,会对模型参数进行调整,以适应特定任务和数据集的复杂性。针对命名实体识别(NER)任务对 Mistral 7B 进行微调,需要在有注释的数据上进行额外的训练,使模型能够掌握特定领域的模式,提高识别实体的准确性。

安装微调 Mistral 所需的 Python 软件包和库

1

2

使用 UBIAI 工具进行数据标注和结构设计

在对 Mistral 7B 等大型语言模型进行微调时,数据的质量和相关性是对模型的性能和有效性产生重大影响的关键因素。利用高质量、有良好注释的数据可确保模型从准确且有代表性的示例中学习,从而提高其泛化和生成可靠输出的能力。

本教程的数据来源于 UBIAI,该平台以其强大的注释工具和全面的 NLP 功能而著称。利用 UBIAI 的注释功能,可以确保用于微调的数据经过精心标注,并针对手头的特定任务进行定制,从而最大限度地提高训练过程的有效性。

3

4

该代码从包含发票信息的文件中读取 JSON 数据。它将数据组织成结构化格式,确保没有重复注释。处理后的结果将被存储起来,用于进一步分析和微调 Mistral 的命名实体识别 (NER) 任务。

5

6

7

不同标签: {'人'、'产品'、'设施'、'金钱'、'事件'、'日期'、'组织'、'地点'}。

数据集由包含名称、文本和注释的文档组成。这些注释包括个人、组织、地点、设施、事件等各种实体,为命名实体识别(NER)任务提供了结构化数据。

8

9

现在,该数据集增加了一个全面的提示,划定了实体提取任务的说明。每条指令都为提取各种标签(包括日期、个人、组织、地点、设施、事件、金钱和产品)中的实体提供了精确的指导。提示强调了回答的准确性和相关性的重要性,提供了确保提取信息的一致性和全面性的指导原则。

这种结构化的提示有助于简化实体识别任务的数据处理,与 NER(命名实体识别)流程的目标完全一致。

10

11

这一过程包括将数据子集转换为字符串表示法,将其附加到列表中,并保存到 CSV 文件中。随后,CSV 文件被读入 Pandas DataFrame,并转换为 Hugging Face Datasets对象,以便进一步处理。

12

13

使用 BitsAndBytesConfig 配置加载 Mistral 7B 基本模型,可实现量化,从而提高内存使用效率和推理速度。此外,还加载了与 Mistral 7B 相关的标记符,确保为文本处理任务提供适当的填充和序列末端标记符设置。

14

15

本节代码使用 Weights & Biases (W&B) 平台对 Mistral 7B 的微调过程进行监控。通过使用所提供的 API 密钥与 W&B 进行身份验证,训练进度和性能指标将受到持续的实时监控。wandb.init() "函数会在指定项目("微调 Mistral 7B UBIAI")中启动新的运行,并将作业类型指定为 "训练"。启用匿名访问可确保训练数据的安全,同时促进协作监测和分析

16

初始化训练过程的超参数,定义输出目录、历时次数、批量大小、学习率和记录频率等设置。此外,它还会配置 SFTTrainer,指定模型、数据集、标记化器和其他相关参数,这些参数对微调 Mistral 7B 以完成给定任务至关重要。

17

18

19

试试我们的模型 使用用户提示测试 Mistral 7B

所提供的函数流将用户提示作为输入,并使用 Mistral 7B 模型根据该提示生成文本。它利用模型的 generate 方法,以用户提示为上下文生成文本。生成的文本将作为输出返回。

20

21

结果

22

结论

为命名实体识别微调 Mistral 7B 是实体识别任务的变革性方法,可提供更高的性能、适应性和效率。随着企业不断利用 NER 进行信息提取、知识发现等工作,Mistral 7B 所释放的功能为 NLP 的突破性进展铺平了道路。通过利用 Mistral 7B 的强大功能并针对 NER 进行微调,从业人员可以在理解和处理文本数据方面开启新的可能性,从而推动不同领域的创新。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s部署maven项目

failed to verify certificate: x509: certificate signed by unknown authority 今天在执行kubectl get nodes的时候报的证书验证问题,看了一圈首次搭建k8s的都是高频出现的问题。 couldn’t get current server API group list: Get “https://kubernetes.docker…

C#描述-计算机视觉OpenCV(3):重映射

C#描述-计算机视觉OpenCV(3):重映射 前言色彩波形图像重映射 前言 C#描述-计算机视觉OpenCV(1):基础操作 C#描述-计算机视觉OpenCV(2):图像处理 在前文中,描…

R语言学习—4—数据矩阵及R表示

1、创建向量、矩阵 在R中,c()函数用于创建向量或组合数据对象。它在某些情况下可能会被省略,因为R有一些隐式的向量创建规则。例如,当你使用:操作符创建一个数字序列时,R会自动创建一个向量,所以你不需要显式地调用c()…

超越数据的确定性:通过概率主成分分析拥抱不确定性

原文地址:beyond-determinism-in-data-embracing-uncertainty-with-probabilistic-principal-component-analysis 2024 年 4 月 24 日 主成分分析法(Principal Component Analysis,PCA)是一种统计方法,它可以通过正交…

蓝桥杯备战国赛1

开心的金明 火烧赤壁 南蛮图腾 #include<iostream> #include<algorithm> #include<cmath> using namespace std; int n, m; int v[30], k[30]; int arr[30010][30]; int main() {cin >> n >> m;for (int i 1;i < m;i){cin >> v[i] &g…

自定义表单元素组件内容变化触发ElForm重新校验

对于下图中“付费类型”怎么实现有很多种方式&#xff0c;我能想到的是以下两种&#xff1a; Element Plus的RadioButton自定义组件 1. RadioButton 它本质上就是一个单选组件&#xff0c;它跟Element Plus的RadioButton本质上没有区别&#xff0c;无非是外观上的差别。那么…

基于SpringBoot+Vue的旅游网站系统

初衷 在后台收到很多私信是咨询毕业设计怎么做的&#xff1f;有没有好的毕业设计参考?能感觉到现在的毕业生和当时的我有着同样的问题&#xff0c;但是当时的我没有被骗&#xff0c;因为现在很多人是被骗的&#xff0c;还没有出学校还是社会经验少&#xff0c;容易相信别人。…

BJFUOJ-C++程序设计-实验2-类与对象

A 评分程序 答案&#xff1a; #include<iostream> #include<cstring>using namespace std;class Score{ private:string name;//记录学生姓名double s[4];//存储4次成绩&#xff0c;s[0]和s[1]存储2次随堂考试&#xff0c;s[2]存储期中考试&#xff0c;s[3]存储期…

003 redis分布式锁 jedis分布式锁 Redisson分布式锁 分段锁

文章目录 Redis分布式锁原理1.使用set的命令时&#xff0c;同时设置过期时间2.使用lua脚本&#xff0c;将加锁的命令放在lua脚本中原子性的执行 Jedis分布式锁实现pom.xmlRedisCommandLock.javaRedisCommandLockTest.java 锁过期问题1乐观锁方式&#xff0c;增加版本号(增加版本…

香港立法會議員容海恩女士確定出席“邊緣智能2024 - AI開發者峰會”

隨著AI技術的飛速發展&#xff0c;全球正步入邊緣計算智能化與分布式AI深度融合的新紀元&#xff0c;共同演繹著分布式智能創新應用的壯麗篇章。在這一背景下&#xff0c;邊緣智能&#xff0c;作為融合邊緣計算和智能技術的新興領域&#xff0c;正逐漸成為推動AI發展的關鍵力量…

区块链 | IPFS:CID

&#x1f98a;原文&#xff1a;Anatomy of a CID &#x1f98a;写在前面&#xff1a;本文属于搬运博客&#xff0c;自己留存学习。 1 CID 在分布式网络中与其他节点交换数据时&#xff0c;我们依赖于内容寻址&#xff08;而不是中心化网络的位置寻址&#xff09;来安全地定位…

Flutter笔记:Widgets Easier组件库(5)使用加减器

Flutter笔记 Widgets Easier组件库&#xff08;5&#xff09;&#xff1a;使用加减器 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress…

项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)

1.主要内容 包括&#xff1a;组织通用治理、组织通用管理、法律法规与标准规范。 2.详细内容 第22章 组织通用治理 1分 第23章 组织通过管理 1分 第24章 法律法规与标准规范 2分

python+Pyppeteer+SpringBoot验证码自动识别登录(文末附源码)

效果如下&#xff1a; 实现流程&#xff1a; 一、Pyppeteer打开网址 import asyncio from pyppeteer import launch import pdb import random# 启动 Pyppeteer browser await launch({headless: False}) page await browser.newPage()# 打开登录页面 await page.goto(http…

【跟马少平老师学AI】-【神经网络是怎么实现的】(五)梯度消失问题

一句话归纳&#xff1a; 1&#xff09;用sigmoid激活函数时&#xff0c;BP算法更新公式为&#xff1a; 用sigmoid函数&#xff0c;O取值为0~1&#xff0c;O(1-O)最大值为0.25&#xff0c;若神经网络层数多&#xff0c;则会造成更新项趋近于0&#xff0c;称为梯度消失。 2&#…

蓝桥杯练习系统(算法训练)ALGO-950 逆序数奇偶

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 老虎moreD是一个勤于思考的青年&#xff0c;线性代数行列式时&#xff0c;其定义中提到了逆序数这一概念。不过众所周知我们…

I2C接口18路LED呼吸灯驱动IS31FL3218互相替代SN3218替换HTR3218

I2C接口18路LED呼吸灯控制电路IC 该型号IC为QFN24接口&#xff0c;属于小众产品&#xff0c;IS31FL3218、SN3218、HTR3218S管脚兼容&#xff0c;需要注意的是HTR3218管脚与其他型号不兼容。 I2C接口可实现多个LED灯的呼吸灯控制&#xff0c;可实现单色控制18个LED灯&#xff0…

场景文本检测识别学习 day06(Vi-Transformer论文精读、MAE论文阅读)

Vi-Transformer论文精读 在NLP领域&#xff0c;基于注意力的Transformer模型使用的非常广泛&#xff0c;但是在计算机视觉领域&#xff0c;注意力更多是和CNN一起使用&#xff0c;或者是单纯将CNN的卷积替换成注意力&#xff0c;但是整体的CNN 架构没有发生改变VIT说明&#x…

亚马逊关键字搜索商品列表API接口:探索海量商品的利器

亚马逊关键字搜索商品列表API接口允许开发者通过输入关键字或特定参数&#xff0c;在亚马逊平台上进行商品搜索&#xff0c;并返回符合搜索条件的商品列表信息。这些信息包括商品的标题、图片、价格、评价等&#xff0c;为商家、开发者以及市场分析师提供了丰富的商品数据支持。…

信息系统项目管理师0082:项目基础(6项目管理概论—6.2项目基本要素—6.2.1项目基础)

点击查看专栏目录 文章目录 6.2项目基本要素6.2.1项目基础1.独特的产品、服务或成果2.临时性工作3.项目驱动变更4.项目创造业务价值5.项目启动背景记忆要点总结6.2项目基本要素 6.2.1项目基础 项目是为创造独特的产品、服务或成果