mindspore_gs.ptq.BaseQuantForCausalLM
- class mindspore_gs.ptq.BaseQuantForCausalLM[源代码]
- 因果语言模型量化基类,定义了量化模型的标准接口。 - 该基类为所有量化因果语言模型实现定义了标准接口。它提供了所有派生类必须实现的基本结构和必需方法。 - 该类实现了一个注册机制,允许不同的模型框架注册它们的实现。这使得AutoQuantForCausalLM能够提供自动模型检测和选择功能。 - 样例: - >>> from mindspore_gs.ptq.models.base_model import BaseQuantForCausalLM >>> >>> # A custom model implementation >>> class MyCustomQuantModel(BaseQuantForCausalLM): >>> pass - calibrate(ptq_config, layers_policy, datasets, **kwargs)[源代码]
- 模型校准和量化。 - 这是一个抽象方法,必须由派生类实现。它应该使用校准数据集处理模型校准过程,并根据提供的配置应用量化。 - 参数:
- ptq_config (PTQConfig) - 训练后量化的配置。 
- layers_policy (dict) - 不同层量化策略的策略。 
- datasets (Dataset) - 用于量化的校准数据集。 
- kwargs (dict) - 其他关键字参数。 
 
- 异常:
- NotImplementedError - 子类必须实现此方法。 
 
 
 - fake_quant(ptq_config, layers_policy, quant_safetensors_path='')[源代码]
- 对模型应用伪量化。 - 该方法对模型应用伪量化,这对于验证量化效果而不实际转换为整数操作非常有用。 - 参数:
- ptq_config (PTQConfig) - 训练后量化的配置。 
- layers_policy (dict) - 不同层量化策略的策略。 
- quant_safetensors_path (str, 可选) - 量化safetensors的路径。默认为 - ""。
 
- 异常:
- NotImplementedError - 子类必须实现此方法。 
 
 
 - forward(input_ids, max_new_tokens=1)[源代码]
- 模型前向推理。 - 这是一个抽象方法,必须由派生类实现。它应该处理模型推理的前向传递逻辑。 - 参数:
- input_ids (Tensor) - 模型的输入token ID。 
- max_new_tokens (int, 可选) - 最大生成token数,默认为 - 1。
 
- 返回:
- 前向传递结果。 
- 异常:
- NotImplementedError - 子类必须实现此方法。 
 
 
 - classmethod from_pretrained(**kwargs)[源代码]
- 从预训练模型创建量化实例。 - 这是一个抽象方法,必须由派生类实现。它应该处理加载预训练模型权重和配置。 - 参数:
- kwargs (dict) - 创建模型所需的任意关键字参数。 
 
- 返回:
- BaseQuantForCausalLM - 量化模型实例。 
- 异常:
- NotImplementedError - 子类必须实现此方法。