尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

ppo-Huggy-NPU 完全解读:让 Deep RL 经典拥抱机器人 Huggy 在昇腾 910B NPU 上奔跑

ppo-Huggy-NPU 完全解读:让 Deep RL 经典拥抱机器人 Huggy 在昇腾 910B NPU 上奔跑 ppo-Huggy-NPU 完全解读让 Deep RL 经典拥抱机器人 Huggy 在昇腾 910B NPU 上奔跑【免费下载链接】ppo-Huggy-NPU项目地址: https://ai.gitcode.com/z_studio/ppo-Huggy-NPUppo-Huggy-NPU是一个把 Hugging Face Deep RL 课程经典示例Huggy拥抱机器人完整迁移到昇腾 910B NPU的开源适配项目。Huggy 是一只由 Unity ML-Agents 采用PPO 算法训练、会扑向并拥抱投出棍子的小狗 本项目通过torch_npu推理引擎让它在单卡 Ascend 910B 上跑通确定性/随机动作推理、批量推理、精度对照、ONNX 交叉验证与延迟基准并完成 CPU fp32 数值对齐验证。本文将从模型背景、技术选型、部署步骤到验证结果为新手做一次零基础友好的完整解读。Huggy 是谁Deep RL 课程中最治愈的拥抱机器人 HuggyHuggy the Dog是 Hugging Face Deep RL 课程单元一的经典入门示例一只用物理引擎模拟的小狗被训练去扑向并拥抱投出的棍子fetch hug。它由 Unity ML-Agents 使用 PPO 算法训练训练步数达200 万步最终检查点Huggy-2000049.pt权重公开发布于 Hugging Face Hub。对初学者而言Huggy 是理解智能体—环境—奖励闭环的最佳起点观测是 59 维连续向量动作是 21 维电机控制信号策略网络则是一个轻量 MLP参数量仅 566,805fp32 权重约 2.3 MB非常适合作为 NPU 迁移实验的样板模型。为什么要把 Huggy 部署到昇腾 910B NPU当前大模型推理框架vllm-ascend、sglang主要面向 LLM/VLM 的 token 生成而 Huggy 是经典的强化学习策略网络架构完全不同。将这类 PPO 模型迁移到国产昇腾 910B NPU既能验证 NPU 对强化学习场景的支持能力也为后续在国产硬件上跑仿真训练、机器人控制等应用打下基础。本项目已在单卡 Ascend 910BHBM 64 GBCANN 8.5.1上完整跑通且双卡npu:0/npu:1输出逐位一致。技术选型为什么选择 torch_npu 推理引擎一句话结论Huggy 是 PyTorch 原生的 MLP 策略网络用 torch_npu 直接 forward 即可。vllm-ascend / sglang 的模型注册表只包含文本/视觉生成架构无法加载强化学习策略网络Huggy 计算图全部是 PyTorch 原生算子Linear / SiLU / clamp昇腾 910B 上 ACL 直接支持无 CUDA / Triton 依赖官方Huggy.onnxonnxruntime CPU作为参考实现用于交叉验证重建网络的数值正确性。Huggy 模型结构解读56 万参数的小而美策略网络Huggy 的计算图与官方Huggy.onnx逐算子一致obs(59) → 观测归一化: clamp((obs − running_mean) / sqrt(running_variance / steps), −5, 5) → 3 × [Linear(512) → SiLU] → mu Linear(512 → 21) → 确定性动作 clip(mu, −3, 3) / 3 输出落在 [−1, 1] → 随机动作 clip(mu z·exp(log_sigma), −3, 3) / 3, z ~ N(0, I)项目数值观测维度59连续向量观测动作维度21连续电机控制隐藏层3 × 512SiLU 激活参数量 / 权重体积566,805 / ≈ 2.3 MBfp32训练步数2,000,000环境准备昇腾 NPU 推理的完整依赖清单关键版本组合Python 3.11.14 CANN 8.5.1 torch 2.9.0 torch-npu 2.9.0.post1。torch / torch-npu 为昇腾系统级预装组件venv 通过--system-site-packages复用仅交叉验证用的 onnx / onnxruntime 需要单独安装完整清单见 [requirements.txt]。获取代码并创建虚拟环境git clone https://gitcode.com/z_studio/ppo-Huggy-NPU cd ppo-Huggy-NPU /usr/local/python3.11.14/bin/python3 -m venv --system-site-packages venv ./venv/bin/pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple校验环境是否就绪./venv/bin/python -c import torch, torch_npu; print(torch.__version__, torch_npu.__version__); print(npu_available , torch.npu.is_available())输出npu_available True即代表昇腾 NPU 环境配置完成详细的部署文档可参考项目 [README.md]。推理操作指南inference.py 的 11 种模式项目核心是 [inference.py]一个脚本覆盖 11 种推理模式初学者可从最常用的 3 条命令开始./venv/bin/python inference.py --mode info # 环境/模型信息 ./venv/bin/python inference.py --mode action --obs random --seed 0 # 确定性动作推理 ./venv/bin/python inference.py --mode benchmark --runs 200 # 延迟基准模式作用info / checkpoints查看环境与模型信息action确定性动作推理sample随机采样动作带探索噪声batch批量推理benchmark延迟基准precisionNPU vs CPU 精度对照onnx-compare与官方 ONNX 交叉验证fingerprint动作序列指纹验证推理确定性stats策略闭环滚动统计export-onnx导出重建模型 ONNX全部 50 组测试用例可通过 [run_tests.sh] 一键重跑日志落盘到logs/test_cases.log且测试输入全部为确定性构造输出可精确复现。关键验证结果精度、一致性与性能NPU 与 CPU 精度对照float32 下NPU 与 CPU fp32 参考最大绝对误差仅 1.132e-06余弦相似度 1.0数值正确性得到确认float16 误差约 1e-3 可接受bf16 在 910B 上相对误差略超阈值因此生产部署推荐 float32。ONNX 交叉验证torch 重建网络与官方 ONNXonnxruntime输出最大偏差 8e-7float32 舍入级别说明脚本对 ML-Agents 检查点语义归一化公式、SiLU 激活、clip(±3)/3 动作头的还原完全正确。重建模型还可通过--mode export-onnx导出为assets/huggy_rebuilt.onnx与官方导出逐位一致。性能参考单卡 Ascend 910Bfloat32指标数值单步推理平均延迟0.3698 msp95 / p99 延迟0.3953 / 0.4003 ms权重加载耗时≈ 0.03 s峰值显存 100 MB常见问题与避坑指南不要用 vllm-ascend 加载Huggy 是 RL 策略网络而非 LLM/VLM必须用 torch_npu 直接 forward归一化统计量必须保持 float32running_variance是累计和可达 1e5、normalization_steps为 2e6强转 float16 会溢出为 inf 导致归一化 NaN脚本已在normalize_obs中强制处理NPU 没有随机数生成器sample 模式在 CPU 按 seed 生成高斯噪声再搬运到 NPU保证同 seed 两次采样逐位一致首次前向延迟偏高batch 模式约 140 ms 包含进程冷启动与算子编译稳态单步仅约 0.37 msbenchmark 模式已内置预热双卡一致性单机 2 张逻辑卡--device npu:1可切换fp32 下两卡输出逐位一致。总结ppo-Huggy-NPU 用一套轻量、可复现的方案把 Deep RL 课程经典 Huggy 完整跑在了昇腾 910B NPU 上torch_npu 引擎选型、ML-Agents 检查点语义还原、50 组测试用例49 项通过与 ONNX 逐位交叉验证共同证明了国产 NPU 完全能够承担强化学习策略网络的推理任务。无论你是 Deep RL 新手还是 NPU 迁移的实践者这个项目都是一份绝佳的参考样板 。【免费下载链接】ppo-Huggy-NPU项目地址: https://ai.gitcode.com/z_studio/ppo-Huggy-NPU创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表