llmcompressor.recipe.recipe
类
-
Recipe–用于表示模型配方的类。
Recipe
基类:BaseModel
用于表示模型配方的类。配方将修改模型和/或训练过程所需的指令编码为修改器列表。
配方可以从文件、字符串或 HuggingFace 存根创建。可接受的文件格式包括 json 和 yaml,但是,在序列化配方时,默认将使用 yaml。
方法
-
create_instance–从文件、字符串或 RecipeModifier 对象创建配方实例
-
dict–:return: 配方的字典表示
-
from_dict–解析代表配方的字典并返回 Recipe 实例。
-
from_modifiers–从修改器列表创建配方实例
-
yaml–返回配方的 YAML 字符串表示,
create_instance classmethod
create_instance(
path_or_modifiers: Union[
str, Modifier, List[Modifier], Recipe
],
modifier_group_name: Optional[str] = None,
target_stage: Optional[str] = None,
) -> Recipe
从文件、字符串或 RecipeModifier 对象创建配方实例
支持使用配方字符串或文件
recipe_str = ''' ... test_stage: ... pruning_modifiers: ... ConstantPruningModifier: ... start: 0.0 ... end: 2.0 ... targets: ['re:.*weight'] ... ''' recipe = Recipe.create_instance(recipe_str, target_stage="test_stage")
参数
-
(path_or_modifiersUnion[str, Modifier, List[Modifier], Recipe]) –配方文件的路径或配方字符串(必须是有效的 json/yaml 文件或有效的 json/yaml 字符串)。也可以接受 RecipeModifier 实例或 RecipeModifiers 列表
-
(modifier_group_nameOptional[str], 默认值:None) –配方的 stage_name,如果为
oneshot或train,则 run_type 将从 modifier_group_name 推断,如果为 None,则分配一个虚拟的默认 group_name。此参数仅在使用 Modifier/Modifier 列表实例创建配方时使用,否则将被忽略。
返回
-
Recipe–从路径或修改器创建的 Recipe 实例,或有效的 yaml/json 格式的配方字符串
llmcompressor/recipe/recipe.py 中的源代码
dict
from_dict classmethod
解析代表配方的字典并返回 Recipe 实例。确保所有修改器条目都被实例化为 Modifier 对象。
参数
-
(recipe_dictDict[str, Any]) –包含配方结构的字典。
返回
-
Recipe–具有实例化 Modifier 对象的 Recipe 实例。
llmcompressor/recipe/recipe.py 中的源代码
from_modifiers classmethod
from_modifiers(
modifiers: Union[Modifier, List[Modifier]],
modifier_group_name: Optional[str] = None,
) -> Recipe
从修改器列表创建配方实例
(注意:所有修改器都将被包装到单个阶段中,以 modifier_group_name 作为阶段名称。如果 modifier_group_name 为 None,则默认 run type 为 oneshot)
生命周期:| - 验证修改器 | - 从修改器创建配方字符串 | - 从配方字符串创建配方实例
参数
-
(修饰符Union[Modifier, List[Modifier]]) –RecipeModifier 实例列表
-
(modifier_group_nameOptional[str], 默认值:None) –配方的 stage_name,如果为
oneshot或train,则 run_type 将从 modifier_group_name 推断,如果为 None,则分配一个虚拟的默认 group_name。
返回
-
Recipe–从修改器创建的 Recipe 实例
llmcompressor/recipe/recipe.py 中的源代码
yaml
返回配方的 YAML 字符串表示,可以选择与另一个 YAML 文件合并。
参数
-
(文件路径Optional[str], 默认值:None) –保存 YAML 的可选路径
-
(existing_recipe_pathOptional[str], 默认值:None) –另一个 recipe.yaml 文件的可选路径
返回
-
str–合并后的 YAML 字符串