ggml 项目在 pull request #24179 中引入了初始 Ethos-T (ET) 后端,使 llama.cpp 框架能够使用 Arm Cortex-M 和 Ethos-U NPU。

  • 该实现添加了对众多内核的支持,包括 MUL_MAT、ROPE、RMS_NORM、GLU、SOFT_MAX、GET_ROWS 和 SET_ROWS。
  • 包含性能日志记录、量化辅助工具以及向量化操作,例如使用 TensorFMA 的 FP32 MUL_MAT 和并行化 softmax。
  • 后端支持内核融合(例如 RMS_NORM + MUL)、FlashAttention 以及各种数据类型,如 Q4_0 和 Q8_0。
  • 构建改进允许通过 find_package() 导入运行时,并支持在 Python 3.8 之前的版本上进行构建。

此添加使用户能够将推理操作卸载到 Arm Ethos 硬件上,从而潜在地提高兼容设备的性能和效率。