Skip to main content
Qualcomm AI Hub 提供了一个简化的工作流,用于借助 Qualcomm GenerativeAI Inference Extensions (Genie) 在 Qualcomm Dragonwing™ 产品上准备和部署大语言模型(LLM)。 此方法通过利用神经处理单元(NPU)和经过优化的二进制文件,实现生成式 AI 模型在端侧的高效执行。 下图展示了从准备到执行的 GenAI 模型高层工作流。 使用 AI Hub 从准备到执行的 GenAI 模型高层工作流 以下是使用 AI Hub 创建 LLM 模型二进制文件的步骤: 下面是 LLM 端侧部署的概览:
1

准备模型

1

从所需的 LLM 开始

从 Hugging Face 或其他来源获取所需的 LLM(例如 Llama 3.x 系列)。
2

使用 qai_hub_models Python 软件包导出模型

使用 qai_hub_models Python 软件包导出模型。此过程会:
  • 下载模型权重。
  • 将其上传到 AI Hub 进行编译。
  • 生成拆分为多个部分的 QNN 二进制文件,用于 NPU 执行。
  • 创建一个可部署的文件夹(genie_bundle),其中包含所需的全部资源(上下文二进制文件、配置、tokenizer)。
AI Hub 会将模型编译为面向 Qualcomm AI Runtime (QAIRT) SDK 的优化二进制文件:
  1. AI Hub 支持量化(通常内部使用 4 位,但为兼容性权重可能以 8 位存储)。
  2. 导出脚本负责将大型模型拆分为 prompt processor 和 token generator 组件。
2

部署模型

以下是部署过程的高层步骤。有关详细说明和命令,请参阅使用 Genie 运行 LLM。
1

在目标设备上安装 Qualcomm AI Runtime (QAIRT) SDK

在目标设备(Android、Windows、Linux)上安装 Qualcomm AI Runtime (QAIRT) SDK。
2

将编译后的二进制文件和配置文件复制到设备

将编译后的二进制文件和配置文件复制到设备。
3

使用 Genie CLI 工具或 Genie 对话 API 进行推理

4

确保目标设备满足要求

本节中的步骤在使用 Hexagon 架构 V73 的 QCS9100 上已通过验证。
  • Hexagon 架构:v73 或更新版本
  • 所需 RAM:
    • 7B 模型 16 GB
    • 3B 模型 ~12 GB
3

使用 Genie API 在端侧运行模型

使用与 Qualcomm AI Engine Direct 集成的 Genie API 在端侧运行模型。
  • Genie 管理多个二进制文件和执行顺序,以实现最佳的 NPU 利用率。

重要说明

  • AI Hub 优势
    • 自动处理模型编译、量化和拆分。
    • 提供预优化模型和 bring your own model(BYOM)支持。
  • Genie
    • 通过抽象化复杂的执行步骤简化推理。
    • 提供用于文本到文本和对话式交互的 API。
  • 自定义
    • 导出流程默认使用 4 位量化以提升运行时效率。
    • 没有直接以 4 位存储权重的选项;它们仍以 8 位保存,但在执行时以 4 位加载。