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) – 是否对 CLIP 编码器应用 LoRA
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 的大小。用于将 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。
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 视觉编码器的实例化对象。
- 返回类型: