训练和微调

训练和微调

微调本质上就是在调整(更新)模型的参数。当我们 说"调整参数"时,指的是调整神经网络内部数以亿计的权重(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                                    # 开启半精度加速

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

相关推荐
冬奇Lab2 小时前
Workflow 系列(06):安全——跨步骤注入传播与四层防御
人工智能·工作流引擎
冬奇Lab2 小时前
每日一个开源项目(第149篇):RAG-Anything - 把图片、表格、公式当成一等公民的多模态 RAG 框架
人工智能·开源
米小虾2 小时前
AI Agent 安全实战指南:当智能体开始"不听话",开发者该如何应对?
人工智能·安全·agent
IT_陈寒4 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
阿里云大数据AI技术6 小时前
构建高转化海外电商搜索:阿里云OpenSearch行业算法版的全链路智能优化策略实战
人工智能·搜索引擎
Awu12276 小时前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude
字节跳动视频云技术团队6 小时前
让 Agent 成为音视频工作台:AI MediaKit CLI + Skill 发布
人工智能·音视频开发
魏祖潇6 小时前
framework 整合实战——DDD/TDD/SDD 三件套在 framework 仓的真实落地
人工智能·后端
Token炼金师7 小时前
去噪扩散:从随机噪声到高保真图像的数学之路
人工智能·aigc