Optimum 文件

Ryzen AI IPU 量化

您正在檢視的是需要從原始碼安裝。如果您希望進行常規 pip 安裝,請檢視最新的穩定版本 (v1.27.0)。
Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

Ryzen AI IPU 量化

請參閱指南 如何應用量化,以瞭解如何使用以下類來量化針對 Ryzen AI IPU 的模型。

使用 Vitis AI Quantizer

RyzenAIOnnxQuantizer

class optimum.amd.ryzenai.RyzenAIOnnxQuantizer

< >

( onnx_model_path: Path config: typing.Optional[ForwardRef('PretrainedConfig')] = None )

處理 huggingface.co/models 上共享模型的 RyzenAI 量化過程。

from_pretrained

< >

( model_or_path: typing.Union[str, pathlib.Path] file_name: typing.Optional[str] = None )

引數

  • model_or_path (Union[str, Path]) — 可以是:
    • 已儲存的匯出 ONNX 中間表示 (IR) 模型路徑,例如 `./my_model_directory/.
  • file_name(Optional[str], 預設為 None) — 將預設模型檔名從 "model.onnx" 覆蓋為 file_name。這允許您從同一倉庫或目錄載入不同的模型檔案。

從 ONNX 模型檔案例項化 RyzenAIOnnxQuantizer

get_calibration_dataset

< >

( dataset_name: str num_samples: int = 100 dataset_config_name: typing.Optional[str] = None dataset_split: typing.Optional[str] = None preprocess_function: typing.Optional[typing.Callable] = None preprocess_batch: bool = True seed: typing.Optional[bool] = 2016 token: bool = None streaming: bool = False )

引數

  • dataset_name (str) — Hugging Face Hub 上資料集倉庫的名稱,或包含要載入用於校準步驟的資料檔案的本地目錄的路徑。
  • num_samples (int, 預設為 100) — 構成校準資料集的最大樣本數。
  • dataset_config_name (Optional[str], 預設為 None) — 資料集配置的名稱。
  • dataset_split (Optional[str], 預設為 None) — 用於執行校準步驟的資料集拆分。
  • preprocess_function (Optional[Callable], 預設為 None) — 載入資料集後應用於每個示例的處理函式。
  • preprocess_batch (bool, 預設為 True) — preprocess_function 是否應分批處理。
  • seed (int, 預設為 2016) — 用於打亂校準資料集的隨機種子。
  • token (bool, 預設為 False) — 是否使用執行 transformers-cli login 時生成的 token(某些資料集如 ImageNet 需要)。

建立校準 datasets.Dataset 以用於訓練後靜態量化校準步驟。

量化

< >

( quantization_config: QuantizationConfig dataset: Dataset save_dir: typing.Union[str, pathlib.Path] batch_size: int = 1 file_suffix: typing.Optional[str] = 'quantized' )

引數

  • quantization_config (QuantizationConfig) — 包含與量化相關的引數的配置。
  • save_dir (Union[str, Path]) — 量化模型應儲存到的目錄。
  • file_suffix (Optional[str], 預設為 "quantized") — 用於儲存量化模型的檔案字尾。
  • calibration_tensors_range (Optional[Dict[str, Tuple[float, float]]], 預設為 None) — 將節點名稱對映到其量化範圍的字典,僅在應用靜態量化時使用和必需。

根據 quantization_config 中定義的最佳化規範對模型進行量化。

QuantizationConfig

class optimum.amd.ryzenai.QuantizationConfig

< >

( format: QuantFormat = <QuantFormat.QDQ: 1> calibration_method: CalibrationMethod = <PowerOfTwoMethod.MinMSE: 1> activations_dtype: QuantType = <QuantType.QUInt8: 1> activations_symmetric: bool = True weights_dtype: QuantType = <QuantType.QInt8: 0> weights_symmetric: bool = True enable_dpu: bool = True )

引數

  • is_static (bool) — 是否應用靜態量化或動態量化。
  • format (QuantFormat) — 目標 RyzenAI 量化表示格式。對於面向運算子 (QOperator) 格式,所有量化運算子都有自己的 ONNX 定義。對於面向張量 (QDQ) 格式,透過插入 QuantizeLinear / DeQuantizeLinear 運算子來量化模型。
  • calibration_method (CalibrationMethod) — 選擇用於使用校準資料集計算啟用量化引數的方法。
  • activations_dtype (QuantType, 預設為 QuantType.QUInt8) — 用於啟用的量化資料型別。
  • activations_symmetric (bool, 預設為 False) — 是否對啟用應用對稱量化。
  • weights_dtype (QuantType, 預設為 QuantType.QInt8) — 用於權重的量化資料型別。
  • weights_symmetric (bool, 預設為 True) — 是否對權重應用對稱量化。
  • enable_dpu (bool, 預設為 True) — 確定是否生成適用於 DPU 的量化模型。如果設定為 True,量化過程將建立一個針對 DPU 計算最佳化的模型。

QuantizationConfig 是處理所有 RyzenAI 量化引數的配置類。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.