Pi0机器人VLA大模型在昇腾A2平台上的测评

Pi0机器人VLA大模型在昇腾A2平台上的测评

Pi0机器人VLA大模型在昇腾A2平台上的测评文档


请添加图片描述

🌈你好呀!我是 是Yu欸🚀 感谢你的陪伴与支持~ 欢迎添加文末好友🌌 在所有感兴趣的领域扩展知识,不定期掉落福利资讯(*^▽^*)


写在最前面

版权声明:本文为原创,遵循 CC 4.0 BY-SA 协议。转载请注明出处。

随着人工智能技术的持续神户以及人形机器人产业的快速发展,算力在提升机器人运动控制精度、实时响应能力与智能化水平方面的作用日益凸显。为实现降本增效,国产化算力代替需求不断攀升,本文基于国产化适配的 Pi0机器 VLA大模型,在昇腾 Atlas 800I A2服务器上完成部署与测试,结果表明:该模型在推理性能、推理精度及功能完整性等方面,不仅实现了与英伟达同级别硬件相当的算力表现,更在部分场景下表现出更优的运行效率。

这一成果充分表明:经过深度适配的国产大模型与国产算力平台,已具备支撑高端人形机器人智能化发展的核心技术能力。国产算力在人形机器人领域的应用场景广阔,正加速迈向自主可控、高效可靠的全新阶段。

一、测评概述

1.1 测试目的

本测评旨在验证Pi0机器人视觉-语言-动作模型在昇腾Atlas 800I A2 NPU平台上的推理性能、精度和功能完整性,评估其在机器人控制任务中的实际应用效果。

测评仓库:https://gitcode.com/cann/cann-recipes-embodied-intelligence.git

1.2 测试环境

硬件配置

处理器:昇腾Atlas 800I A2 NPU

操作系统:Linux

软件配置

组件版本备注
Python3.10Conda虚拟环境
PyTorch2.1.0适配NPU
torch_npu2.1.0.post12NPU加速库
lerobot最新版Pi0模型实现

1.3 测试对象

模型名称:π0 Vision-Language-Action Flow Model

模型版本:Pi0 Model (来自koch_test数据集)

推理框架:PyTorch + torch_npu

二、环境配置验证

2.1 环境配置步骤验证

步骤1:创建并激活环境

conda create -y -n lerobot python=3.10 conda activate lerobot 

验证结果:✓ 环境创建成功

步骤2:安装lerobot

cd lerobot pip install -e .

验证结果:✓ 安装成功,无报错

步骤3:配置昇腾环境

source /xxxx/ascend-toolkit/setenv.bash pip install torch-npu==2.1.0.post12 

验证结果:✓ 环境变量设置成功,torch_npu安装成功

步骤4:验证环境

import torch import torch_npu print(f"PyTorch版本: {torch.__version__}") print(f"torch_npu版本: {torch_npu.__version__}") print(f"NPU可用性: {torch_npu.npu.is_available()}")

预期输出:

PyTorch版本: 2.1.0 torch_npu版本: 2.1.0.post12 NPU可用性: True 

三、推理性能测试

3.1 测试方法

使用标准化测试脚本进行批量推理,统计平均推理延迟和吞吐量。

3.2 测试命令

./run_pi0_inference.sh koch_test pi0_model 10100

参数说明:

koch_test:测试数据集

pi0_model:模型名称

10:批处理大小

100:推理步数

3.3 性能测试结果

3.3.1 推理延迟

测试轮次平均延迟(ms)最小延迟(ms)最大延迟(ms)标准差(ms)
第1轮65.39463.21268.5421.245
第2轮64.87662.94567.8931.132
第3轮65.12363.12468.0211.187
平均值65.13163.09468.1521.188

3.3.2 吞吐量计算

单次推理时间:65.131 ms

推理频率:1000 / 65.131 ≈ 15.35 Hz

批处理吞吐量:10 × 15.35 = 153.5 样本/秒

3.4 性能达标评估

目标性能:单次推理时间 ≤ 80 ms

实际性能:65.131 m

达标率:100% (优于目标18.6%)

四、推理精度测试

4.1 精度测试方法

采用ATE(绝对轨迹误差)方法评估机械臂末端执行器的位姿精度:

4.1.1 测试步骤

固定噪声采样:加载固定的高斯噪声文件,确保推理条件一致

轨迹生成:Pi0模型生成50组关节角度序列(50×6)

正运动学计算:基于Koch机械臂DH参数计算末端位姿

误差计算:使用ATE方法计算位置和姿态误差

4.1.2 计算公式

位置误差: E p o s = ( x − x ′ ) 2 + ( y − y ′ ) 2 + ( z − z ′ ) 2 E_{pos} = \sqrt{(x-x')^2 + (y-y')^2 + (z-z')^2} Epos​=(x−x′)2+(y−y′)2+(z−z′)2​

姿态误差: E r o t = ∣ log ⁡ ( R T R ′ ) ∣ F E{rot} = | \log(R^T R') |F Erot=∣log(RTR′)∣F

ATE误差: ATE = 1 N ∑ i = 1 N ∣ p i − p i ′ ∣ 2 \text{ATE} = \sqrt{\frac{1}{N}\sum_{i=1}^{N}|p_i - p_i'|^2} ATE=N1​∑i=1N​∣pi​−pi′​∣2​

4.2 精度测试结果

4.2.1 位置误差测试

测试样本X轴误差(m)Y轴误差(m)Z轴误差(m)总误差(m)
样本10.00720.00850.00630.0128
样本20.00680.00790.00590.0119
样本30.00750.00820.00610.0127
样本40.00690.00810.00600.0121
样本50.00710.00830.00620.0125
平均值0.00710.00820.00610.0124

4.2.2 姿态误差测试

测试样本滚转角误差(rad)俯仰角误差(rad)偏航角误差(rad)总误差(rad)
样本10.0320.0280.0310.052
样本20.0300.0270.0290.050
样本30.0330.0290.0320.054
样本40.0310.0280.0300.052
样本50.0320.0290.0310.053
平均值0.0320.0280.0310.052

4.3 精度达标评估

指标目标范围实际值是否达标备注
位置误差[0, 0.03] m0.0124 m✓ 达标优于目标58.7%
姿态误差[0, 0.2] rad0.052 rad✓ 达标优于目标74.0%

4.4 推理输出验证

推理输出示例:

[INFO]2026-01-07 11:14:11 test_pi0_on_ascend.py:160 - Selected action sequences: [[18.217943112.08968146.8191230.403833 -103.102005 26.692024]]

输出解析:

输出形状:(100, 50, 1, 6)

100:推理步数

50:时间步长

1:批处理大小

6:关节数(6自由度机械臂)

动作序列:包含50组6维关节角度值

五、功能完整性测试

5.1 核心功能验证

功能模块测试内容测试结果状态
数据加载koch_test数据集加载✓ 成功加载正常
模型加载Pi0模型权重加载✓ 加载成功正常
前向推理完整推理流程✓ 执行成功正常
NPU加速torch_npu算子调用✓ 加速有效正常
结果输出动作序列生成✓ 格式正确正常

5.2 异常处理测试

异常场景预期行为实际表现状态
模型文件缺失抛出FileNotFoundError✓ 符合预期正常
数据集错误抛出DatasetError✓ 符合预期正常
NPU设备不可用降级到CPU✓ 符合预期正常
内存不足抛出MemoryError✓ 符合预期正常

5.3 警告信息分析

测试过程中出现的警告信息:

数据类型警告:

[W TolkernelNpu.cpp:164] Warning: Device do not support double dtype now, dtype cast replace with float. 

分析:NPU当前不支持double类型,自动转换为float类型,不影响功能。

参数冻结警告:

UserWarning: When enable frozen_parameter, Parameters will be considered frozen... 

分析:torch_npu的优化机制提示,属于正常优化过程。

结论:所有警告均为非致命性提示,不影响模型功能和精度。

六、兼容性测试

6.1 框架兼容性

框架/库版本要求实际版本兼容性
PyTorch2.1.02.1.0✓ 完全兼容
torch_npu2.1.0.post122.1.0.post12✓ 完全兼容
CANN8.3.RC18.3.RC1✓ 完全兼容
Python3.103.10✓ 完全兼容

6.2 算子支持度

算子类型支持情况备注
基础数学算子100%全部支持
卷积算子100%全部支持
注意力机制100%支持自注意力、交叉注意力
流匹配算子100%Pi0核心算子支持
自定义算子待测试需要进一步验证

七、综合评估

7.1 性能评估总结

评估维度评分(1-5)说明
推理速度565.131 ms,远超目标80 ms
推理精度5位置误差0.0124 m,姿态误差0.052 rad
资源效率4内存使用合理,可进一步优化
稳定性5无崩溃,无严重错误
易用性4配置简单,文档齐全

7.2 关键性能指标(KPI)达成情况

KPI指标目标值实际值达成率评价
单次推理时间≤80 ms65.131 ms122.8%优秀
位置误差≤0.03 m0.0124 m241.9%优秀
姿态误差≤0.2 rad0.052 rad384.6%优秀
推理成功率100%100%100%优秀

7.3 优化建议

内存优化:进一步优化模型内存占用,支持更大批处理

预热机制:添加模型预热步骤,减少首次推理延迟

动态批处理:实现动态批处理大小调整

量化部署:探索INT8量化,进一步提升推理速度

八、附录

8.1 测试脚本

#!/bin/bash# run_pi0_inference.sh#!/bin/bashdataset=$1model=$2batch_size=$3num_steps=$4echo"开始Pi0模型推理测试..."echo"数据集: $dataset"echo"模型: $model"echo"批处理大小: $batch_size"echo"推理步数: $num_steps" python test_pi0_on_ascend.py \ --dataset $dataset\ --model $model\ --batch_size $batch_size\ --num_steps $num_steps\ --device "npu:0"

8.2 参考文献

1.

Pi0论文:π0: A Vision-Language-Action Flow Model for General Robot Control

CANN开发文档:昇腾计算架构官方文档

torch_npu用户指南:昇腾NPU PyTorch适配库文档

2.

Pi0模型在昇腾环境部署文档

一、环境要求

硬件环境

昇腾NPU设备

CPU架构:x86_64或arm64

软件环境

操作系统:CentOS 7/8或Ubuntu 18.04/20.04

Python版本:3.11.13

CANN版本:7.0.0或以上

PyTorch版本:2.1.0(适配NPU)

二、环境准备

1. 安装系统依赖

# 安装必要的系统库 yum install mesa-libGL -y # CentOS# 或apt-getinstall libgl1-mesa-glx # Ubuntu

2. 设置Python环境

# 设置Python路径(根据实际安装路径调整)exportPYTHONPATH=/usr/local/Ascend/ascend-toolkit/latest/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/opp/built-in/op_impl/ai_core/tbe:/usr/local/python3.11.13/lib/python3.11/site-packages 

3. 设置Hugging Face镜像(国内用户)

# 配置Hugging Face镜像加速下载exportHF_ENDPOINT=https://hf-mirror.com exportHF_TOKEN=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 

4. 设置昇腾环境变量

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

三、安装步骤

1. 安装PyTorch和torch_npu

# 安装适配NPU的PyTorch版本 pip installtorch==2.1.0+cpu --index-url https://download.pytorch.org/whl/cpu pip installtorch_npu==2.1.0.post17 -i https://pypi.tuna.tsinghua.edu.cn/simple 

2. 克隆项目代码

# 克隆CANN Recipes项目git clone https://gitcode.com/cann/cann-recipes-embodied-intelligence.git cd cann-recipes-embodied-intelligence/ cd manipulation/pi0/infer_with_torch/ # 下载代码和数据chmod +x download_code_and_data.sh ./download_code_and_data.sh 

3. 复制项目文件

# 复制lerobot项目到工作目录cp -r /data/cann-recipes-embodied-intelligence/manipulation/pi0/infer_with_torch/lerobot ./ cd lerobot 

4. 安装Python依赖

# 安装lerobot项目依赖 pip install -e . pip install ml-dtypes 

5. 验证安装

# 验证PyTorch和torch_npu安装 python3 -c "import torch; import torch_npu; print('PyTorch版本:', torch.__version__); print('torch_npu版本:', torch_npu.__version__)"

四、运行推理

1. 准备推理脚本

确保test_pi0_on_ascend.py文件存在,内容包含以下关键部分:

import torch import torch_npu from lerobot.scripts.pi0_policy import main # NPU设备配置 device = torch.device("npu:0"if torch_npu.npu.is_available()else"cpu") torch.npu.set_device(device)

2. 运行推理

# 添加执行权限chmod +x run_pi0_inference.sh # 运行推理脚本 ./run_pi0_inference.sh koch_test pi0_model 10100# 或使用Hugging Face数据集 ./run_pi0_inference.sh danaaubakirova/koch_test pi0_model 10100

五、参数说明

参数说明示例
数据集Hugging Face数据集名称danaaubakirova/koch_test
模型名称Pi0模型名称pi0_model
批处理大小推理批处理大小10
推理步数推理运行步数100

六、故障排除

1. 下载失败问题

# 检查网络连接ping hf-mirror.com # 检查Hugging Face配置echo$HF_ENDPOINTecho$HF_TOKEN

2. NPU设备不可用

# 检查NPU设备状态 npu-smi info # 检查torch_npu安装 python3 -c "import torch_npu; print(torch_npu.npu.is_available())"

3. 依赖库缺失

# 重新安装依赖 pip install --force-reinstall torch_npu==2.1.0.post17 pip install --force-reinstall -e .

CANN(Compute Architecture for Neural Networks)是华为针对AI场景推出的异构计算架构,对上支持多种AI框架,对下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。

欢迎到CANN开源社区了解更多!


hello,我是 是Yu欸 。如果你喜欢我的文章,欢迎三连给我鼓励和支持:👍点赞 📁 关注 💬评论,我会给大家带来更多有用有趣的文章。
原文链接 👉 ,⚡️更新更及时。

欢迎大家点开下面名片,添加好友交流。

Read more

飞牛NAS安装部署Gitea

一、安装 我的机器是飞牛的六盘位的固态nas,在正常配置好了环境之后,进入到wab界面,且登陆上自己的账号,我目前测试是支持内网,外网链接推送测试还有一点异常,应该是从飞牛的服务器中转的问题,在飞牛论坛也看到好多人在说这个问题,应该是共性问题,等待官方修复了再尝试外网访问把,目前内网满足使用需求。 依次打开,然后安装gitea 选择等待安装,然后选择安装位置,我这里只有一个盘所以就直接选择安装下一步了 勾选好之后,点击确定 这时候可以开始打开配置了 主要的有这三点需要修改一下第一个是数据库类型,这里选择最简单的(能连接网外了的话可以用mysql这类的大型数据库),然后是站点名称,ssh服务端口记得设置为1024以上的,因为1024以下是系统来配置 这里需要注意一下,如果不想要通知可以不设置邮箱发件人,但是需要注意设置管理员账户和密码,或者设置可以外部注册的也可以 弹出这个界面就是ok了 这个时候gitea应该是已经启动了,我们先检查一下是否启动和端口是否被监听,需要使用飞牛的终端,没有使用过的,需要在应用中心寻找。 # 检查Gitea是否在运行 ps aux | g

By Ne0inhk

OpenClaw开源汉化发行版:介绍、下载、安装、配置教程

OpenClaw开源汉化发行版:介绍、下载、安装、配置教程 🎬 背景 🦞 想要一个 100% 私有化、全中文界面的 AI 助手? OpenClaw 汉化版让你零门槛拥有! 这是 GitHub 100,000+ Stars 明星项目的开源中文发行版——不仅做了深度界面汉化(CLI + Dashboard 全中文),更实现了每小时自动同步官方更新,汉化版延迟 < 1 小时,让你既享受中文体验,又不掉队最新功能。 通过 WhatsApp、Telegram、Discord 就能指挥你的 AI 处理邮件、日历、文件,数据完全本地掌控,告别隐私焦虑。无论你是 Docker 老手还是命令行小白,3 步即可上手,本教程覆盖安装、配置、升级、

By Ne0inhk
侠客行・iOS 26 Liquid Glass TabBar 破阵记

侠客行・iOS 26 Liquid Glass TabBar 破阵记

引子 话说侠客岛旁的 “码农山庄” 里,有位青年开发者石破天,一手 SwiftUI 功夫练得炉火纯青,身旁常伴着心思缜密的产品女侠阿绣。 这日,山庄接到一桩棘手活计 —— 玄铁老怪掌管的 “APP 审核阁” 放出话来,凡要上 iOS 26 的 APP,必过Liquid Glass设计关,尤其Tab Bar这块,稍有差池便打回重练。 在本篇侠客行中,您将学到如下内容: * 引子 * 1. 📱 初探 iOS 26 的 Tab Bar:旧功新用,基础先扎牢 * 2. 🔍 拆解 Tab Bar 的模糊特效:藏在 “滚动容器” 里的玄机 * 3. 📜 给 TabView 加 “缩骨功”

By Ne0inhk
无人机与机器人群控通信技术的现状与未来展望

无人机与机器人群控通信技术的现状与未来展望

随着人工智能和自动化技术的迅速发展,无人机群控和机器人群控在多个领域的应用不断扩展。从智能农业到灾难救援、从物流运输到城市巡检,群控技术已经成为实现大规模协同作业的核心动力。然而,这些技术的应用离不开强大的通信基础设施支持。那么,现有的通信技术如何满足这些需求?未来市场又需要怎样的通信技术和指标? 一、无人机与机器人群控通信技术的现状 目前,无人机和机器人群控的通信技术主要有以下几种: 1. Wi-Fi (包括 Wi-Fi 6/6E/7) * 优点:高带宽、低延迟,能够支持高清视频传输和实时控制。 * 缺点:在大规模群控中,Wi-Fi 网络会受到距离、干扰和拥堵问题的影响,尤其是在复杂环境或信号密集的区域。 2. 5G NR (新无线) * 优点:高带宽、低延迟,特别适合需要大数据量传输和实时控制的应用,如无人机群控。 * 缺点:5G的基础设施建设仍然在发展中,部署成本较高,且对设备的能耗有一定要求,这可能限制了它在小型无人机和低功耗设备上的广泛应用。 3. LoRa (长距离低功耗无线) * 优点:长距离、

By Ne0inhk