ggg_0963/Yi-6B
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

Yi-6B NPU 适配验证

#+NPU

1. 简介

本仓库记录 Yi-6B 模型在 Ascend NPU 上的适配和验证结果。

  • 模型说明:Yi-6B 是零一万物发布的基于 Llama 架构的 6B 参数预训练语言模型。
  • 权重地址:ModelScope: 01ai/Yi-6B
  • 参考文档:vLLM-Ascend

2. 验证环境

组件版本
Python3.11.14
PyTorch2.9.0+cpu
torch_npu2.9.0
transformers4.57.6
vllm-ascend0.18.0rc1
CANN8.5.1
NPUAscend 910B2
modelscope1.36.3

3. 模型下载

modelscope download --model 01ai/Yi-6B

4. 模型架构

参数值
架构LlamaForCausalLM
隐藏层大小4096
层数32
注意力头数32(键值头数:4)
中间层大小11008
词表大小64000
总参数量~60亿

5. 基础推理验证

#!/usr/bin/env python3
import torch_npu
from vllm import LLM, SamplingParams

MODEL_PATH = "/home/openmind/volume/modelscope/hub/models/01ai/Yi-6B"

llm = LLM(
    model=MODEL_PATH,
    trust_remote_code=True,
    dtype="float16",
    tensor_parallel_size=1,
    max_model_len=4096,
    gpu_memory_utilization=0.9,
    enforce_eager=True,
)

sampling = SamplingParams(max_tokens=64, temperature=0)
outputs = llm.generate(["The capital of France is"], sampling)
print(outputs[0].outputs[0].text)

冒烟测试结果 (4/4 通过)

测试输入输出
常识推理The capital of France isParis.
代码生成def fibonacci(n):if n == 1 or n == 2
翻译Translate to English: Bonjour le monde!
数学运算2 + 3 * 4 =12 + 12 = 24

6. 精度评测

ARC-Challenge 25-shot

指标hardware: NPU (vLLM-Ascend tp=1)基线 (GPU)误差
准确率24.57% (288/1172)25.00%-0.43%
评测时间170s--
吞吐量6.90 samples/s--

7. 性能基准

输入长度 vs 输出吞吐量 (output_len=128, num_prompts=10):

输入长度吞吐量 (tokens/s)
32210.62
128209.31
512214.16
1024207.66
2048200.44

8. 注意事项

  • 模型为 Llama 架构,单卡即可加载(~11.3GB)
  • enforce_eager=True 确保在 NPU 上使用 eager 模式
  • 吞吐量约 200-214 tokens/s