Shortcuts

lora_llama3_2_vision_encoder

torchtune.models.llama3_2_vision.lora_llama3_2_vision_encoder(encoder_lora: bool, fusion_lora: bool, lora_attn_modules: List[Literal['q_proj', 'k_proj', 'v_proj', 'output_proj']], apply_lora_to_mlp: bool = False, apply_lora_to_output: bool = False, *, patch_size: int, num_heads: int, clip_embed_dim: int, clip_num_layers: int, clip_hidden_states: Optional[List[int]], num_layers_projection: int, decoder_embed_dim: int, tile_size: int, max_num_tiles: int = 4, in_channels: int = 3, lora_rank: int = 8, lora_alpha: float = 16, lora_dropout: float = 0.0, use_dora: bool = False, quantize_base: bool = False, **quantization_kwargs) Llama3VisionEncoder[source]

通过将CLIP图像模型与额外的投影头融合模块结合,构建Llama 3.2视觉编码器。这包括: - 空间位置编码 - CLIP模型骨干 - 在CLIP之上的投影头 - 最终投影到令牌嵌入维度

Parameters:
  • encoder_lora (bool) – 是否将LoRA应用于CLIP编码器

  • fusion_lora (bool) – 是否将LoRA应用于投影头

  • lora_attn_modules (List[LORA_ATTN_MODULES]) – 列出在每个自注意力块中LoRA应应用于哪些线性层。选项是 {"q_proj", "k_proj", "v_proj", "output_proj"}

  • apply_lora_to_mlp (bool) – 是否在每个transformer层的MLP中应用LoRA。 默认值:False

  • apply_lora_to_output (bool) – 是否将LoRA应用于模型的解码器和编码器输出投影。 默认值:False

  • patch_size (int) – 每个补丁的大小。用于将瓦片分割成补丁。 例如,对于patch_size=40,形状为(400, 400)的瓦片将有一个10x10的补丁网格, 每个补丁的形状为(40, 40)。

  • num_heads (int) – 每个transformer层中的注意力头数量。

  • clip_embed_dim (int) – CLIP中每个补丁嵌入的维度。

  • clip_num_layers (int) – 变压器层数。

  • clip_hidden_states (Optional[List[int]]) – 要返回到编码器投影头的CLIP隐藏层的索引。它将返回视觉变换器层的中间结果,这些结果将与CLIP输出连接并输入到投影头中。例如,clip_hidden_states=[0,3]将返回在通过第一层和第四层之前的嵌入。

  • num_layers_projection (int) – 投影头中的变压器层数。

  • decoder_embed_dim (int) – 解码器最终输出嵌入的维度。

  • tile_size (int) – 如果图像已经预先进行了瓦片裁剪,则为图像瓦片的大小。否则,为输入图像的大小。在这种情况下,函数会将您的图像视为单个瓦片。

  • max_num_tiles (int) – 可以处理的最大瓦片数量。这用于确定位置嵌入的大小。

  • in_channels (int) – 图像输入通道的数量。

  • lora_rank (int) – 每个低秩近似的秩

  • lora_alpha (float) – 低秩近似的缩放因子

  • lora_dropout (float) – LoRA 丢弃概率。默认值:0.0

  • use_dora (bool) – 是否使用DoRA层而不是LoRA层。默认是 False

  • quantize_base – (bool): 是否量化基础模型权重。仅应用于线性层中LoRA应用的基础权重。目前不支持对最终输出线性投影进行量化。

Returns:

Llama 3.2 视觉编码器的实例化。

Return type:

Llama3VisionEncoder