ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

PaddleNLP 文本信息抽取全流程实战:基于 UIE 微调的数据标注、训练与部署指南

PaddleNLP 文本信息抽取全流程实战:基于 UIE 微调的数据标注、训练与部署指南 人工智能大模型预训练微调LoRARLHF强化学习分布式训练【免费下载链接】PaddleNLPEasy-to-use and powerful LLM and SLM library with awesome model zoo.项目地址https://gitcode.com/gh_mirrors/pa/PaddleNLP点击查看免费下载本文以 PaddleNLP 仓库中slm/applications/information_extraction/text/目录下的纯文本信息抽取Information Extraction应用为核心完整梳理从数据标注、模型微调、效果评估到推理部署的端到端链路。读者读完本文将掌握如何使用paddlenlp.Taskflow三行代码完成零样本抽取、如何用 Label Studio 标注数据并通过label_studio.py转换格式、如何用finetune.py在单卡/多卡上微调 UIE 系列模型以及如何通过 UIE Slim 数据蒸馏将模型压缩到可上线服务的程度。1. 面向纯文本的端到端信息抽取应用信息抽取IE是指从文本、图片、扫描文档等输入数据中提取结构化信息的过程。虽然 IE 的价值巨大但落地时通常面临领域迁移domain adaptation、异构结构heterogeneous structures、标注数据匮乏等挑战。PaddleNLP 的信息抽取方案建立在通用信息抽取Universal Information Extraction论文发表于 arXiv:2203.12277的基础上提供了一套工业级解决方案支持从纯文本中抽取实体、关系、事件、观点支持从文档、表格、图片中进行跨模态抽取核心方法是灵活的 prompt提示用户可以用简单的自然语言指定抽取目标提供多个面向不同行业领域的领域适配模型。本应用在仓库中的入口为 text 应用目录配套的数据转换脚本与标注文档位于 information_extraction 应用根目录。该方案的主要亮点覆盖全面覆盖纯文本与文档场景下的各类主流信息抽取任务支持多语言性能强劲UIE 系列模型在纯文本与多模态数据集上均有较强表现并提供多种规模的预训练模型以适配不同需求开箱即用三行代码即可通过Taskflow使用信息抽取能力一行命令即可完成模型训练与模型部署高效调优开发者无需机器学习背景也能快速上手数据标注与模型训练流程。2. 快速上手三行代码的零样本信息抽取UIE 的核心优势在于零样本zero-shot能力。安装 PaddleNLP 后直接使用paddlenlp.Taskflow即可开箱即用地进行信息抽取无需任何训练数据 from pprint import pprint from paddlenlp import Taskflow schema {武器名称: [产国, 类型, 研发单位]} my_ie Taskflow(information_extraction, schemaschema) pprint(my_ie(威尔哥Virgo减速炸弹是由瑞典FFV军械公司专门为瑞典皇家空军的攻击机实施低空高速轰炸而研制……))其中schema即抽取目标的结构化声明顶层键为要抽取的主体实体类型其值为需要抽取的关系类型列表。Taskflow 会把该声明自动拼接成 UIE 的 prompt 输入并完成解析。对于生产环境官方建议标注少量数据做模型微调few-shot fine-tuning以进一步提升抽取效果。下文即按“标注 → 微调 → 评估 → 推理 → 蒸馏压缩”的完整链路展开。3. 项目代码结构text目录下的代码结构如下. ├── utils.py # 数据处理工具数据读取、token 化、offset 映射等 ├── finetune.py # 模型微调、模型压缩脚本 ├── evaluate.py # 模型评估脚本 ├── data_distill/ # UIE Slim 数据蒸馏教师模型生成、学生模型训练与部署 └── deploy/ └── simple_serving/ # SimpleServing 服务化部署finetune.py基于paddlenlp.trainer.Trainer的微调与压缩入口同时支持模型导出do_export为静态图推理模型evaluate.py基于SpanEvaluator的评估脚本支持 debug 模式与多语言模型评估utils.py封装了 UIE 训练数据的读取reader、样例转换convert_example、动态长度dynamic_max_length等核心数据逻辑。4. 数据标注Label Studio 标注与数据转换4.1 安装与启动 Label Studio官方推荐使用 Label Studio 进行数据标注并提供了从“标注”到“训练”的端到端流水线。标注环境的参考配置为 Python 3.8、label-studio 1.6.0、paddleocr 2.6.0.1pip install label-studio1.6.0安装完成后启动label-studio start然后在浏览器中打开http://localhost:8080/输入用户名密码登录后即可开始标注。根据任务类型选择不同的标注模板命名实体识别、关系抽取、事件抽取、观点抽取 → 选择Relation Extraction模板文本分类、句级情感分类 → 选择Text Classification模板。详细的标注规范标签构建、关系类型设置、数据导出可参考 Label Studio 文本信息抽取标注指南。其中特别强调对于关系抽取关系类型 P 的设置至关重要必须保证{P} of {S} is {O}能构成语义通顺的短语例如三元组 (S, 父子, O) 中把关系类型设为“孩子”比设为“父子”更符合 UIE 关系 prompt 的结构合理的关系类型设置会显著提升零样本性能。4.2 下载示例数据集这里提供了一个预标注的示例数据集Military Relationship Extraction Dataset军事关系抽取数据集下载命令如下wget https://bj.bcebos.com/paddlenlp/datasets/military.tar.gz tar -xvf military.tar.gz mv military data rm military.tar.gz将 Label Studio 导出的标注文件重命名为label_studio.json放入./data目录后即可通过数据转换脚本生成 UIE 训练所需的 train/dev/test 文件。4.3 使用 label_studio.py 转换数据标注完成后在 Label Studio 中勾选已标注的文本 ID以JSON格式导出数据。随后运行 label_studio.py 完成格式转换与数据集划分python ../label_studio.py \ --label_studio_file ./data/label_studio.json \ --save_dir ./data \ --splits 0.76 0.24 0 \ --negative_ratio 3 \ --task_type ext该脚本执行后会输出train.txt、dev.txt、test.txt三个文件每行一条 JSON并额外生成记录数据划分索引的sample_index.json。注意脚本每次执行都会覆盖同名数据文件。4.4 转换脚本参数详解label_studio.py的可配置参数如下结合 源码实现参数含义默认值label_studio_file从 Label Studio 平台导出的标注文件路径./data/label_studio.jsonsave_dir训练数据存储目录./datanegative_ratio最大负样本比例仅对抽取类任务有效负样本数 negative_ratio × 正样本数5splits数据集划分比例[训练集, 验证集, 测试集]三者之和必须为 1源码中用Decimal精确校验[0.8, 0.1, 0.1]task_type任务类型ext为抽取任务cls为分类任务extoptions分类任务的类别标签仅对分类任务有效[正向, 负向]prompt_prefix分类任务的 prompt 前缀仅对分类任务有效情感倾向is_shuffle是否随机打乱数据集Trueseed随机种子1000separator实体类别/评价维度与分类标签之间的分隔符仅对实体级/评价维度级分类任务有效##schema_langschema 的语言决定训练数据 prompt 的构建方式可选ch/enchocr_langOCR 语言可选ch/enchlayout_analysis是否启用版面分析以优化 OCR 结果顺序False关于negative_ratio的几点说明适当构造负例可显著提升模型效果验证集与测试集为保证评估指标准确默认构造全量负例源码中convert_ext_examples(..., is_trainFalse)即体现这一点。源码还会自动根据首条数据是否含image字段来判断标注类型是文本还是图片。4.5 分类任务与观点抽取的数据转换句级情感分类转换时自动构造 prompt例如句级情感分类的 prompt 为情感倾向[正向负向]可通过prompt_prefix与options配置python ../label_studio.py \ --label_studio_file ./data/label_studio.json \ --task_type cls \ --save_dir ./data \ --splits 0.8 0.1 0.1 \ --prompt_prefix 情感倾向 \ --options 正向 负向观点抽取评价维度情感分类prompt 为xxx 的情感倾向[正向负向]形式通过prompt_prefix、options与separator共同声明python ../label_studio.py \ --label_studio_file ./data/label_studio.json \ --task_type ext \ --save_dir ./data \ --splits 0.8 0.1 0.1 \ --prompt_prefix 情感倾向 \ --options 正向 负向 \ --separator ##4.6 训练数据格式与源码级数据逻辑UIE 微调数据的每行 JSON 包含三个字段content待抽取文本、prompt自然语言抽取目标、result_list标注结果每项含start/end字符偏移与文本内容。其底层处理逻辑见 utils.py 的 reader 函数模型输入格式为[CLS] Prompt [SEP] Content [SEP]包含 3 个总结 token若max_seq_len小于等于len(prompt) 3会直接报错提示调大该值当文本超长时reader 会按max_content_len max_seq_len - len(prompt) - 3自动切分文本并将标注结果result_list按偏移量分配到各切分片段中跨片段边界的标注会触发告警。convert_example函数则负责将原始样例转成模型输入通过 tokenizer 返回offset_mapping再通过map_offset将字符级偏移映射到 token 级偏移最终生成start_positions/end_positions两个长度为max_seq_len的 one-hot 序列该标签名在finetune.py中被固定为label_names。此外dynamic_max_length参数支持按 batch 内实际长度动态选取 16/32/64/128 等长度档位以减少 padding 浪费。5. 模型微调finetune.py5.1 单卡微调以uie-base为预训练模型进行微调将微调后的模型保存到$finetuned_modelpython finetune.py \ --device gpu \ --logging_steps 10 \ --save_steps 100 \ --eval_steps 100 \ --seed 1000 \ --model_name_or_path uie-base \ --output_dir ./checkpoint/model_best \ --train_path data/train.txt \ --dev_path data/dev.txt \ --max_seq_len 512 \ --per_device_train_batch_size 16 \ --per_device_eval_batch_size 16 \ --num_train_epochs 20 \ --learning_rate 1e-5 \ --do_train \ --do_eval \ --do_export \ --export_model_dir ./checkpoint/model_best \ --overwrite_output_dir \ --disable_tqdm True \ --metric_for_best_model eval_f1 \ --load_best_model_at_end True \ --save_total_limit 15.2 多卡微调python -u -m paddle.distributed.launch --gpus 0,1 finetune.py \ --device gpu \ --logging_steps 10 \ --save_steps 100 \ --eval_steps 100 \ --seed 1000 \ --model_name_or_path uie-base \ --output_dir ./checkpoint/model_best \ --train_path data/train.txt \ --dev_path data/dev.txt \ --max_seq_len 512 \ --per_device_train_batch_size 8 \ --per_device_eval_batch_size 8 \ --num_train_epochs 20 \ --learning_rate 1e-5 \ --do_train \ --do_eval \ --do_export \ --export_model_dir ./checkpoint/model_best \ --overwrite_output_dir \ --disable_tqdm True \ --metric_for_best_model eval_f1 \ --load_best_model_at_end True \ --save_total_limit 1多卡场景下建议按卡数等比下调per_device_train_batch_size以保持全局 batch size 一致。5.3 微调参数详解device训练设备可选cpu、gpu、npu默认使用 GPUlogging_steps训练日志打印间隔步数默认 10save_steps保存模型 checkpoint 的间隔步数默认 100eval_steps评估间隔步数默认 100seed全局随机种子默认 42model_name_or_path少样本训练所用的预训练模型默认uie-x-base可选uie-base、uie-tiny、uie-medium、uie-mini、uie-micro、uie-nano、uie-base-en、uie-m-base、uie-m-large或微调后的模型路径见 finetune.py 的 ModelArgumentsoutput_dir必填模型训练或压缩后保存的目录默认Nonetrain_path训练集路径默认Nonedev_path开发集路径默认Nonemax_seq_len文本最大切分长度输入超长时自动切分文本默认 512per_device_train_batch_size每个 GPU 核/NPU 核/CPU 用于训练的 batch size默认 8per_device_eval_batch_size每个 GPU 核/NPU 核/CPU 用于评估的 batch size默认 8num_train_epochs训练轮数使用 early stopping 时可设为 100默认 10learning_rate训练最大学习率UIE-X 建议设为 1e-5默认 3e-5label_names训练数据标签名UIE-X 固定为start_positions end_positions默认Nonefinetune.py 中强制覆盖为上述值do_train是否执行微调训练设置即执行默认不设置do_eval是否评估设置即评估默认不设置do_export是否导出静态图推理模型设置即导出默认不设置export_model_dir静态图导出地址默认None未指定时 finetune.py 会导出到output_dir/exportoverwrite_output_dir为True时覆盖输出目录内容若output_dir指向已有 checkpoint 目录且未设置该参数训练会自动从最近 checkpoint 续训对应 finetune.py 中get_last_checkpoint的逻辑disable_tqdm是否使用 tqdm 进度条metric_for_best_model最优模型评选指标UIE-X 建议设为eval_f1默认Noneload_best_model_at_end训练结束后是否加载最优模型通常与metric_for_best_model配合使用默认Falsesave_total_limit限制 checkpoint 总数超出后删除output_dir中的旧 checkpoint默认None。5.4 源码级实现解析finetune.py的完整流程可以从源码中清晰看到多语言模型自动识别若model_name_or_path为uie-m-base/uie-m-large或本地模型目录model_config.json中init_class为UIEM则自动开启multilingual并加载UIEM模型否则加载UIE模型数据管线load_dataset(reader, data_path..., max_seq_len...)读取数据convert_example完成 token 化与标签构造DataCollatorWithPadding负责 batch 内 paddingNPU 设备上改用paddinglongest损失函数训练使用 paddlenlp.utils.ie_utils 中的uie_loss_func对start_prob/end_prob分别计算BCELoss后取平均即 UIE 的 span 起始/结束位置二分类目标评估指标compute_metrics基于SpanEvaluator计算 precision/recall/F1训练器据此完成最优模型选择静态图导出do_export时构造InputSpec导出推理模型——普通 UIE 模型输入为input_ids、token_type_ids、position_ids、attention_mask四个张量多语言模型 UIE-M 仅需要input_ids、position_ids两个NPU 设备上输入 dtype 自动降为int32以减少 int64→int32 的转换开销模型压缩do_compress时通过trainer.compress(custom_evaluate...)执行压缩其中custom_evaluate使用SpanEvaluator在压缩过程中评估 F1。6. 模型评估evaluate.py6.1 常规评估python evaluate.py \ --model_path ./checkpoint/model_best \ --test_path ./data/dev.txt \ --batch_size 16 \ --max_seq_len 5126.2 UIE-M 多语言模型评估python evaluate.py \ --model_path ./checkpoint/model_best \ --test_path ./data/dev.txt \ --batch_size 16 \ --max_seq_len 512 \ --multilingual6.3 Debug 逐类别评估评估采用单阶段方法对需要多阶段的抽取任务如关系抽取、事件抽取按阶段分别评估。默认情况下验证集/测试集使用同一层级的所有标签来构造负例。可开启debug模式对每个正例类别单独评估该模式仅用于模型调试python evaluate.py \ --model_path ./checkpoint/model_best \ --test_path ./data/dev.txt \ --debugdebug 模式的输出示例[2022-11-21 12:48:41,794] [ INFO] - ----------------------------- [2022-11-21 12:48:41,795] [ INFO] - Class Name: 武器名称 [2022-11-21 12:48:41,795] [ INFO] - Evaluation Precision: 0.96667 | Recall: 0.96667 | F1: 0.96667 [2022-11-21 12:48:44,093] [ INFO] - ----------------------------- [2022-11-21 12:48:44,094] [ INFO] - Class Name: X的产国 [2022-11-21 12:48:44,094] [ INFO] - Evaluation Precision: 1.00000 | Recall: 0.99275 | F1: 0.99636 [2022-11-21 12:48:46,474] [ INFO] - ----------------------------- [2022-11-21 12:48:46,475] [ INFO] - Class Name: X的研发单位 [2022-11-21 12:48:46,475] [ INFO] - Evaluation Precision: 0.77519 | Recall: 0.64935 | F1: 0.70671 [2022-11-21 12:48:48,800] [ INFO] - ----------------------------- [2022-11-21 12:48:48,801] [ INFO] - Class Name: X的类型 [2022-11-21 12:48:48,801] [ INFO] - Evaluation Precision: 1.00000 | Recall: 1.00000 | F1: 1.000006.4 评估参数详解device评估设备可选cpu、gpu、npu默认 GPUmodel_path评估的模型目录路径必须包含模型权重文件model_state.pdparams和配置文件model_config.jsontest_path用于评估的测试集文件batch_sizebatch size请根据机器情况调整默认 16max_seq_len文本最大切分长度超长自动切分默认 512debug是否开启 debug 模式逐类别评估该模式仅用于模型调试默认关闭multilingual是否为多语言模型默认关闭schema_langschema 语言可选ch和en默认ch英文数据集请选en。6.5 评估实现细节从 evaluate.py 源码 可以看到评估链路SpanEvaluator根据模型输出的start_prob/end_prob与标签计算num_correct/num_infer/num_label最终accumulate()得到 precision/recall/F1。debug 模式下代码会用 ie_utils 中的unify_prompt_name统一被 shuffle 过的分类标签顺序并用get_relation_type_dict依据X的{关系}中文或{关系} of X英文的 prompt 结构自动归并同类关系标签实现逐关系类型的独立评估。多语言模型评估时模型仅接收input_ids与position_ids两个输入。7. 推理使用 Taskflow 加载微调模型与预训练模型相同可通过task_path指定模型权重路径让Taskflow加载自定义微调模型 from pprint import pprint from paddlenlp import Taskflow schema {武器名称: [产国, 类型, 研发单位]} # 设置抽取目标与微调模型路径 my_ie Taskflow(information_extraction, schemaschema, task_path./checkpoint/model_best) pprint(my_ie(威尔哥Virgo减速炸弹是由瑞典FFV军械公司专门为瑞典皇家空军的攻击机实施低空高速轰炸而研制1956年开始研制1963年进入服役装备于A32矛盾、A35龙、和AJ134雷攻击机主要用于攻击登陆艇、停放的飞机、高炮、野战火炮、轻型防护装甲车辆以及有生力量。)) [{武器名称: [{end: 14, probability: 0.9998632702221926, relations: {产国: [{end: 18, probability: 0.9998815094394331, start: 16, text: 瑞典}], 研发单位: [{end: 25, probability: 0.9995875123178521, start: 18, text: FFV军械公司}], 类型: [{end: 14, probability: 0.999877336059086, start: 12, text: 炸弹}]}, start: 0, text: 威尔哥Virgo减速炸弹}]}]Taskflow 的完整用法实体抽取、关系抽取、事件抽取、观点抽取、情感分类、多任务抽取可参考 Taskflow 文本信息抽取用户指南。其底层实现位于 paddlenlp/taskflow/information_extraction.pyMODEL_MAP将任务映射到UIE/UIEM/UIEX三种模型结构内部基于GlobalPointerForEntityExtraction与GPLinkerForRelationExtraction完成实体与关系的解码并用get_bool_ids_greater_than、get_span等工具把概率矩阵还原为带 start/end 偏移的抽取结果。Taskflow常用的可选配置还包括schema_langschema 语言ch/en仅对uie-x-base、uie-m-base、uie-m-large有效position_probspan 起止位置概率阈值01低于该值的候选结果会被过滤最终 span 概率取起止位置概率的乘积默认 0.5precision模型精度可选fp32/fp16fp16推理更快支持 GPU 与 NPU需 CUDA11.2、cuDNN8.1.1 且设备算力大于 7.0如 V100、T4、A10、A100 等batch_size批大小默认 16。7.1 服务化部署SimpleServing微调模型还可以通过 PaddleNLP 自带的 SimpleServing 快速上线 HTTP 服务参见 simple_serving 部署文档。首先安装带 SimpleServing 功能的 PaddleNLP 2.4.4pip install paddlenlp 2.4.4启动服务端paddlenlp server server:app --workers 1 --host 0.0.0.0 --port 8189运行客户端python client.py服务端支持自定义 schema、自定义task_path并支持多卡负载均衡预测注册服务时传入多个Taskflow实例即可分别指定device_id0、device_id1再通过service.register_taskflow(uie, [uie1, uie2])注册。8. 微调效果few-shot 实验数据在军事关系抽取数据集上的实验效果如下以 F1 计设置PrecisionRecallF1 Score0-shot0.646340.535350.585645-shot0.894740.850000.8717910-shot0.927930.858330.89177full-set0.931030.900000.91525可见仅用 510 条标注数据微调F1 即可从 0.58 跃升至 0.870.89接近全量数据0.92的效果这正是 UIE 少样本能力与“标注少量数据 微调”推荐路径的有力支撑。9. 闭域信息抽取蒸馏UIE Slim9.1 背景与原理UIE 虽然具备强大的零样本抽取能力但其 prompt 结构在实时服务时需要较高的计算资源。部分工业场景对推理性能要求很高模型不经过有效压缩难以直接上线。为此仓库提供了基于知识蒸馏技术的UIE Slim 数据蒸馏方案详见 data_distill 文档其原理是以数据为桥梁将 UIE 模型的知识迁移到更小的闭域信息抽取模型从而在精度损失最小的前提下显著加速推理。9.2 蒸馏三步流程Step 1在标注数据上微调 UIE 模型得到教师模型Teacher Model对应finetune.py微调产出checkpoint/model_bestStep 2处理用户提供的无标注数据用 Taskflow UIE教师模型进行推理打标即离线蒸馏Step 3使用标注数据与 Step 2 得到的推理结果训练一个闭域的学生模型Student Model。9.3 离线蒸馏教师模型打标python data_distill.py \ --data_path ../data \ --save_dir student_data \ --task_type relation_extraction \ --synthetic_ratio 10 \ --model_path ../checkpoint/model_best注意需根据标注数据在data_distill.py中配置 schema且 schema 需要包含标注数据中的全部标签类型。参数说明data_path标注数据doccano_ext.json与无监督文本unlabeled_data.txt所在路径model_path训练好的 UIE 自定义模型路径save_dir学生模型训练数据保存路径synthetic_ratio合成数据比例最大合成数据量 synthetic_ratio × 标注数据量platform标注平台可选doccano、label_studio默认label_studiotask_type任务类型可选entity_extraction、relation_extraction、event_extraction、opinion_extraction不同任务的后处理逻辑不同seed随机种子默认 1000。9.4 教师模型端到端评估UIE 微调阶段的评估是在 UIE 训练格式数据上进行的并非关系抽取/事件抽取的标准端到端评估。可通过以下脚本做端到端评估python evaluate_teacher.py \ --task_type relation_extraction \ --test_path ./student_data/dev_data.json \ --label_maps_path ./student_data/label_maps.json \ --model_path ../checkpoint/model_best参数说明model_path为教师模型路径test_path为测试集路径label_maps_path为学生模型标签字典batch_size默认 8max_seq_len默认 256task_type必填可选值与上述一致。9.5 学生模型训练python train.py \ --task_type relation_extraction \ --train_path student_data/train_data.json \ --dev_path student_data/dev_data.json \ --label_maps_path student_data/label_maps.json \ --num_epochs 50 \ --encoder ernie-3.0-mini-zh参数说明train_path/dev_path训练集/验证集文件路径batch_sizebatch size默认 16learning_rate学习率默认 3e-5save_dir模型保存路径默认./checkpointmax_seq_len最大文本长度默认 256weight_decayAdamW 优化器的 weight_decay 系数warmup_proportion学习率预热比例例如 0.1 表示前 10% 训练步内学习率从 0 缓慢升至learning_rate后再衰减默认 0.0num_epochs训练轮数默认 100seed随机种子默认 1000encoder学生模型底座默认ernie-3.0-mini-zhtask_type任务类型必填logging_steps/eval_steps日志与评估间隔默认 10/200device训练设备可选cpu或gpuinit_from_ckpt可选模型参数路径用于热启动训练默认None。学生模型同样基于GlobalPointer/GPLinker的闭域抽取结构通过标签字典label_maps.json固定 schema实现远超 UIE 的推理速度。9.6 学生模型评估与部署评估命令python evaluate.py \ --model_path ./checkpoint/model_best \ --test_path student_data/dev_data.json \ --task_type relation_extraction \ --label_maps_path student_data/label_maps.json \ --encoder ernie-3.0-mini-zh部署时同样通过 Taskflow 快速上线task_path指向学生模型路径闭域信息抽取中 schema 已固定无需再指定 from pprint import pprint from paddlenlp import Taskflow my_ie Taskflow(information_extraction, modeluie-data-distill-gp, task_pathcheckpoint/model_best/) pprint(my_ie(Virgo deceleration bomb was developed by the Swedish FFV Ordnance Company specially for the attack aircraft of the Swedish Royal Air Force to carry out low-altitude and high-speed bombing. It was developed in 1956 and entered service in 1963.)) [{weapon name: [{end: 14, probability: 0.9976037, relations: {country of origin: [{end: 18, probability: 0.9988706, relations: {}, start: 16, text: Sweden}], RD unit: [{end: 25, probability: 0.9978277, relations: {}, start: 18, text: FFV Ordnance Company}], type: [{end: 14, probability: 0.99837446, relations: {}, start: 12, text: bomb}]}, start: 0, text: Virgo slowing bomb}]}]至此一条完整的“标注 → 微调 → 评估 → 推理 → 蒸馏压缩 → 服务化部署”的文本信息抽取工业化链路便全部打通。无论是追求零样本开箱即用的快速验证还是追求高精度/高吞吐的生产落地这套基于 UIE 的方案都提供了从数据到服务的完整参考实现。10. 相关资源索引应用入口slm/applications/information_extraction/微调与压缩脚本slm/applications/information_extraction/text/finetune.py评估脚本slm/applications/information_extraction/text/evaluate.py数据处理工具slm/applications/information_extraction/text/utils.py数据标注与转换脚本slm/applications/information_extraction/label_studio.py标注指南slm/applications/information_extraction/label_studio_text_en.mdTaskflow 使用指南slm/applications/information_extraction/taskflow_text_en.md数据蒸馏指南slm/applications/information_extraction/text/data_distill/README_en.md服务化部署指南slm/applications/information_extraction/text/deploy/simple_serving/README_en.mdUIE 损失与评估工具paddlenlp/utils/ie_utils.pyTaskflow 信息抽取实现paddlenlp/taskflow/information_extraction.py赞分享人工智能大模型预训练微调LoRARLHF强化学习分布式训练【免费下载链接】PaddleNLPEasy-to-use and powerful LLM and SLM library with awesome model zoo.项目地址https://gitcode.com/gh_mirrors/pa/PaddleNLP点击查看免费下载相关推荐PaddleNLP 文本信息抽取应用实战基于 UIE 微调的数据标注、模型训练与封闭域蒸馏全流程指南PaddleNLP 文本信息抽取应用实战基于 UIE 微调的数据标注、模型训练与封闭域蒸馏全流程指南 本文以 PaddleNLP 信息抽取应用中的 文本信息抽人工智能大模型预训练微调LoRARLHF强化学习分布式训练模型推理服务推理引擎模型量化模型压缩本地部署NLPPaddleNLP 文本信息抽取标注指南基于 Label Studio 从数据标注到 UIE 训练数据构建PaddleNLP 文本信息抽取标注指南基于 Label Studio 从数据标注到 UIE 训练数据构建 本指南基于 PaddleNLP 信息抽取应用Un人工智能大模型预训练微调LoRARLHF强化学习分布式训练模型推理服务推理引擎模型量化模型压缩本地部署NLPPaddleNLP 文档信息抽取实战指南基于 UIE-X 的标注、微调、评估与推理全流程PaddleNLP 文档信息抽取实战指南基于 UIE X 的标注、微调、评估与推理全流程 本文围绕 PaddleNLP 开源仓库 slm/applicatio人工智能大模型预训练微调LoRARLHF强化学习分布式训练模型推理服务推理引擎模型量化模型压缩本地部署NLP上一篇Mermaid流程图工具终极指南如何用代码绘制专业级图表下一篇yuzu模拟器使用指南从安装配置到流畅运行创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表