> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 使用 AI Hub 准备 GenAI 模型

> 使用 Qualcomm AI Hub 通过 Genie 框架在 Qualcomm Dragonwing IoT 平台上准备和部署大语言模型（LLM）。

Qualcomm AI Hub 提供了一套简化的工作流程，使用
Qualcomm 生成式 AI 推理扩展（Genie）在 Qualcomm Dragonwing™ 产品上
准备和部署大语言模型（LLM）。

这种方法利用神经处理单元（NPU）和优化的二进制文件，
实现生成式 AI 模型在端侧的高效执行。

下图展示了从准备到执行的高层次 GenAI 模型
工作流程。

<img src="https://mintcdn.com/qualcomm-prod/L-jqwrTTz49ZAgVX/Key-Documents/AI-Developer-Workflow/_images/genai-prepare-ai-hub.png?fit=max&auto=format&n=L-jqwrTTz49ZAgVX&q=85&s=e31c5b0d6df9dbba3e64efcc79e67be0" alt="使用 AI Hub 从准备到执行的高层次 GenAI 模型工作流程" width="2929" height="411" data-path="Key-Documents/AI-Developer-Workflow/_images/genai-prepare-ai-hub.png" />

以下是使用 AI Hub 创建 LLM 模型二进制文件的步骤：

* [前提条件](https://github.com/qualcomm/ai-hub-apps/tree/main/tutorials/llm_on_genie#requirements)

* [详细说明](https://github.com/qualcomm/ai-hub-apps/tree/main/tutorials/llm_on_genie#step-2-export-qairt-compatible-llm-models-on-the-host-machine)

以下是 LLM 端侧部署的概述：

1. 准备模型。

   a. 从 Hugging Face 或其他来源获取所需的 LLM（例如 Llama 3.x 系列）。

   1. 使用 `qai_hub_models` Python 包导出模型：

      此过程会：

      i. 下载模型权重。

      1. 将其上传到 AI Hub 进行编译。
      2. 生成拆分为多个部分的 QNN 二进制文件，以便在 NPU 上执行。
      3. 创建一个包含所有必需资产（上下文二进制文件、
         配置、分词器）的可部署文件夹（`genie_bundle`）。

2. 编译并量化模型。

   a. AI Hub 将模型编译为针对 [Qualcomm AI Runtime（QAIRT）SDK](https://docs.qualcomm.com/doc/80-63442-10/) 优化的二进制文件。

   1. AI Hub 支持量化（通常内部为 4 位，但为兼容性权重可能以 8 位存储）。
   2. 导出脚本负责将大型模型拆分为提示词处理器和 token 生成器组件。

3. 部署模型。

   以下是部署过程的高层次步骤。有关详细说明和命令，请参见[使用 Genie 运行 LLM](#run-llms-with-genie)。

   a. 在目标设备（Android、Windows、Linux）上安装 Qualcomm AI Runtime（QAIRT）SDK。

   1. 将编译好的二进制文件和配置文件复制到设备上。
   2. 使用 [Qualcomm 生成式 AI 推理扩展（Genie）CLI 工具](https://docs.qualcomm.com/doc/80-63442-10/topic/tools_tools.html)
      （例如 `genie-t2t-run`）或 [Genie dialog API](https://docs.qualcomm.com/doc/80-63442-10/topic/api-rst_file_include_Genie_GenieDialog_h.html#file-include-Genie-GenieDialog.h) 进行推理。
   3. 确保目标设备满足以下要求。本节中的步骤已在使用 Hexagon 架构 V73 的 QCS9100 上验证。

      * Hexagon 架构：v73 或更新版本
      * 所需 RAM：

        * 7B 模型需要 16 GB
        * 3B 模型约需 12 GB

4. 使用与 [Qualcomm AI Engine Direct](https://docs.qualcomm.com/doc/80-63442-10/topic/index_QNN.html) 集成的 Genie API 在设备上运行模型。

   * Genie 管理多个二进制文件和执行顺序，以实现最优的 NPU 利用率。

### 重要说明

* AI Hub 的优势

  * 自动处理模型编译、量化和拆分。
  * 提供预优化的模型和自有模型（BYOM）支持。

* Genie

  * 通过抽象复杂的执行步骤简化推理。
  * 提供用于文本生成文本和基于对话交互的 API。

* 定制

  * 导出流程默认使用 4 位量化以提升运行时效率。
  * 没有直接将权重存储为 4 位的选项；权重保持为 8 位，但在执行期间以 4 位加载。
