ERNIE预训练模型
ERNIE(Enhanced Representation through kNowledge IntEgration)是百度提出的一种预训练语言模型,它的核心理念是在语言建模的过程中引入知识增强,通过更深入的语义理解来提升自然语言处理能力。
一、ERNIE 简介
| 项目 | 内容 |
|---|---|
| 全称 | Enhanced Representation through kNowledge IntEgration |
| 提出者 | 百度 Baidu |
| 首次发布 | 2019 年 |
| 模型结构 | BERT 改进型,使用 Transformer Encoder 架构 |
| 主要目标 | 融合先验知识(如实体、词组、句法)进行预训练 |
| 应用场景 | 分类、匹配、问答、抽取等各类 NLP 任务 |
二、ERNIE 的主要创新点
1. 知识增强 Masking 策略
BERT 的预训练任务是随机遮盖单个 token(即 Mask Language Model,MLM)。而 ERNIE 提出按以下方式遮盖:
词组 masking(Phrase-level):不只遮盖单字,而是遮住整个词组,如“中华人民共和国”整体被 mask。
实体 masking(Entity-level):识别命名实体(如人名、地名、组织),整体替换以学习语义完整性。
句法结构 masking:基于句法树结构进行遮蔽,更符合语言结构规律。
这些策略能使模型更好地捕捉语言中的结构和知识信息,提升下游任务表现。
二、知识图谱融合(ERNIE 2.0 开始)
ERNIE 2.0 提出了多任务统一预训练框架,加入以下知识类型:
-
实体识别(NER)
-
句法依存关系
-
跨语言信息
-
多跳推理
通过在预训练阶段引入这些任务,使得模型获得更丰富的语言知识与推理能力。
三、ERNIE 系列发展
| 版本 | 特点 |
|---|---|
| ERNIE 1.0 | 引入知识增强 Mask,提升语义建模 |
| ERNIE 2.0 | 多任务预训练框架,涵盖语法、语义、世界知识 |
| ERNIE 3.0 | 多模态(文本+图像)、跨语言、跨任务预训练平台 |
| ERNIE 4.0(文心一言) | 引入大模型能力,支持多模态、多任务、多语言,基于千亿参数规模 |
四、ERNIE vs BERT
| 特性 | BERT | ERNIE |
|---|---|---|
| 架构 | Transformer Encoder | 同样架构 |
| MLM | 随机 mask 单词 | mask 实体 / 词组 / 结构 |
| 知识引入 | 无 | 强知识引入(实体、结构、关系) |
| 表达能力 | 语言基础能力 | 更强语义理解能力 |
| 下游表现 | 强 | 更强,尤其在中文任务上 |
五、ERNIE 的使用(Hugging Face)
百度已将部分 ERNIE 模型开放到 Hugging Face。
安装
pip install transformers
加载示例
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("nghuyong/ernie-3.0-base-zh")
model = AutoModel.from_pretrained("nghuyong/ernie-3.0-base-zh")
inputs = tokenizer("百度推出的ERNIE模型是中文预训练的代表。", return_tensors="pt")
outputs = model(**inputs)
print(outputs.last_hidden_state.shape) # 输出维度:[batch, seq_len, hidden_size]
六、应用场景
-
文本分类:情感分析、主题识别等
-
文本匹配:句子相似度、问答匹配等
-
命名实体识别(NER):通过知识增强 mask 表现更好
-
阅读理解 / MRC:结合知识点提升理解
-
多语言任务:ERNIE 3.0 支持跨语言
七、中文 NLP 中的表现
ERNIE 在多个中文 NLP benchmark 上优于 BERT、RoBERTa、MacBERT,尤其在以下任务中提升明显:
-
中文文本匹配(如 LCQMC、BQ)
-
中文 NER(People's Daily)
-
中文机器阅读理解(如 CMRC2018)
八、总结
| 模型特点 | 内容 |
|---|---|
| 架构类型 | Transformer Encoder |
| 主要创新 | 实体级 mask、多任务知识融合 |
| 代表性任务 | 中文 NLP(分类、匹配、问答) |
| 性能表现 | 中文任务优于 BERT 等基础模型 |
| 是否开源 | 是,部分模型参数可在 Hugging Face 获取 |
更多推荐
所有评论(0)