Laya-CoreML 部署与安全:纯本地Core ML推理的隐私优势、compute_units配置与版本固定
【免费下载链接】laya-coremlLocal Laya typed decisions on Apple Core ML and Neural Engine. Validated ports, ~5 ms short decisions on M3 Max, reproducible speed and energy benchmarks.项目地址: https://gitcode.com/gh_mirrors/la/laya-coreml
Laya-CoreML 是一套运行在 Apple Silicon 上的纯本地 Core ML 推理框架,用 Core ML 与 Neural Engine(ANE)在设备端完成"类型化决策"(分类、打分、布尔判断),全程零生成 token、零联网调用。本文面向新手,讲清它的三个安全要点:本地推理的隐私优势、compute_units配置方法与模型版本固定。
🛡️ 本地推理的隐私优势:数据不出设备
传统大模型 API 的推理请求必须把完整提示词发送到云端服务器。而 Laya-CoreML 的推理路径完全不同:
- 下载一次,永久离线:模型权重仅在首次通过 Hub 显式下载,之后的预测只使用本地数组与文件;
- 可强制离线:
laya.load(..., local_files_only=True)会要求已有缓存,缺失时直接报错;CLI 端用--offline参数禁止任何 Hub 访问(docs/USAGE.md); - 终端游戏更严格:贪吃蛇演示只接受本地/缓存权重,未缓存时拒绝启动并给出手动下载说明,而不是边显示 OFFLINE 边偷偷下载(docs/SNAKE_DEMO.md);
- 零生成 token:输出是结构化概率而非自回归文本,没有"把内容流式传给服务器"这类隐性通道。
下图是真实录制回放(1× 速度):右侧面板可见NETWORK OFFLINE与ENGINE CPU+ANE标识,证明整局推理在 M3 Max 本机完成。
发布方还在断网(阻止 socket 连接)环境下完成了六套模型包的全部加载与推理冒烟测试,结果记录在 benchmarks/results/wheel-runtime-smoke.json,可离线运行是有实测背书的。
⚙️ compute_units 配置指南:一键选择计算单元
Core ML 允许指定由哪类硬件执行计算。Laya-CoreML 在 laya_coreml/agent.py 中把四个取值映射到 Core ML 原生枚举:
| 取值 | 映射 | 适用场景 |
|---|---|---|
cpu | CPU_ONLY | 纯 CPU 对照实验、最低功耗 |
cpu_gpu | CPU_AND_GPU | 常规 GPU 包的默认值(1024 token 通用模型) |
cpu_ne | CPU_AND_NE | ANE 短决策包的默认值(96 token FP16) |
all | ALL | 全设备实验 |
三个新手必须知道的注意事项:
- 默认值自动匹配包格式:加载器识别
laya-coreml-ane格式后自动用cpu_ne,普通格式用cpu_gpu,不指定通常即可(laya_coreml/agent.py); cpu_ne不等于"全部跑在 ANE":它允许 CPU 与 ANE 分担,且普通 SDPA 导出即使改成cpu_ne也不会变成专用 ANE 图——两者是不同实现,性能不可混比;- RangeDim + GPU 的安全护栏:对未通过保真校验的弹性长度包,库会直接抛错阻止
cpu_gpu加载(需显式allow_unvalidated_gpu=True才能复现失败),避免拿到错误结果。
CLI 端对应laya-coreml predict ... --compute-units cpu_ne,方便做对照实验。
🔒 版本固定:让部署可复现、可审计
本地部署的安全不仅靠"离线",还靠"确定的版本"。Laya-CoreML 提供了三层固定:
1. 固定运行时版本。发布版 0.1.0 于 2026-09-20 上架 PyPI,建议安装时钉住版本:pip install 'laya-coreml[demo]==0.1.0'(docs/RELEASE.md)。
2. 固定模型快照。每个公开模型包都有唯一的 Hub commit SHA,官方固定版本清单见 docs/RELEASE.md:
agent = laya.load("aac6fef/laya-multilingual-coreml-ane", revision="39d6a9b3d0f67f06da74fbade6121ea134cbdb21")不传revision会拿到默认快照,生产环境建议显式钉住。
3. 校验文件完整性。加载前会对包内每个文件做 SHA256 校验,与清单不符即拒绝加载;Hub 共享缓存的符号链接会被物化为普通文件并复核内容哈希,缓存根目录可用LAYA_COREML_CACHE调整(laya_coreml/artifacts.py、laya_coreml/hub.py)。每套包的字节大小与校验和记录在 benchmarks/results/hub-release.json。
📝 小结:部署 + 安全一步到位
| 安全目标 | 做法 |
|---|---|
| 数据不出设备 | 下载一次后本地推理,local_files_only=True/--offline强制离线 |
| 正确的计算单元 | ANE 包用cpu_ne,GPU 包用cpu_gpu,默认已自动匹配 |
| 可复现部署 | pip 钉版本 + Hubrevision固定 SHA + SHA256 清单校验 |
Laya-CoreML 的短决策包(96 token)在 M3 Max 上实测 P50 约 4.98 ms、每决策能耗仅为编译版 MLX 的约 1/2.8(benchmarks/results/ane-energy-summary.json);长文本场景请选 1024 token 的通用模型。完整 API、模型选型与离线用法见 docs/USAGE.md,速度/能耗原始证据见 docs/ANE_BENCHMARKS.md。
【免费下载链接】laya-coremlLocal Laya typed decisions on Apple Core ML and Neural Engine. Validated ports, ~5 ms short decisions on M3 Max, reproducible speed and energy benchmarks.项目地址: https://gitcode.com/gh_mirrors/la/laya-coreml
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考