AI 大模型开发 AI 实战

大模型微调实战:LoRA 让百亿参数模型跑在消费级显卡

大模型微调实战

想让模型拥有你的数据、你的口吻,通常是“微调”而不是“从头训练”。

一、全参微调 vs 高效微调

全参微调(FFT)要更新全部几百亿参数,动辄数十张 A100;高效微调(PEFT)只更新一小撮参数,显存开销骤降一个数量级。LoRA 是其中应用最广的方案。

二、LoRA 原理

冻结原权重 W,在旁边加一个低秩分解 B*A(秩 r 通常 8-64),只训练 B、A:

y = Wx + BAx      # B、A 远小于 W

效果接近全参微调,训练完后把增量 BA 合并回 W,推理零额外开销。

三、用 PEFT 微调

from peft import LoraConfig, get_peft_model
config = LoraConfig(r=16, lora_alpha=32, lora_dropout=0.05,
                    target_modules=["q_proj", "v_proj"])
model = get_peft_model(base_model, config)

四、对齐技术简谈

微调解决“学会”,对齐解决“听话”:RLHF 用人类反馈强化学习,DPO 用更简单的偏好对比,核心都是让输出贴近人的偏好。

五、数据集决定上限

同样一套训练代码,数据质量差,效果一定差。清洗、去重、对齐格式,微调工程一半的功夫在数据上。