大语言模型 llama-factory 通常不推荐只用 LoRA 做新词库预热 embedding

可以,但通常不推荐只用 LoRA 做新词库预热,原因如下:


核心问题:新词库 + LoRA 的冲突

问题 解释
LoRA 不训练嵌入层 LoRA 只改注意力层,不碰 token embedding
新 token 嵌入仍是随机值 模型"认识"新词,但不知道这些词什么意思
后续训练效果差 模型无法正确理解和生成化学分子序列

两种可行方案

方案 A:嵌入层预热 + LoRA 微调(推荐)

复制代码
阶段1(当前): 只训练 embedding 层
  ↓ 用 full finetuning,但只开 embedding 和 lm_head
阶段2: LoRA 微调任务
  ↓ 冻结基础权重,用 LoRA 训练下游任务

修改命令(只训嵌入层):

bash 复制代码
llamafactory-cli train \
    --model_name_or_path /path/to/deepseek-r1-32b \
    --tokenizer_name_or_path ./incremental_deepseek_druggpt_tokenizer-v2 \
    --dataset zinc20_stage1 \
    --template deepseek \
    --finetuning_type full \
    --freeze_trainable_layers all \        # 冻结所有层
    --trainable_modules embed_tokens,lm_head \  # 只训练嵌入和输出头
    --output_dir ./output/stage1_warmup \
    ...

方案 B:纯 LoRA(需特殊处理)

如果必须用 LoRA,需要手动初始化新 token 嵌入:

python 复制代码
# 伪代码:在 LoRA 训练前,先用小学习率预热 embedding
# 1. 加载模型和扩展后的 tokenizer
# 2. 新 token 用类似 token 的嵌入做均值初始化
# 3. 冻结基础权重,只训 embedding 几百步
# 4. 然后正常 LoRA 训练

缺点:需要改代码,不如方案 A 干净。


对比总结

方案 显存需求 复杂度 效果
Full FT(当前命令) 很高(80GB+) ⭐⭐⭐ 最好
只训 embedding + LoRA 中等 ⭐⭐⭐ 推荐
纯 LoRA(无预热) ⭐⭐ 可能差
纯 LoRA + 手动预热 ⭐⭐⭐ 可行但麻烦

建议

如果你的显存不够跑 Full FT:

  1. 阶段 1 :用 --freeze_trainable_layers all + --trainable_modules embed_tokens,lm_head 只预热嵌入层(显存需求降低 60%+)
  2. 阶段 2:加载预热后的模型,改用 LoRA 做任务微调

需要我帮你写阶段 2 的 LoRA 命令吗?

相关推荐
小女孩真可爱3 分钟前
GPT(3)----------------GQA分组查询注意力机制提速
人工智能·pytorch·gpt·深度学习·大模型
tachibana212 分钟前
大语言模型基础
数据库·人工智能·语言模型·自然语言处理·大模型·llm
旋转的油纸伞13 分钟前
Wukong: Towards a Scaling Law for Large-Scale Recommendation
人工智能·深度学习·神经网络·目标检测·机器学习·自然语言处理·caffe
Three_ST27 分钟前
沐神-动手学习深度学习-习题 4.3. 多层感知机的简洁实现
人工智能·pytorch·python·深度学习·机器学习
Allen_LVyingbo30 分钟前
面向电子病历的批量语义分析自动化工具:从设计到实战(上)
运维·人工智能·机器学习·语言模型·自然语言处理·自动化·健康医疗
明志数科31 分钟前
从实验室到工厂产线:具身智能训练数据的环境差异、分布偏移与工业级采集方案
人工智能·深度学习·计算机视觉
Zzj_tju1 小时前
复现一个 Transformer Encoder:从论文公式到最小 PyTorch
人工智能·pytorch·深度学习·语言模型
June bug1 小时前
【HCIA- AI(正课)】2.2 神经网络组成
人工智能·深度学习·神经网络
TAN-90°-1 小时前
Deep Learning for Computer Vision——Recurrent Neural Networks
数据结构·人工智能·rnn·深度学习·神经网络·机器学习·计算机视觉