适配器模型接口

class adapters.AdapterModelInterface(adapter_methods: List[str], model_embeddings: str, model_layers: str, layer_self_attn: str, layer_cross_attn: str, attn_o_proj: Optional[str], layer_intermediate_proj: str, layer_output_proj: str, attn_k_proj: Optional[str] = None, attn_q_proj: Optional[str] = None, attn_v_proj: Optional[str] = None, attn_qkv_proj: Optional[str] = None, layer_pre_self_attn: Optional[str] = None, layer_pre_cross_attn: Optional[str] = None, layer_pre_ffn: Optional[str] = None, layer_ln_1: Optional[str] = None, layer_ln_2: Optional[str] = None, base_model: Optional[str] = None)

定义了将适配器方法集成到模型类中的主要接口。 该接口将通用的访问器名称转换为模型特定的属性名称。

Parameters
  • adapter_methods (List[str]) – 模型支持的适配器类型列表。该列表的子集包括:["bottleneck", "lora", "reft", "prompt_tuning", "invertible"]

  • model_embeddings (str) - 模型嵌入层的名称。

  • model_layers (str) – 模型层列表的名称。

  • layer_self_attn (str) - 变压器层中自注意力层的名称。

  • layer_cross_attn (str) – 变压器层中交叉注意力层的名称。

  • attn_o_proj (str) – 注意力层中输出投影层的名称。

  • layer_intermediate_proj (str) – 变压器层中中间投影层的名称。

  • layer_output_proj (str) – 变压器层中输出投影层的名称。

  • 指定 (# 或者必须满足这个单一属性) –

  • attn_k_proj (Optional[str]) – 注意力层中键投影层的名称。

  • attn_q_proj (Optional[str]) - 注意力层中查询投影层的名称。

  • attn_v_proj (可选[str]) – 注意力层中值投影层的名称。

  • 指定

  • attn_qkv_proj (Optional[str]) – 组合查询-键-值投影层的名称(适用于像GPT-2或ModernBERT这样QKV在一个张量中的模型)。

  • support (# 扩展瓶颈适配器的可选属性) –

  • layer_pre_self_attn (Optional[str]) – 自注意力层之前的直接钩子点。用于扩展瓶颈适配器支持。

  • layer_pre_cross_attn (Optional[str]) - 交叉注意力层之前的直接钩子点。用于扩展瓶颈适配器支持。

  • layer_pre_ffn (Optional[str]) – 前馈层正前方的钩子点。用于扩展瓶颈适配器支持。

  • layer_ln_1 (Optional[str]) – 自注意力层后的层归一化。用于扩展瓶颈适配器支持。

  • layer_ln_2 (Optional[str]) – 前馈层之后的层归一化。用于扩展瓶颈适配器支持。

  • base_model (Optional[str]) – 基础transformers模型的名称,该模型包含层模块。默认情况下,使用模型类的base_model_prefix属性。

注意

您必须指定所有三个独立的投影层(attn_k_proj、attn_q_proj、attn_v_proj)或者组合投影层(attn_qkv_proj)。

class adapters.AdapterMethod

所有支持的适配器方法类型的枚举。

bottleneck

使用瓶颈层的适配器方法。

prefix_tuning

基于前缀调优的适配器方法。请注意,目前AdapterModelInterface不支持此功能。

lora

基于低秩适配的Adapter方法。

prompt_tuning

基于提示调优的适配器方法。

reft

基于表征微调的适配器方法。

invertible

使用可逆模块的适配器方法。

static get_from_config(config) List[str]

从给定的适配器配置中获取适配器类型。

Parameters

config – 适配器配置。

Returns

适配器类型。

Return type

List[str]