Shortcuts

llama3_2_vision_decoder

torchtune.models.llama3_2_vision.llama3_2_vision_decoder(*, vocab_size: int, num_layers: int, fusion_interval: int, num_special_tokens: int, num_heads: int, num_kv_heads: int, embed_dim: int, max_seq_len: int, encoder_max_seq_len: int, rope_base: int = 500000.0, intermediate_dim: Optional[int] = None) TransformerDecoder[source]

构建与Llama3模型相关的解码器,并添加额外的融合交叉注意力层。这包括: - 词嵌入 - num_layers数量的CausalSelfAttention块 - 每fusion_interval层数添加融合交叉注意力层 - 应用于变压器输出的RMS归一化层 - 最终投影到词空间

Parameters:
  • vocab_size (int) – 词汇表中的标记数量。

  • num_layers (int) – transformer解码器中的层数。

  • fusion_interval (int) – 融合层之间的层数间隔。

  • num_special_tokens (int) – 为融合模型添加的特殊标记的数量。

  • num_heads (int) – 查询头的数量。对于MHA来说,这也是键和值的头的数量。

  • num_kv_heads (int) – 键和值头的数量。用户应确保 num_heads % num_kv_heads == 0。对于标准的MHA,设置num_kv_heads == num_heads, 对于GQA,设置num_kv_heads < num_heads,对于MQA,设置num_kv_heads == 1。

  • embed_dim (int) – 自注意力的嵌入维度。

  • max_seq_len (int) – 模型将运行的最大序列长度,由KVCache()使用。

  • encoder_max_seq_len (int) – 编码器将运行的最大序列长度,由KVCache()使用。

  • intermediate_dim (可选[int]) – MLP的中间维度。如果未指定,则使用scale_hidden_dim_for_mlp()计算。

Returns:

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

Return type:

TransformerDecoder