为提升意大利语性能,本模型已使用Unsloth的持续预训练模式在gsarti/clean_mc4_it数据集(仅100k行)上进行了微调。第二次微调是在指令数据集FreedomIntelligence/alpaca-gpt4-italian上完成的。
from openmind import AutoTokenizer, AutoModelForCausalLM, is_torch_npu_available
from openmind_hub import snapshot_download
import torch.nn.functional as F
from torch import Tensor
import openmind
import torch
import argparse
import sys
import time
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--model_name_or_path",
type=str,
help="Path to model",
default="zhouhui/Qwen2-0.5B-ITA-Instruct",
)
args = parser.parse_args()
return args
def main():
args = parse_args()
model_path = args.model_name_or_path
if is_torch_npu_available():
device = "npu:0"
else:
device = "cpu"
start_time = time.time()
model = AutoModelForCausalLM.from_pretrained(model_path).to(device)
tokenizer = AutoTokenizer.from_pretrained(model_path)
model.eval()
prompt = "Ciao, chi sono? Aiutami a tradurre in italiano"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device)
outputs = model.generate(input_ids=input_ids, max_length=100)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
end_time = time.time()
print(f"硬件环境:{device},推理执行时间:{end_time - start_time}秒")
if __name__ == "__main__":
main()有关模型性能的详细对比,请查看 意大利语言模型排行榜。
以下是性能指标的细分情况:
| 指标 | hellaswag_it acc_norm | arc_it acc_norm | m_mmlu_it 5-shot acc | 平均值 |
|---|---|---|---|---|
| 归一化准确率 | 36.28 | 27.63 | 35.4 | 33.1 |
该 qwen2 模型借助 Unsloth 和 Huggingface 的 TRL 库,训练速度提升了 2 倍。