accelerate launch参数

{
  "_name_or_path": "THUDM/chatglm2-6b",
  "model_type": "chatglm",
  "architectures": [
    "ChatGLMModel"
  ],
  "auto_map": {
    "AutoConfig": "configuration_chatglm.ChatGLMConfig",
    "AutoModel": "modeling_chatglm.ChatGLMForConditionalGeneration",
    "AutoModelForSeq2SeqLM": "modeling_chatglm.ChatGLMForConditionalGeneration"
  },
  "add_bias_linear": false,
  "add_qkv_bias": true,
  "apply_query_key_layer_scaling": true,
  "apply_residual_connection_post_layernorm": false,
  "attention_dropout": 0.0,
  "attention_softmax_in_fp32": true,
  "bias_dropout_fusion": true,
  "ffn_hidden_size": 13696,
  "fp32_residual_connection": false,
  "hidden_dropout": 0.0,
  "hidden_size": 4096,
  "kv_channels": 128,
  "layernorm_epsilon": 1e-05,
  "multi_query_attention": true,
  "multi_query_group_num": 2,
  "num_attention_heads": 32,
  "num_layers": 28,
  "original_rope": true,
  "padded_vocab_size": 65024,
  "post_layer_norm": true,
  "rmsnorm": true,
  "seq_length": 32768,
  "use_cache": true,
  "torch_dtype": "float16",
  "transformers_version": "4.27.1",
  "tie_word_embeddings": false,
  "eos_token_id": 2,
  "pad_token_id": 0
}

这个参数字典是用来配置ChatGLM模型的,下面是每个参数的详细解释:

  • "_name_or_path": 表示模型或模型配置的名称或路径,这里是"THUDM/chatglm2-6b"。

  • "model_type": 指的是使用的模型类型,这里是"chatglm"。

  • "architectures": 指的是模型架构类型,这里是"ChatGLMModel"。

  • "auto_map": 是自动映射的设置,将一些通用类映射到ChatGLM特定的类。

  • "add_bias_linear": 是否在模型的线性层添加偏置项。这里设置为false,表示不添加。

  • "add_qkv_bias": 是否在注意力机制的查询(query)、键(key)和值(value)中添加偏置项。这里设置为true,表示添加。

  • "apply_query_key_layer_scaling": 是否对注意力机制的查询(query)和键(key)进行层次缩放。这里设置为true,表示进行缩放。

  • "apply_residual_connection_post_layernorm": 是否在LayerNorm后应用残差连接。这里设置为false,表示不应用。

  • "attention_dropout": 注意力机制中的dropout比率,这里是0.0,表示没有应用dropout。

  • "attention_softmax_in_fp32": 注意力机制中的softmax是否使用fp32精度执行,这里设置为true。

  • "bias_dropout_fusion": 是否融合偏置和dropout,这里设置为true。

  • "ffn_hidden_size": 前向网络(feed-forward network)的隐藏层大小,这里是13696。

  • "fp32_residual_connection": 是否使用fp32精度进行残差连接,这里设置为false。

  • "hidden_dropout": 隐藏层的dropout比率,这里是0.0。

  • "hidden_size": 隐藏层的大小,这里是4096。

  • "kv_channels": 键(key)和值(value)的通道数,这里是128。

  • "layernorm_epsilon": LayerNorm中的微小值,用于防止除以0,这里是1e-5。

  • "multi_query_attention": 是否使用多查询注意力,这里设置为true。

  • "multi_query_group_num": 多查询组的数量,这里是2。

  • "num_attention_heads": 注意力头的数量,这里是32。

  • "num_layers": 模型层的数量,这里是28。

  • "original_rope": 是否使用原始的rope设置,这里设置为true。

  • "padded_vocab_size": 填充词汇的数量,这里是65024。

  • "post_layer_norm": 是否进行后层标准化,这里设置为true。

  • "rmsnorm": 是否使用RMSNorm,这里设置为true。

  • "seq_length": 序列长度,这里是32768。

  • "use_cache": 是否使用缓存,这里设置为true。

  • "torch_dtype": torch的数据类型,这里是"float16"。

  • "transformers_version": 使用的transformers库的版本,这里是"4.27.1"。

  • "tie_word_embeddings": 是否绑定词嵌入,这里设置为false。

  • "eos_token_id": 表示句子结束的token的ID,这里是2。

  • "pad_token_id": 表示填充token的ID,这里是0。

"seq_length"

"seq_length"参数代表模型可以接受的最大序列长度。序列长度这个概念在自然语言处理中非常重要,因为它决定了模型可以处理的输入文本的最大长度。

在自然语言处理任务中,序列通常指的是由多个词语或者符号组成的文本串,例如一句话或者一段文本。序列长度即这个文本串中词语或符号的数量。

当我们将文本输入模型时,通常需要先将文本分词,然后将每个词转换成一个数字(通常称为token id)。这样,一段文本就被转换成了一个数字序列,然后这个数字序列被输入到模型中。

"seq_length"就是这个数字序列的最大长度。如果输入文本的长度超过了"seq_length",那么文本会被截断到"seq_length"的长度。如果输入文本的长度小于"seq_length",那么通常会在序列的末尾添加特殊的"padding"符号,使得序列的长度达到"seq_length"。

在你提供的配置中,"seq_length"为32768,这意味着模型可以接受的最大输入序列长度为32768个tokens

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

医疗AI强化曾小健

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值