Phi-3.5 MoE微调

文摘   2024-08-28 16:41   新加坡  

https://github.com/davidsajare/david-share.git

的:Deep-Learning/Phi-3.5-MoE-and-Mini-Fine-tuning,本文中不再赘述代码实现。

欢迎给repo点亮Star,您的点赞是作者持续创作的动力。

https://huggingface.co/microsoft/Phi-3.5-MoE-instruct

Phi-3.5 MOE是微软新发布的41.9B参数量的模型。模型中有16个专家,同时运行的decoder专家是两个。

模型分析:Phi-3.5-MoE-instruct

 

基本信息

  • 模型名称: Phi-3.5-MoE-instruct

  • 架构: PhiMoEForCausalLM

  • 模型类型: phimoe

  • Transformer 版本: 4.43.3

配置参数

  • attention_bias: true

  • attention_dropout: 0.0

  • hidden_act: silu (Swish activation function)

  • hidden_dropout: 0.0

  • hidden_size: 4096

  • initializer_range: 0.02

  • input_jitter_noise: 0.01

  • intermediate_size: 6400

  • lm_head_bias: true

  • max_position_embeddings: 131072

  • num_attention_heads: 32

  • num_experts_per_tok: 2

  • num_hidden_layers: 32

  • num_key_value_heads: 8

  • num_local_experts: 16

  • original_max_position_embeddings: 4096

  • output_router_logits: false

  • rms_norm_eps: 1e-05

  • rope_theta: 10000.0

  • router_aux_loss_coef: 0.0

  • router_jitter_noise: 0.01

  • sliding_window: 131072

  • tie_word_embeddings: false

  • torch_dtype: bfloat16

  • vocab_size: 32064

特殊配置

  • auto_map: 自动映射配置

    • AutoConfig: configuration_phimoe.PhiMoEConfig

    • AutoModelForCausalLM: modeling_phimoe.PhiMoEForCausalLM

Token 配置

  • bos_token_id: 1

  • eos_token_id: 32000

ROPE (Rotary Position Embedding) Scaling

  • long_factor 和 short_factor: 这些参数用于调整长短位置嵌入的比例。

  • long_mscale 和 short_mscale: 这些参数用于调整长短位置嵌入的缩放比例。

  • type: longrope

关键特性

  1. 多专家模型 (MoE): 该模型使用了多专家机制,每个token有2个专家,且总共有16个本地专家。

  2. 大规模位置嵌入: 最大位置嵌入为131072,支持长文本处理。

  3. 高维隐藏层: 隐藏层大小为4096,且有32层隐藏层。

  4. 多头注意力机制: 使用了32个注意力头和8个键值头。

  5. 低丢失率: attention_dropout和hidden_dropout均为0.0,表明模型在训练时没有使用dropout。

  6. 高效初始化: 使用了0.02的初始化范围,确保模型参数在训练初期的稳定性。

  7. bfloat16数据类型: 使用bfloat16数据类型,兼顾了计算效率和精度。

应用场景

  • 文本生成: 该模型适用于生成自然语言文本。

  • 多语言支持: 由于其多语言标签,模型可以处理多种语言的文本。

  • 对话系统: 适用于构建对话系统和聊天机器人。

  • 代码生成: 由于其代码标签,模型也可以用于生成代码片段。

总结

Phi-3.5-MoE-instruct 是一个强大的多专家模型,具有高维隐藏层和多头注意力机制,适用于多种自然语言处理任务。其大规模位置嵌入和低丢失率使其在处理长文本和复杂任务时表现出色。


那么,微调Phi-3.5 MOE,需要什么GPU呢?通过QLoRA,在单卡H100上就可以完成了。


大魏分享
https://github.com/davidsajare/david-share.git
 最新文章