训练和微调

训练和微调

微调本质上就是在调整(更新)模型的参数。当我们 说"调整参数"时,指的是调整神经网络内部数以亿计的权重(Weights)和偏置(Biases)。

  • **全量微调(Full Fine-Tuning):**把模型的所有参数全部解锁,用新数据重新训练一遍。

  • 高效微调(PEFT,如 LoRA):把模型原本的参数"冻结"保持不变,只在旁边外挂一小部分新参数,只训练这部分新参数。但无论哪种,改变的都是数学意义上的权重参数。

微调是广义训练的一种。

  • 预训练(Pre-training / 也就是常说的"训练") :从零开始(参数随机初始化),给模型吞下几万亿 Token 的无标订购本(比如整个互联网的网页、图书),让模型学会人类语言的语法、常识和逻辑。这是从无到有的过程,耗资巨大(千万级人民币)。

  • 微调(Fine-tuning): 在已经具备通用能力的预训练模型基础上,使用特定领域的精细数据,进行"二次训练"。这是从及格到优秀、从通用到专用的过程。

什么是 LoRA 指令微调?

1. 传统微调的痛点

假设你要微调一个 70B(700 亿参数)的模型。如果做全量微调,你需要同时更新 700 亿个参数。这不仅需要极其恐怖的显存(几百 GB 甚至上 TB),而且训练完后,你每针对一个场景微调,就要存一个 140GB 的完整模型文件,存储成本极高。

2. LoRA 的底层原理:低秩适应(Low-Rank Adaptation)

LoRA 的核心思想是:原模型的底层大矩阵太重了,我们不碰它;我们在它旁边贴两个小矩阵作为"补丁"。

  • 冻结原模型:模型原有的几百亿参数全部锁定,不接收梯度更新,变成"只读"。

  • 旁路降维矩阵:在原模型的矩阵旁边,增加两个低维度的矩阵AB。原矩阵如果是4096 \\times 4096的大小,LoRA 会把它拆解为4096 \\times rr \\times 4096的两个小矩阵(其中r通常设得很小,比如 8 或 16)。

  • 数学运算:输入数据同时走原矩阵和 LoRA 矩阵,最后把结果相加:Y = W_0X + \\Delta WX = W_0X + (B \\times A)X

  • 惊人的优势 :需要训练的参数量直接暴降到原来的 1% 甚至 0.1%。 4090 级别的消费级显卡就能玩得转。 微调完后,产出的模型文件(LoRA 权重)只有几十兆到几百兆,可以像插件一样随时插拔。

3. "LoRA指令微调"的实操指令过程

当你使用上述提到的框架进行 LoRA 指令微调时,底层的核心运行逻辑如下(以命令行脚本为例):LLaMA-Factory
巴什

复制代码
# 启动 LLaMA-Factory 进行 LoRA 指令微调
llamafactory-cli train \
    --stage sft \                             # 阶段:SFT(监督微调/指令微调)
    --model_name_or_path /path/to/Qwen2.5 \   # 基础大模型路径
    --dataset my_instruction_data \          # 你的指令微调数据集
    --finetuning_type lora \                  # 微调类型:明确指定为 LoRA
    --lora_target q_proj, v_proj \            # 将 LoRA 补丁贴在注意力机制的 Q, V 矩阵上
    --output_dir /path/to/lora_weights \      # 训练好后的 LoRA 补丁保存路径
    --per_device_train_batch_size 4 \         # 显存控制单卡批次
    --learning_rate 5e-5 \                    # 学习率(微调参数的步长)
    --fp16                                    # 开启半精度加速

训练结束后,你会得到什么? 你不会得到一个新的大模型,而是得到一组 和 文件。 在部署上线时,合并脚本会底层的把这两个"小补丁文件"融合进原本只读的大模型中,你的大模型就完成了进化,学会了听懂你特定业务的指令。

相关推荐
爱知菜2 分钟前
Transformer vs Diffusion:为什么扩散模型更擅长捕捉细节?
人工智能·深度学习·transformer·扩散模型
xp_xht1236 分钟前
Day1 概率机器学习 信息论
人工智能·机器学习·信息论
chuan.bai19 分钟前
Java RAG 实战(第 3 篇):从交互式聊天到多轮上下文
java·人工智能·macos·ai
雪隐23 分钟前
个人电脑玩AI-16让5060 Ti给你打工——MiniMax H3 提速实录:从"泡杯茶等视频"到"视频等你",一张 5060 Ti 的自我修养
前端·人工智能·后端
深兰科技26 分钟前
深兰科技亮相天津医疗器械创新生态大会,DeepAgent智能体赋能医疗医美并签约天津OPC项目
人工智能·科技·r语言·symfony·视觉大模型·深兰科技·deepagent智能体
cxr82827 分钟前
从“对象本体”到“关系本体”
人工智能·架构
shxjnpl30 分钟前
Whisper + CAM++ + 本地大模型:一套完全离线的AI会议处理链路
人工智能·机器学习·whisper
小润nature35 分钟前
AI 与嵌入式三时简报|早报
人工智能
今天AI了吗36 分钟前
MCP 协议打通 AI 与国产数据库,SQL 调优全流程一站式闭环
数据库·人工智能·sql
大任视点38 分钟前
“我与秦岭”主题征文与故事及“秦岭微镜头”短视频、摄影作品征集活动通知
大数据·人工智能·业界资讯