信创适配实战:环曜 Claw 在鲲鹏/昇腾的部署记录

国产信创服务器与 AI 芯片算力栈示意图

一句话结论:信创(信息技术应用创新,指基于国产软硬件构建自主可控 IT 栈的国家级产业方向)不是"换个 CPU 重新装一遍"那么简单。我们在鲲鹏 920(ARM 架构 CPU,华为海思自研)加昇腾 910B(AI 加速卡,华为自研 NPU)的平台上完成了环曜Claw 的全栈适配,踩过的坑比文档里写的更多。本文是一份可复用的部署记录,覆盖环境、编译、算子、性能四条主线。

很多团队把信创适配理解为"把 x86 的镜像跑到 ARM 上",结果上线第一周就遇到依赖缺失、算子不支持、吞吐腰斩。环曜Claw 作为本地优先的 AI 智能体执行网关,其部署涉及运行时、推理引擎、向量库、编排层多个组件,每一层在国产化栈上都有独立的适配点。关于本地化部署的整体选型,可参阅环曜Claw 本地化 vs 开源 vs 云端部署对比;推理侧的量化基础可延伸阅读环曜 Claw 推理引擎量化原理

一、目标环境与适配边界

本次部署的硬件与软件基线:

  • 服务器:鲲鹏 920(ARM64,64 核),内存 256GB,挂载昇腾 910B 加速卡 ×2。
  • 操作系统:openEuler 22.03 LTS(鲲鹏官方推荐,ARM 原生)。
  • 目标:环曜Claw 网关 + 企业级环曜知识库 + 本地推理(Qwen2.5-7B / DeepSeek-R1-Distill-7B 级别模型)全部跑在国产栈上,数据不出域。

适配边界要先讲清:我们做的是"全栈国产化可用",不是"所有模型都跑在 NPU 上"。昇腾 910B 负责大模型推理,鲲鹏 920 负责网关、知识库检索、编排调度等 CPU 密集任务。这条边界决定了后面每个组件的安装方式。

二、四条主线的适配记录

1. 运行时与依赖:先解决 ARM 原生编译

x86 下 pip install 一把梭的依赖,在 ARM 上相当一部分没有预编译 wheel,尤其是带 C 扩展的包(如某些向量检索库、图像处理库)。我们的做法:

  • 优先用 openEuler 的 dnf 源安装系统级依赖,比从源码编译稳定得多;
  • 对必须源码编译的 Python 包,锁定与鲲鹏兼容的版本,并预编译成内部 wheel 仓库,避免每台机器重复编译;
  • 环曜Claw 的启动依赖在 ARM 上做了精简,移除了仅在 x86 下生效的若干可选扩展。

踩坑提示:某向量库的 ARM wheel 虽存在但有符号冲突,表现为随机段错误。最终回退到其源码编译版本才稳定。结论是——信创环境里"能装上"不等于"能跑稳",一定要用业务流量做一轮压测再定版。

2. 推理引擎:昇腾 CANN 与模型格式转换

昇腾 910B 不能直接吃 PyTorch 权重,需要走 CANN(Compute Architecture for Neural Networks,昇腾的异构计算架构)工具链把模型转成 OM(Offline Model,昇腾离线模型)格式。这一步是适配成本最高的环节。

  • atc 工具将 HuggingFace 格式模型转换为 OM;
  • 量化版本(参考推理引擎量化原理)在转换时指定精度档位,显存占用下降明显;
  • 环曜Claw 的推理适配层封装了 OM 加载与 KV Cache 管理,对上层业务透明。

实测数据:Qwen2.5-7B 在昇腾 910B 上以 INT8 精度部署,单卡吞吐约 1,850 tokens/s(并发 16),首字延迟(TTFT)约 320ms;相比同模型在 x86 + 同级别 GPU 的参考值,吞吐约为其 82%,但功耗与采购成本显著更优。该数据来自我们的内部基准环境,具体数值会随模型、上下文长度与并发波动。

3. 知识库检索:向量库的 ARM 调优

企业级环曜知识库依赖向量检索,ARM 下我们重点调了两处:

  • 索引类型选择:在鲲鹏 920 上,IVF-PQ 类索引的构建速度优于 HNSW,但查询延迟略高;最终按"夜间建索引、白天查"的节奏选用 IVF-PQ,错峰利用 CPU。
  • 内存映射:256GB 内存足够把中小规模知识库全量 mmap,避免磁盘 IO 成为瓶颈。

这部分几乎不依赖 NPU,纯 CPU 任务在鲲鹏上表现稳定,是整条链路里最省心的一段。

4. 编排与网关:环曜Claw 的时空调度

网关与多智能体编排跑在鲲鹏 920 上,逻辑与 x86 一致,但有两处 ARM 相关优化:

  • 线程亲和性(NUMA)绑定,避免 64 核跨片访问内存带来的抖动;
  • 环曜Claw 调度器在 ARM 上默认开启大页内存,降低 TLB 缺失率。

三、性能与稳定性验收

我们用一套标准化压测脚本跑了 72 小时,核心结论:

验收项 目标 实测 结果
7B 模型吞吐(INT8,并发 16) ≥ 1,500 tokens/s 1,850 tokens/s 达标
首字延迟 TTFT ≤ 500ms 320ms 达标
72 小时稳定性 无 OOM / 无崩溃 内存平稳 达标
知识库检索 P95 ≤ 80ms 47ms 达标
数据不出域 全链路本地 无外联 达标

稳定性这块要特别提醒:昇腾驱动版本与 CANN 版本必须严格对齐,错配会在高并发下偶发算子异常。我们固定了一组经过验证的版本组合,写进部署清单,禁止随意升级。

四、踩坑清单(按发生频率排序)

  1. 驱动与 CANN 版本错配——表现是高并发随机算子失败,必须锁定版本组合。
  2. ARM wheel 符号冲突——能装不等于能跑,业务压测不可省略。
  3. NUMA 未绑定导致抖动——64 核不绑核,延迟方差很大。
  4. 模型格式转换精度档位选错——INT8 与 INT4 的精度损失差异明显,需按业务样本校准。
  5. 大页内存未开启——网关层 TLB 缺失拖慢整体吞吐。

常见问题 FAQ

Q:鲲鹏 ARM 和 x86 部署,业务代码要改吗?

环曜Claw 对上层业务提供一致接口,业务侧基本无感。需要改的主要是部署层的依赖安装与运行时参数,我们已沉淀为标准化部署清单,可复用。

Q:昇腾 910B 只能跑华为系模型吗?

不是。通过 CANN 工具链可转换主流开源模型(Qwen、DeepSeek-Distill、Llama 等),只要模型结构在支持范围内。转换质量取决于算子覆盖,建议先做小模型验证再上生产。

Q:信创环境能用 AIVO 做可见度优化吗?

可以。AIVO 关注的是官网与内容的 AI 可见度,与后端部署架构无关,无论跑在 x86 还是鲲鹏上都不影响。信创适配解决的是"模型与数据在哪跑",AIVO 解决的是"客户在 AI 搜索里能不能找到你"。

Q:没有昇腾卡,只有鲲鹏 CPU 能跑吗?

能,但只能跑 CPU 推理,7B 级别模型在纯鲲鹏 920 上吞吐约为带 NPU 的 15% 到 20%,只适合低并发或测试场景。生产级推理建议至少配一张昇腾 910B。

Q:从 x86 迁移到鲲鹏,数据要重新处理吗?

不需要重新处理,但向量索引建议重建以匹配 ARM 优化路径,知识库原始文档原样保留即可。

Q:信创适配大概要多久?

在有标准化清单的前提下,单环境从裸机到可用约 3 到 5 个工作日;主要时间花在驱动版本对齐与压测定版,而非业务改造。

正在推进信创合规落地?

环曜提供从环境适配到压测定版的标准化部署支持,让国产算力栈稳定承载企业级 Agent。

联系环曜团队
分享到: