该模型是 sentence-transformers/LaBSE 在我的 新闻数据集 上的微调版本。 此模型的目标是创建一个用于对俄语新闻进行分类的通用模型,同时保留基础 LaBSE 模型在单一向量空间中生成多语言文本嵌入的能力。 需要注意的是,该模型允许对 LaBSE 支持的其他语言的新闻文章进行分类,但其分类质量将低于俄语新闻文本。 训练用的新闻数据集是过去五年近期新闻的均衡样本。
它在评估集上取得了以下结果:
from openmind import omdatasets, pipeline, is_torch_npu_available, AutoTokenizer
import argparse
import time
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--model_name_or_path",
type=str,
help="Path to model",
default="zhouhui/frozen_news_classifier_ft",
)
args = parser.parse_args()
return args
args = parse_args()
model_path = args.model_name_or_path
if is_torch_npu_available():
device = "npu:0"
else:
device = "cpu"
#device = "cpu"
start_time = time.time()
unmasker = pipeline('text-classification', model=model_path,device=device)
print(unmasker("The man worked as a <mask>."))
end_time = time.time()
print(f"硬件环境:{device},推理执行时间:{end_time - start_time}秒")
与我专门用于解决新闻分类问题的模型any-news-classifier相比,本模型的各项指标均有明显下降。
训练过程中使用了以下超参数:
| 训练损失 | 轮次 | 步数 | 验证损失 | 准确率 | F1值 | 精确率 | 召回率 |
|---|---|---|---|---|---|---|---|
| 0.8422 | 1.0 | 3596 | 0.8104 | 0.7681 | 0.7632 | 0.7669 | 0.7681 |
| 0.7923 | 2.0 | 7192 | 0.7738 | 0.7711 | 0.7666 | 0.7700 | 0.7711 |
| 0.7597 | 3.0 | 10788 | 0.7485 | 0.7754 | 0.7716 | 0.7741 | 0.7754 |
| 0.7564 | 4.0 | 14384 | 0.7314 | 0.7793 | 0.7753 | 0.7785 | 0.7793 |