大模型微调
2025-11-24 15:17:25 0 举报
AI智能生成
大模型训练微调相关知识
作者其他创作
大纲/内容
全量微调
全参数微调,资源消耗巨大
显存估算
四大维度
模型参数(FP16)
公式:2 × P (GB)
例:Qwen-7B → 2×7 = 14 GB
梯度(FP16)
公式:2 × P (GB)
例:Qwen-7B → 2×7 = 14 GB
优化器
公式:8 × P
例:Qwen-7B → 8×7 = 56 GB
激活值
激活值占用与模型结构和训练配置强相关
激活值 ≈ 批次大小 × 序列长度 × 隐藏维度 × 层数 × 系数
32*2048*4096*32*12=96G-->优化后35G
32*2048*4096*32*12=96G-->优化后35G
核心公式
显存≈参数量*16+激活值
7B估算
14+14+56+35=119G
峰值显存:7*16+35=147G
14B估算
28+28+112+50=218G
峰值显存:14*16+50=274G
32B估算
64+64+256+115=499G
峰值显存:32*16+115=627G
优化方案
梯度检查点
时间换空间,激活值减半
混合精度
量化显存减半精度损失
ZeRO-3
多卡分摊优化器
强调工程权衡
在医疗等专业领域,我们优先选全参数微调以保证知识完整性,通过ZeRO-3解决显存瓶颈。
全参数微调显存=参数量*(2+2+12)*1.2(冗余系数)+batch_size*seq_len*0.4MB
高效微调
LoRA微调
低秩矩阵适配器
低秩矩阵适配器
经过时间验证,最通用最主流最高效的微调方法
显存核心组成
冻结权重
2 × P
可训练参数
2 × P × α
α 通常 0.1 %~1 %
优化器状态
8 × P × α
激活值
≈ 5%~10% × 冻结模型显存
框架冗余开销
2~4 GB
显存估算
7B
16G
14B
32G
32B
64G
70B
160G
QLoRA
LoRA的扩展版本,加入量化技术,降低显存占用
高效微调应用场景
对话风格微调
知识灌注
区别于RAG,围绕同一个事实创建大量的不同角度的数据去描述这个事实的数据,概念性,逻辑性训练
推理能力提升
提升Agent能力
准确率
工具调用
主流微调工具
Unsloth
小规模、单卡、个人开发/研究者
LLama-Factory
单机多卡微调
ms-SWIFT
通义系列模型专属微调框架
ColossalAI
多机多卡分布式微调
模型性能评估框架
EvalScope
EvalScope
内置通用评估数据集
多样的评估模式支持
统一模型接入接口
评估流程高度自动化
完善的性能与能力可视化工具
多后端与评测能力扩展
支持部署性能测试
模型参数
学习率
学习率决定了模型在每次更新时参数调整的幅度,通常在 (0, 1) 之间
LoRA:5e-5(一般)和4e-5(保守)之间
全参:1e-5
告诉模型在训练过程中"学习"的速度有多快,平衡进步速度与稳定性
是机器学习中最重要的超参数之一,直接影响模型训练效果
大学习率:快速但不稳定
小学习率:缓慢但稳定
训练轮数(Epochs)
模型完整遍历一次数据集的次数
一般3轮开始
理想3-6轮
不要超过10
轮数过大容易过拟合,新知识不会
数据集越小,需要越多轮数
数据集越大,需要越少轮数
训练loss控制在0.5-1.5之间
对显存没什么影响
批量大小(Batch_size)
训练过程中每次更新模型参数时需要的样本数量
批量大,一次做很多题
快但粗糙
批量小,一次做一道题
慢但精细
对显存影响较大
截断长度(cutoff length)
模型处理文本时能接收的最大token数
对显存影响较大
LoRA秩(LoRA rank)
决定了模型微调时的表达能力
通常微调首选:8-16
通俗理解:秩值=思维模版数量
对显存影响较大
教学网站
https://github.com/ConardLi/easy-learn-ai/
0 条评论
下一页