为什么在做增量预训练的时候,训练方式通常采用LoRA + 全量emb/lm-head?

格式没调好,可见公众号文章:https://mp.weixin.qq.com/s/Qy8b2rKdR1xji6Cvw82wEA

Image
在对Llama等英文大模型进行中文增量预训练时,专门微调词嵌入层(Embedding Layer)和语言模型头部(LM Head)是出于以下关键原因:

  1. 词嵌入层(Embedding Layer)的特殊性
    • 跨语言语义差异:
    英文预训练的词嵌入无法直接编码中文词汇的语义。例如,中文的单字/词在英文词表中不存在(如"苹果" vs. “apple”),即使通过Subword分词,子词(如"苹"+“果”)的向量也是基于英文语料训练的,对中文的表达能力有限。
    需重新学习中文词汇的分布式表示,使模型理解中文的语义空间。
    • 输入适配问题:
    扩充中文词表后,新增token的嵌入是随机初始化的(例如通过resize_token_embeddings)。微调可以优化这些新向量,并与原有词表保持一致性(例如中英文同义词的向量应接近)。
    • 低频词处理:
    中文中一些低频词或专业术语的嵌入初始效果差,微调能提升其表征质量。
  2. 语言模型头部(LM Head)的作用
    • 输出分布对齐:
    LM Head负责将隐藏状态映射到词表概率分布。英文预训练的头部权重偏向英文词频分布(如"the"概率高),而中文需要输出中文字符/词的概率主导。微调LM Head可以调整输出逻辑,适应中文的词汇分布。
    • 与新词嵌入协同:
    若词嵌入层更新而LM Head不变,会导致新学的中文向量与头部权重不匹配(例如二者点积后的logits不合理)。同时微调二者可保持输入输出的一致性。
  3. LoRA的限制与补充
    • LoRA的局限性:
    LoRA(低秩适配)通常仅针对注意力层的权重(Q/K/V等),通过低秩矩阵间接微调原参数。但词嵌入和LM Head是独立参数,且与具体语言强相关,仅靠LoRA的间接调整可能不够(尤其是新增的中文词)。
    • 避免计算开销过大:
    虽然"全量"微调Emb/LM-Head会引入额外参数,但其参数量通常远小于核心Transformer层(例如,词表50k
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值