快捷方式

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 之上的投影头 - 最终投影到 token 嵌入维度

参数:
  • 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) – 是否将 LoRA 应用于每个 Transformer 层中的 MLP。默认值:False

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

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

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

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

  • clip_num_layers (int) – Transformer 层的数量。

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

  • num_layers_projection (int) – 投影头中 Transformer 层的数量。

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

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

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

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

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

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

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

  • use_dora (bool) – 是否使用 DoRA 层代替 LoRA 层。默认值为 False

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

返回:

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

返回类型:

Llama3VisionEncoder

文档

访问 PyTorch 的综合开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得解答

查看资源