DistilCamemBERT-NLI
我们推出DistilCamemBERT-NLI模型,这是基于DistilCamemBERT针对法语自然语言推理任务(NLI,又称文本蕴含识别RTE)微调的版本。该模型构建于XNLI数据集之上,用于判定前提与假设之间是否存在蕴含、矛盾或中立关系。
本模型与基于CamemBERT的BaptisteDoyen/camembert-base-xnli结构相似。基于CamemBERT的模型在规模化应用(如生产环境)时存在推理成本问题,特别是在交叉编码场景下。为此我们提出该蒸馏模型,在保持相同功耗下将推理时间缩短50%。
数据集
采用FLUE的XNLI数据集,包含392,702组训练用前提-假设对和5,010组测试对。任务目标是预测文本蕴含关系(句子A是否蕴含/矛盾/中立于句子B?),建模目标定义为:
$$P(前提=c\in{矛盾,蕴含,中立}\vert 假设)$$
评估结果
类别 |
精确率(%) |
F1值(%) |
样本量 |
总体 |
77.70 |
77.45 |
5,010 |
矛盾 |
78.00 |
79.54 |
1,670 |
蕴含 |
82.90 |
78.87 |
1,670 |
中立 |
72.18 |
74.04 |
1,670 |
性能对比
在AMD锐龙5 4500U @2.3GHz 6核平台上进行推理时间测量,对比两个法语模型:
模型 |
耗时(ms) |
准确率(%) |
MCC系数(x100) |
本模型 |
51.35 |
77.45 |
66.24 |
CamemBERT版 |
105.0 |
81.72 |
72.67 |
多语言版 |
299.18 |
83.43 |
75.15 |
零样本分类
该模型核心优势在于无需训练即可实现文本分类:
$$P(假设=i\in\mathcal{C}|前提)=\frac{e^{P(前提=蕴含\vert 假设=i)}}{\sum_{j\in\mathcal{C}}e^{P(前提=蕴含\vert 假设=j)}}$$
在allocine影评数据集("正面"/"负面"二分类)上使用"Ce commentaire est {}."作为假设模板:
模型 |
耗时(ms) |
准确率(%) |
MCC系数(x100) |
本模型 |
195.54 |
80.59 |
63.71 |
CamemBERT版 |
378.39 |
86.37 |
73.74 |
多语言版 |
520.58 |
84.97 |
70.05 |
在mlsum新闻摘要数据集("经济/政治/体育/科学"四分类)上使用"C'est un article traitant de {}."模板:
模型 |
耗时(ms) |
准确率(%) |
MCC系数(x100) |
本模型 |
217.77 |
79.30 |
70.55 |
CamemBERT版 |
448.27 |
70.7 |
64.10 |
多语言版 |
591.34 |
64.45 |
58.67 |
使用方法
from transformers import pipeline
classifier = pipeline(
task='zero-shot-classification',
model="cmarkea/distilcamembert-base-nli",
tokenizer="cmarkea/distilcamembert-base-nli"
)
result = classifier (
sequences="昆汀·塔伦蒂诺极具影迷风格的导演特色体现在后现代非线性叙事、精心设计的对白中常穿插流行文化梗,以及受剥削电影、功夫片和意大利西部片启发而呈现的高度美学化却极端暴力的场景。",
candidate_labels="电影, 科技, 文学, 政治",
hypothesis_template="Ce texte parle de {}."
)
{"labels": ["电影", "文学", "科技", "政治"],
"scores": [0.716, 0.128, 0.109, 0.045]}
ONNX加速版
from optimum.onnxruntime import ORTModelForSequenceClassification
from transformers import AutoTokenizer, pipeline
model = ORTModelForSequenceClassification.from_pretrained("cmarkea/distilcamembert-base-nli")
quantized_model = ORTModelForSequenceClassification.from_pretrained(
"cmarkea/distilcamembert-base-nli", file_name="model_quantized.onnx"
)
引用文献
@inproceedings{delestre:hal-03674695,
title={DistilCamemBERT:法语CamemBERT模型的蒸馏},
author={德莱斯特, 西里尔 and 阿马尔, 阿比巴图},
booktitle={机器学习会议},
年份={2022},
月份=7,
关键词={自然语言处理, Transformer, CamemBERT, 模型蒸馏}
}