快捷方式

qwen2

torchtune.models.qwen2.qwen2(vocab_size: int, num_layers: int, num_heads: int, num_kv_heads: int, embed_dim: int, intermediate_dim: int, max_seq_len: int, attn_dropout: float = 0.0, norm_eps: float = 1e-05, rope_base: float = 1000000.0, tie_word_embeddings: bool = False) TransformerDecoder[source]

构建与 Qwen2 模型关联的解码器。这包括: - Token 嵌入 - num_layers 个 TransformerSelfAttentionLayer 块 - 应用于 transformer 输出的 RMS Norm 层 - 最终投影到 token 空间

参数:
  • vocab_size (int) – 词汇表中的 token 数量。

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

  • num_heads (int) – query 头的数量。对于 MHA,这同时也是 key 和 value 头的数量。

  • num_kv_heads (int) – key 和 value 头的数量。用户应确保 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() 会使用此参数

  • attn_dropout (float) – 传递给 scaled_dot_product_attention 的 dropout 值。默认值:0.0

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

  • norm_eps (float) – RMS 范数中的 epsilon 值。

  • rope_base (float) – RoPE 嵌入的基础周期。

  • tie_word_embeddings (bool) – 模型的输入和输出词嵌入是否应该共享。

返回值:

Qwen2 模型的一个实例。

返回类型:

TransformerDecoder

文档

查阅全面的 PyTorch 开发者文档

查看文档

教程

获取针对初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源