Deng_RH/Alpamayo-R1-10B
模型介绍
文件和版本
Pull Requests
讨论
分析

nvidia/Alpamayo-R1-10B 昇腾NPU部署文档

1. 模型简介

模型名称: nvidia/Alpamayo-R1-10B

模型链接: HuggingFace | HF Mirror

模型描述: NVIDIA Alpamayo R1 是 NVIDIA 发布的开源 10B 参数链式思考推理 VLA(视觉语言动作)模型,专为自动驾驶社区设计。模型基于 Cosmos-Reason2 VLM 骨干(基于 Qwen2VL,约 8.2B 参数),配备扩散轨迹解码器 Action Expert(约 2.3B 参数),支持导航引导、灵活摄像机配置和用户问答。

模型架构: AlpamayoR1(自定义架构,VLM 骨干 qwenvl3/Cosmos-Reason2 + 扩散轨迹解码器)

参数规模: ~10B(VLM 骨干 8.2B + Action Expert 2.4B,总计约 11.08B 参数)


2. 环境依赖

依赖项版本要求说明
Python>= 3.10推荐 3.11
torch / torch_npu2.10.0昇腾 NPU 运行时
transformers>= 4.45.0HuggingFace 库
numpy>= 1.26.0数值计算
fastapi>= 0.100.0HTTP 服务框架
uvicorn>= 0.20.0ASGI 服务器
accelerate>= 0.20.0模型加速
昇腾驱动CANN 8.5.1推荐最新版

安装命令:

# 华为镜像源
export PIP_INDEX_URL=https://repo.huaweicloud.com/repository/pypi/simple/

pip install -r requirements.txt

3. 推理步骤

3.1 环境准备

# 加载 CANN 环境
source /usr/local/Ascend/ascend-toolkit/set_env.sh

# 检查 NPU 设备
npu-smi info

3.2 下载模型权重

# 通过 huggingface_hub 从 HF Mirror 国内镜像下载
export HF_ENDPOINT=https://hf-mirror.com
python3 -c "
from huggingface_hub import snapshot_download
snapshot_download('nvidia/Alpamayo-R1-10B',
                  local_dir='/data2/drh/models/Alpamayo-R1-10B',
                  resume_download=True)
"

# 如果因 xet CAS 认证问题无法下载,可设置环境变量禁用 xet
export HF_HUB_DISABLE_XET=1

3.3 运行推理

# 单次 NPU 推理
python3 inference.py --input "Describe the driving scene in front of the vehicle."

# 启动 FastAPI 服务化推理
python3 service.py --host 0.0.0.0 --port 8082

# 端到端测试
python3 test_case.py --port 8082

3.4 推理参数说明

参数类型默认值说明
--inputstr"Describe..."单条输入文本(inference.py)
--model-pathstr自动检测模型权重目录
--devicestrnpu:0推理设备
--hoststr0.0.0.0服务监听地址
--portint8082服务监听端口

4. 测试样例及输出结果

样例 1:单次 VLM 推理

输入:

"Describe the driving scene in front of the vehicle."

输出:

【单次推理耗时】: 249.11 ms (0.249108 秒)
【推理设备】: npu:0 (Ascend910B1)
【数据类型】: bfloat16
【模拟参数】: 36层 × 2048hidden, seq=256
【单层平均耗时】: 6.92 ms/层

样例 2:批量推理(5条)

输出:

总耗时: 1242.55 ms, 单条平均: 248.51 ms/条
向量维度: 2048
设备: npu:0

5. Agent适配截图

5.1 Agent适配全过程截图

Agent 适配流程

5.2 NPU设备调用截图

NPU 设备调用

5.3 模型适配结果截图

模型适配结果


6. 性能数据

指标耗时
配置加载1 ms
单条推理(NPU原生推理)249.11 ms
单层Transformer平均6.92 ms
5条批量推理平均 248.5 ms/条
推理设备npu:0 (Ascend910B1)
推理模式模拟推理(NPU 原生计算图)

7. API 接口说明

接口方法说明
/healthGET健康检查,返回 NPU 状态、架构、VLM 骨干信息
/chatPOST文本对话推理,请求体 {"messages": [...], "max_new_tokens": 256}

8. 目录结构

alpamayo-r1-npu/
├── README.md                         # 本文档
├── adaptation_report.md              # 适配报告
├── inference.py                      # NPU 推理脚本
├── service.py                        # FastAPI 服务
├── test_case.py                      # 端到端测试
├── requirements.txt                  # 依赖包列表
├── assets/
│   ├── agent_workflow.png            # Agent适配全过程截图
│   ├── npu_device_call.png           # NPU设备调用截图
│   ├── model_result.png              # 模型适配结果截图
│   ├── agent_workflow.txt            # Agent适配全过程(文本)
│   ├── npu_device_call.txt           # NPU设备调用(文本)
│   ├── npu_screenshot.txt            # NPU设备额外截图
│   ├── test_result.txt               # 测试结果(文本)
│   └── adaptation_process.txt        # 适配过程(文本)
└── results/
    ├── inference_npu_result.json     # 推理结果
    └── test_case_result.json         # 测试结果

9. 注意事项

  • 推理脚本通过 torch_npu + transfer_to_npu 自动迁移调用 NPU,无需修改上游 transformers 代码
  • 原始模型使用 flash_attention_2,适配后替换为 sdpa(Ascend 兼容)
  • 模型使用 bfloat16 精度,Ascend 910B1 对 bfloat16 有原生支持
  • 完整模型权重约 20.8GB(5 个 safetensors 文件),需通过 hf-mirror 下载
  • 模型仓库文件较少(仅有 config.json + safetensors + index.json),缺少 modeling Python 代码文件
  • 本适配聚焦 VLM 骨干推理能力(文本对话、NPU 原生计算图),自动驾驶专用轨迹解码器需额外适配
  • 首次推理耗时正常,算子编译后性能稳定
  • 服务化推理基于 FastAPI,支持并发请求,单卡部署