Modernbert Large Qe Maxlen512 V1
基于ModernBERT-large微调的机器翻译质量评估模型,用于无参考质量评估任务
下载量 20
发布时间 : 1/13/2025
模型简介
该模型用于机器翻译系统的无参考质量评估,能够预测翻译质量分数而不需要参考译文。
模型特点
多语言支持
支持25种语言的质量评估,包括孟加拉语、中文、英语、法语、德语等
无参考评估
不需要参考译文即可评估翻译质量
高效训练
使用flash_attention_2优化训练效率
模型能力
机器翻译质量评分
多语言文本处理
回归预测
使用案例
机器翻译系统
翻译质量监控
自动评估翻译系统的输出质量
皮尔逊相关系数0.4589,MAE 0.1861
本地化服务
多语言内容质量检查
评估本地化内容的翻译质量
🚀 机器翻译质量评估模型
本项目的模型用于机器翻译系统的无参考质量评估(QE),基于特定数据集对预训练模型进行微调,能为机器翻译的质量提供量化评估,在相关任务中具有重要价值。
🚀 快速开始
本模型是 answerdotai/ModernBERT-large 在 ymoslem/wmt-da-human-evaluation 数据集上的微调版本。 它在评估集上取得了以下结果:
- 损失值:0.0564
✨ 主要特性
- 多语言支持:支持多种语言,包括多语言、孟加拉语、捷克语、德语、英语等。
- 质量评估:用于机器翻译的无参考质量评估。
📦 安装指南
安装所需的库:
pip3 install --upgrade datasets accelerate transformers
pip3 install --upgrade flash_attn triton
💻 使用示例
基础用法
# 加载测试数据集
from datasets import load_dataset
test_dataset = load_dataset("ymoslem/wmt-da-human-evaluation",
split="test",
trust_remote_code=True
)
print(test_dataset)
# 加载模型和分词器
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch
# 加载微调后的模型和分词器
model_name = "ymoslem/ModernBERT-large-qe-maxlen512-v1"
model = AutoModelForSequenceClassification.from_pretrained(
model_name,
device_map="auto",
torch_dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# 如果有可用的GPU,将模型移到GPU上
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)
model.eval()
# 准备数据集
sep_token = tokenizer.sep_token
input_test_texts = [f"{src} {sep_token} {tgt}" for src, tgt in zip(test_dataset["src"], test_dataset["mt"])]
# 生成预测
from transformers import pipeline
classifier = pipeline("text-classification",
model=model_name,
tokenizer=tokenizer,
device=0,
)
predictions = classifier(input_test_texts,
batch_size=128,
truncation=True,
padding="max_length",
max_length=tokenizer.model_max_length,
)
predictions = [prediction["score"] for prediction in predictions]
高级用法
# 使用更精细的代码进行预测
from torch.utils.data import DataLoader
import torch
from tqdm.auto import tqdm
# 分词函数
def process_batch(batch, tokenizer, device):
sep_token = tokenizer.sep_token
input_texts = [f"{src} {sep_token} {tgt}" for src, tgt in zip(batch["src"], batch["mt"])]
tokens = tokenizer(input_texts,
truncation=True,
padding="max_length",
max_length=tokenizer.model_max_length,
return_tensors="pt",
).to(device)
return tokens
# 创建DataLoader进行批量处理
test_dataloader = DataLoader(test_dataset,
batch_size=128, # 根据需要调整批量大小
shuffle=False)
# 存储所有预测结果的列表
predictions = []
with torch.no_grad():
for batch in tqdm(test_dataloader, desc="Inference Progress", unit="batch"):
tokens = process_batch(batch, tokenizer, device)
# 前向传播:生成模型的对数几率
outputs = model(**tokens)
# 获取对数几率(预测结果)
logits = outputs.logits
# 提取回归预测值
batch_predictions = logits.squeeze()
# 将预测结果添加到列表中
predictions.extend(batch_predictions.tolist())
📚 详细文档
模型描述
此模型用于机器翻译(MT)系统的无参考质量评估(QE)。
训练过程
训练超参数
此版本的模型使用 tokenizer.model_max_length = 512
。
完整长度为 8192 的模型可在此处找到 ymoslem/ModernBERT-large-qe-v1。
训练期间使用了以下超参数:
- 学习率:8e-05
- 训练批量大小:128
- 评估批量大小:128
- 随机种子:42
- 优化器:使用 OptimizerNames.ADAMW_TORCH_FUSED,β值为 (0.9, 0.999),ε值为 1e-08,无额外优化器参数
- 学习率调度器类型:线性
- 训练步数:10000
训练结果
训练损失 | 轮数 | 步数 | 验证损失 |
---|---|---|---|
0.0631 | 0.1004 | 1000 | 0.0674 |
0.0614 | 0.2007 | 2000 | 0.0599 |
0.0578 | 0.3011 | 3000 | 0.0585 |
0.0585 | 0.4015 | 4000 | 0.0579 |
0.0568 | 0.5019 | 5000 | 0.0570 |
0.057 | 0.6022 | 6000 | 0.0568 |
0.0579 | 0.7026 | 7000 | 0.0567 |
0.0573 | 0.8030 | 8000 | 0.0565 |
0.0568 | 0.9033 | 9000 | 0.0564 |
0.0571 | 1.0037 | 10000 | 0.0564 |
框架版本
- Transformers 4.48.0
- Pytorch 2.4.1+cu124
- Datasets 3.2.0
- Tokenizers 0.21.0
模型信息
属性 | 详情 |
---|---|
库名称 | transformers |
支持语言 | 多语言、孟加拉语、捷克语、德语、英语、爱沙尼亚语、芬兰语、法语、古吉拉特语、豪萨语、印地语、冰岛语、日语、哈萨克语、高棉语、立陶宛语、拉脱维亚语、波兰语、普什图语、俄语、泰米尔语、土耳其语、乌克兰语、科萨语、中文、祖鲁语 |
许可证 | apache-2.0 |
基础模型 | answerdotai/ModernBERT-large |
标签 | 质量评估、回归、由训练器生成 |
数据集 | ymoslem/wmt-da-human-evaluation |
新版本 | ymoslem/ModernBERT-large-qe-v1 |
评估指标
指标名称 | 类型 | 值 |
---|---|---|
皮尔逊相关系数 | Pearson | 0.4589 |
平均绝对误差 | MAE | 0.1861 |
均方根误差 | RMSE | 0.2375 |
决定系数 | R2 | 0.2106 |
📄 许可证
本项目采用 apache-2.0 许可证。
Distilbert Base Cased Distilled Squad
Apache-2.0
DistilBERT是BERT的轻量级蒸馏版本,参数量减少40%,速度提升60%,保留95%以上性能。本模型是在SQuAD v1.1数据集上微调的问答专用版本。
问答系统 英语
D
distilbert
220.76k
244
Distilbert Base Uncased Distilled Squad
Apache-2.0
DistilBERT是BERT的轻量级蒸馏版本,参数量减少40%,速度提升60%,在GLUE基准测试中保持BERT 95%以上的性能。本模型专为问答任务微调。
问答系统
Transformers 英语

D
distilbert
154.39k
115
Tapas Large Finetuned Wtq
Apache-2.0
TAPAS是基于BERT架构的表格问答模型,通过自监督方式在维基百科表格数据上预训练,支持对表格内容进行自然语言问答
问答系统
Transformers 英语

T
google
124.85k
141
T5 Base Question Generator
基于t5-base的问答生成模型,输入答案和上下文,输出相应问题
问答系统
Transformers

T
iarfmoose
122.74k
57
Bert Base Cased Qa Evaluator
基于BERT-base-cased的问答对评估模型,用于判断问题和答案是否语义相关
问答系统
B
iarfmoose
122.54k
9
Tiny Doc Qa Vision Encoder Decoder
MIT
一个基于MIT许可证的文档问答模型,主要用于测试目的。
问答系统
Transformers

T
fxmarty
41.08k
16
Dpr Question Encoder Single Nq Base
DPR(密集段落检索)是用于开放领域问答研究的工具和模型。该模型是基于BERT的问题编码器,使用自然问题(NQ)数据集训练。
问答系统
Transformers 英语

D
facebook
32.90k
30
Mobilebert Uncased Squad V2
MIT
MobileBERT是BERT_LARGE的轻量化版本,在SQuAD2.0数据集上微调而成的问答系统模型。
问答系统
Transformers 英语

M
csarron
29.11k
7
Tapas Base Finetuned Wtq
Apache-2.0
TAPAS是一个基于Transformer的表格问答模型,通过自监督学习在维基百科表格数据上预训练,并在WTQ等数据集上微调。
问答系统
Transformers 英语

T
google
23.03k
217
Dpr Question Encoder Multiset Base
基于BERT的密集段落检索(DPR)问题编码器,用于开放领域问答研究,在多个QA数据集上训练
问答系统
Transformers 英语

D
facebook
17.51k
4
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98