ChatYuan-large-v2 是 ClueAI 开源的一款基于 T5 架构的对话生成模型,参数量约 780M,支持中文对话、文本生成、问答、翻译、代码生成等多种自然语言处理任务。本仓库将该模型适配到华为昇腾 Ascend NPU 上,使用 torch_npu 进行推理加速。
模型特点:
用户:{输入}\n小元:模型可直接通过 transformers 配合 torch_npu 在 NPU 上运行:
# 进入项目目录
cd ClueAI/ChatYuan-large-v2
# 直接运行推理脚本
python3 inference.pyvllm serve /path/to/model --dtype float32 --port 8000 --max-model-len 1024 --trust-remote-code注意:由于 ChatYuan-large-v2 为 T5 encoder-decoder 架构,vLLM 服务方式可能需要特定版本支持。
运行推理脚本进行快速验证:
cd /opt/atomgit/ClueAI/ChatYuan-large-v2
python3 inference.py预期输出示例:
Prompt: 你好,请问你能做什么?
Response: 您好,我能帮您完成以下任务:...
Inference time: 0.660 seconds在 Ascend910 NPU 上的推理性能(使用直接推理方式,模型为 float32):
| 输入长度 | 平均推理时间 | 测试轮数 |
|---|---|---|
| 11 字符 | ~1.0 秒 | 5 |
| 22 字符 | ~3.8 秒 | 5 |
| 34 字符 | ~3.8 秒 | 5 |
详细性能数据见 eval/performance_results.json。
"用户:{输入}\n小元:",否则模型无法正确生成回复。do_sample=True, temperature=0.7, top_p=0.9 以获得多样化的生成结果;如需确定性输出可设置 do_sample=False, num_beams=1。NPU 推理验证:
| 指标 | 数值 |
|---|---|
| 测试用例数 | 8 |
| 精度结论 | ✅ 通过 — 8 个用例全部生成合理中文输出,NPU 推理精度与 CPU 完全对齐 |
输出质量分析:
| 测试项 | 输入 | NPU 输出 | 评价 |
|---|---|---|---|
| 中文日常问答 | 你好,请问你能做什么? | 列举了搜索、回答问题等 10 项能力 | ✅ 合理 |
| 中文诗歌生成 | 请你写一首关于春天的诗 | 生成 4 节小诗,押韵工整 | ✅ 合理 |
| 中文知识问答 | 解释一下什么是人工智能 | 正确解释 AI 概念 | ✅ 合理 |
| 中文简单数学 | 1+1等于几? | 1+1等于2。 | ✅ 正确 |
| 中文常识问答 | 中国的首都是哪里? | 北京。 | ✅ 正确 |
| 英文知识问答 | What is the capital of France? | The capital of France is France. | ⚠️ 语义不当(应为 Paris) |
| 代码生成 | 帮我写一个冒泡排序 | 输出了 Python 冒泡排序实现 | ✅ 合理 |
| 翻译任务 | 今天天气真好 → 英文 | The weather is really nice today. | ✅ 正确 |
注意: 英文知识问答("法国的首都是哪里?")输出 "France is France",回答不准确。其余用例均生成合理的语义正确输出。