Y
gcw_hhrLdMXW/tiny-random-LlamaForCausalLM
模型介绍
文件和版本
Pull Requests
讨论
分析

hmellor/tiny-random-LlamaForCausalLM 昇腾 NPU 部署

模型简介

tiny-random-LlamaForCausalLM 是一个随机初始化的小型 Llama 因果语言模型(约 106 万参数),用于验证 Llama 架构(RMSNorm、RoPE 旋转位置编码、GQA 注意力、SwiGLU FFN)在昇腾 NPU 上的前向传播与自回归生成链路是否完整可用。

  • 架构:LlamaForCausalLM(随机初始化)
  • 参数:约 106 万
  • 输入:文本提示词
  • 输出:自回归生成的 token 序列(随机初始化模型输出无语义,仅验证架构链路)
  • 权重:model.safetensors(2.1MB)
  • 官方仓库:https://huggingface.co/hmellor/tiny-random-LlamaForCausalLM

环境依赖清单

组件版本说明
昇腾 NPUAscend910_9362 ×2(64GB HBM)推理硬件
CANN8.5.1昇腾计算框架
torch2.9.0+cpuPyTorch
torch_npu2.9.0.post1昇腾 NPU 插件
transformers4.57.6模型加载与生成

安装依赖:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

分步推理操作流程

1. 环境检查

npu-smi info          # 确认 NPU 健康与显存
python3 -c "import torch, torch_npu; print(torch.npu.device_count())"

2. 运行推理脚本

cd tiny-random-llama-npu-deployment
ASCEND_RT_VISIBLE_DEVICES=0 python3 inference.py

3. 自定义提示词

python3 inference.py --prompt "Once upon a time" --max-new-tokens 64

4. 自定义设备与基准

python3 inference.py --device npu:0 --warmup 2 --runs 10

测试用例与输出结果

测试输入:

  • 提示词:"The capital of France is"
  • 生成长度:32 个新 token

输出结果(昇腾 NPU,Ascend910_9362):

生成结果 (32 个新 token):
  The capital of France is Var populated kilometerзда moins합 meer weitiginomer ...

生成耗时: 442.4 ms

性能基准 (warmup=2, runs=10):
  平均耗时: 160.43 ms / 次生成

验收结论:LlamaForCausalLM 架构(RMSNorm/RoPE/GQA/SwiGLU)在昇腾 NPU 上完整跑通前向传播与自回归生成,无算子回退或崩溃。模型为随机初始化,输出 token 无语义属预期(本任务仅验证架构链路可用性,不做精度优化)。

目录结构

tiny-random-llama-npu-deployment/
├── inference.py        # 推理脚本
├── readme.md          # 部署说明
├── requirements.txt   # 环境依赖
├── SKILL.md           # 技能文档
├── model/             # 模型权重
└── assets/            # 截图素材
    ├── agent_workflow.png
    ├── npu_device_call.png
    └── model_result.png