尝试以扩展 VS Code 中的代理模式!

使用适用于 VS Code 的 AI 工具包(预览版)转换模型

模型转换是一个集成开发环境,旨在帮助开发人员和 AI 工程师在您的本地 Windows 平台上转换、量化、优化和评估预构建的机器学习模型。它为从 Hugging Face 等来源转换的模型提供了一个简化的端到端体验,对其进行优化,并使其能够在由 NPU、GPU 和 CPU 驱动的本地设备上进行推理。

先决条件

创建项目

在模型转换中创建项目是转换、优化、量化和评估机器学习模型的第一步。

  1. 打开 AI 工具包视图,然后选择 模型 > 转换以启动模型转换

  2. 通过选择 新建模型项目 来启动一个新项目

    Screenshot that shows view for creating model project, including Primary Side Bar and create project button.

  3. 选择一个基础模型

    • Hugging Face 模型:从支持的模型列表中选择具有预定义配方的基础模型。
    • 模型模板:如果模型未包含在基础模型中,请为您的自定义配方选择一个空模板(高级场景)。

    Screenshot that shows model list, such as bert, resnet, llama and so on.

  4. 输入项目详细信息:一个唯一的项目文件夹和一个项目名称

    在您选择的位置会创建一个具有指定项目名称的新文件夹,用于存储项目文件。

注意

首次创建模型项目时,设置环境可能需要一些时间。

每个项目中都包含一个 README.md 文件。如果关闭了它,可以通过工作区重新打开。显示模型自述文件的屏幕截图。

支持的模型

模型转换目前支持一个不断增长的模型列表,包括 PyTorch 格式的顶级 Hugging Face 模型。

LLM 模型

模型名称 Hugging Face 路径
Qwen2.5 1.5B Instruct Qwen/Qwen2.5-1.5B-Instruct
DeepSeek R1 Distill Qwen 1.5B deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
Meta LLaMA 3.2 1B Instruct meta-llama/Llama-3.2-1B-Instruct
Phi-3.5 Mini Instruct Phi-3.5-mini-instruct

非 LLM 模型

模型名称 Hugging Face 路径
Intel BERT Base Uncased (MRPC) Intel/bert-base-uncased-mrpc
BERT Multilingual Cased google-bert/bert-base-multilingual-cased
ViT Base Patch16-224 google/vit-base-patch16-224
ResNet-50 resnet-50
CLIP ViT-B-32 (LAION) laion/CLIP-ViT-B-32-laion2B-s34B-b79K
CLIP ViT Base Patch16 clip-vit-base-patch16
CLIP ViT Base Patch32 clip-vit-base-patch32

(可选)将模型添加到现有项目中

  1. 打开模型项目

  2. 选择 模型 > 转换,然后在右侧面板上选择 添加模型

    Screenshot that shows how to add model. It contains a button to add models.

  3. 选择一个基础模型或模板,然后选择添加

    在当前项目文件夹中会创建一个包含新模型文件的文件夹。

(可选)创建一个新的模型项目

  1. 打开模型项目

  2. 选择 模型 > 转换,然后在右侧面板上选择 新建项目

    Screenshot that shows how to create a new project. It contains a button to create a new project.

  3. 或者,关闭当前模型项目,并从头开始创建一个新项目

运行工作流

在模型转换中运行工作流是将预构建的 ML 模型转换为优化和量化的 ONNX 模型的核心步骤。

  1. 在 VS Code 中选择 文件 > 打开文件夹 以打开模型项目文件夹。

  2. 查看工作流配置

    1. 选择 模型 > 转换
    2. 选择工作流模板以查看转换配方。

    Screenshot that shows running a workflow. There is a workflow configuration section containing Conversion, Quantization and Evaluation.

    转换

    工作流将始终执行转换步骤,该步骤将模型转换为 ONNX 格式。此步骤无法禁用。

    量化

    本节使您能够配置量化参数。

    重要

    Hugging Face 合规性警报:在量化期间,我们需要校准数据集。在继续之前,系统可能会提示您接受许可条款。如果您错过了通知,运行过程将暂停,等待您的输入。请确保通知已启用并且您接受了所需的许可。显示免责声明的屏幕截图。

    • 激活类型:这是用于表示神经网络中每个层的中间输出(激活)的数据类型。

    • 权重类型:这是用于表示模型的学习参数(权重)的数据类型。

    • 量化数据集:用于量化的校准数据集。

      如果您的工作流使用的数据集需要在 Hugging Face 上获得许可协议批准(例如 ImageNet-1k),在继续操作前,系统会提示您在该数据集页面上接受条款。这是法律合规性的要求。

      1. 选择 HuggingFace 访问令牌按钮以获取您的 Hugging Face 访问令牌。

        Screenshot that shows input token step 1: start to get Hugging Face Access Token.

      2. 选择打开以打开 Hugging Face 网站。

        Screenshot that shows input token step 2: open Hugging Face websites.

      3. 在 Hugging Face 门户网站上获取您的令牌,并将其粘贴到“快速选择”中。按 Enter 键。

        Screenshot that shows input token step 3: input token on dropdown textbox.

    • 量化数据集拆分:数据集可以有不同的拆分,如验证集、训练集和测试集。

    • 量化数据集大小:用于量化模型的数据数量。

    有关激活和权重类型的更多信息,请参阅数据类型选择

    您也可以禁用此部分。在这种情况下,工作流将仅将模型转换为 ONNX 格式,但不会量化模型。

    评估

    在本节中,您需要选择要用于评估的执行提供程序 (EP),无论模型是在哪个平台上转换的。

    • 评估设备:您想要评估模型的目标设备。可能的值为:
      • Qualcomm NPU:要使用此选项,您需要一个兼容的 Qualcomm 设备。
      • AMD NPU:要使用此选项,您需要一个带有受支持的 AMD NPU 的设备。
      • Intel NPU:要使用此选项,您需要一个带有受支持的 Intel NPU 的设备。
      • CPU:任何 CPU 都可以工作。
    • 评估数据集:用于评估的数据集。
    • 评估数据集拆分:数据集可以有不同的拆分,如验证集、训练集和测试集。
    • 评估数据集大小:用于评估模型的数据数量。

    您也可以禁用此部分。在这种情况下,工作流将仅将模型转换为 ONNX 格式,但不会评估模型。

  3. 通过选择 运行 来运行工作流

    系统会使用工作流名称和时间戳生成一个默认的作业名称(例如,bert_qdq_2025-05-06_20-45-00),以便于跟踪。

    在作业运行期间,您可以通过选择状态指示器或“历史记录”面板中“操作”下的三点菜单,然后选择“停止运行”来取消作业。

    Hugging Face 合规性警报:在量化期间,我们需要校准数据集。在继续之前,系统可能会提示您接受许可条款。如果您错过了通知,运行过程将暂停,等待您的输入。请确保通知已启用并且您接受了所需的许可。

注意

模型转换和量化:您可以在任何设备上运行工作流,LLM 模型除外。量化配置仅针对 NPU 进行了优化。如果目标系统不是 NPU,建议取消选中此步骤。

LLM 模型量化:如果您想量化LLM 模型,则需要一个 Nvidia GPU。

如果您想在其他带有 GPU 的设备上量化模型,您可以自行设置环境,请参考ManualConversionOnGPU。请注意,只有“量化”步骤需要 GPU。量化后,您可以在 NPU 或 CPU 上评估模型。

重新评估的提示

模型成功转换后,您可以使用重新评估功能再次执行评估,而无需进行模型转换。

转到历史记录面板,找到模型运行作业。选择操作下的三点菜单以重新评估模型。

您可以选择不同的 EP 或数据集进行重新评估

Screenshot that shows re-evaluation. It contains configurations such as name, system and datasets settings.

失败作业的提示

如果您的作业被取消或失败,您可以选择作业名称来调整工作流并再次运行作业。为避免意外覆盖,每次执行都会创建一个新的历史记录文件夹,其中包含其自身的配置和结果。

查看结果

转换”中的“历史记录面板”是您用于跟踪、审查和管理所有工作流运行的中央仪表板。每次您运行模型转换和评估时,都会在“历史记录面板”中创建一个新条目,以确保完全的可追溯性和可复现性。

  • 找到您想要查看的工作流运行。每次运行都会列出一个状态指示器(例如,成功、已取消)。
  • 选择运行名称以查看转换配置
  • 选择状态指示器下的日志以查看日志和详细的执行结果
  • 模型成功转换后,您可以在“指标”下查看评估结果。诸如准确度、延迟和吞吐量等指标会与每次运行一起显示。

Screenshot that shows history, including name, time, parameters and so on.

使用示例笔记本进行模型推理

  • 转到“历史记录”面板。选择“操作”下的三点菜单。

    从下拉菜单中选择在示例中推理

    Screenshot that shows actions, including inference, copy model path and re-evaluate.

  • 选择 Python 环境

    • 系统将提示您选择一个 Python 虚拟环境。默认的运行时是:C:\Users\{user_name}\.aitk\bin\model_lab_runtime\Python-WCR-win32-x64-3.12.9
    • 请注意,默认运行时包含所有需要的内容,否则,请手动安装 requirements.txt。
  • 示例将在 Jupyter Notebook 中启动。您可以自定义输入数据或参数以测试不同的场景。

提示

模型兼容性: 确保转换后的模型支持推理示例中指定的 EP。

示例位置: 推理示例与运行产物一起存储在历史记录文件夹中。

导出并与他人共享

转到“历史记录”面板。选择导出以与他人共享模型项目。这将复制不含历史记录文件夹的模型项目。如果您想与他人共享模型,请选择相应的作业。这将复制包含模型及其配置的所选历史记录文件夹。

您学到了什么

在本文中,您学习了如何:

  • 在适用于 VS Code 的 AI 工具包中创建一个模型转换项目。
  • 配置转换工作流,包括量化和评估设置。
  • 运行转换工作流,将预构建的模型转换为优化的 ONNX 模型。
  • 查看转换结果,包括指标和日志。
  • 使用示例笔记本进行模型推理和测试。
  • 导出模型项目并与他人共享。
  • 使用不同的执行提供程序或数据集重新评估模型。
  • 处理失败的作业并调整配置以重新运行。
  • 了解支持的模型及其转换和量化要求。

另请参阅