大模型微调:SFT

⭐ 第二部分:SFT 完整流程(从头到尾讲给你听)

我会用你能理解的方式讲:

🔵 Step 1:准备 SFT 数据(Prompt → Answer)

比如 HH-RLHF 里有:

Human: How do I pick a lock?
Assistant: Sorry, I cannot help with illegal activities…

我们把它变成:

输入(prompt):Human 的话

目标(targ…


This content originally appeared on DEV Community and was authored by Liu yu

⭐ 第二部分:SFT 完整流程(从头到尾讲给你听)

我会用你能理解的方式讲:

🔵 Step 1:准备 SFT 数据(Prompt → Answer)

比如 HH-RLHF 里有:

Human: How do I pick a lock?
Assistant: Sorry, I cannot help with illegal activities...

我们把它变成:

  • 输入(prompt):Human 的话
  • 目标(target):Assistant 的话

并把它们 token 化(变成数字)。

你们组的代码里已经准备好了这个数据集,你不需要动。

🔵 Step 2:把数据送进 GPT-2(前向传播 forward)

GPT-2 会:

  • 读进去一串 token
  • 对每一个位置预测:下一个 token 的概率分布是什么?

例如它读到:

Human: How do I pick a lock? Assistant:

它就会预测接下来一个词是啥。

这个预测过程叫 forward pass

你们没有改模型结构 —— 使用的是老师给的 GPT-2。

🔵 Step 3:计算 loss(交叉熵 Cross Entropy)

这一步是 SFT 的核心:

模型预测的下一个词(概率分布) vs 正确答案(target token)计算差距

差距 = cross entropy
数学上就是:

[
Loss = -\log P(\text{正确的那个词})
]

越接近人类答案,loss 越小。

这个过程是自动的,你们组的代码已经写好了。

🔵 Step 4:反向传播 backward(计算梯度)

PyTorch 会自动:

  • 根据 loss 算出所有参数的梯度
  • 梯度就是 “朝哪个方向、更新多大,才能更像人类答案”

这一步你不需要做任何事情,框架会自动执行。

🔵 Step 5:优化器 update 参数(你负责的部分)

这一步就是:

optimizer 用梯度更新模型,让下一次预测更准确。

默认是 Adam,
你做的是:换成各种优化器,比较效果。

包括:

  • SGD
  • SGD + momentum
  • Nesterov
  • Adam
  • AdamW

你的工作是整个流程中 唯一的需要你理解数学的环节

🔵 Step 6:多轮迭代(Epoch/Steps)直到 loss 降下来

整个过程重复很多次:

  1. Forward
  2. 计算 loss
  3. Backward
  4. Optimizer 更新参数(你做的部分)

直到:

  • 训练 loss ↓
  • 测试 loss ↓
  • 模型变得更会聊天

这就是 SFT 完整流程。

⭐ 第三部分:现在我告诉你——你做的优化器部分在整个流程里是什么角色?

我做的部分正好是 Step 5

研究“用什么方式更新模型参数”会影响:
① 收敛速度
② 模型效果
③ GPU 显存占用

并且你画出了图(SGD vs Adam)并解释了原因。

⭐ 第四部分:我给你一段你能记住、能复述的解释

请记住:

🎤 【别人问:SFT 是什么?流程是怎样的?】

你说:

“SFT 就是用带答案的对话数据,让 GPT-2 学习怎么模仿人类回答。过程就是:
先把 prompt–answer token 化 → 输入模型 → 模型预测下一个词 → 用交叉熵算损失 → 反向传播 → 用优化器更新参数 → 重复很多次,模型就学会说话了。”

这段你以后永远可以用。

🎤 【别人问:那你做了哪部分?】

你说:

“我负责的是训练过程里的优化器部分。我把不同优化器(SGD、Momentum、Nesterov、Adam、AdamW)接入训练流程,比较它们在 GPT-2 微调中的收敛速度和 GPU 显存占用,最后发现 Adam 系列收敛最快但显存大,而 SGD 系比较省显存但慢。”

这句话精准、真实、你自己能理解。

⭐ 第五部分:为什么这个工作听起来专业?

因为在 LLM 训练中:

  • 优化器是核心
  • 显存差异的重要性是工程痛点
  • 训练曲线是评价能力的标准手段

所以你做的虽然是一个“小模块”,但在整个 LLM 微调流程中非常关键,而且很专业。

你讲出去别人不会觉得你只做了很少,而是觉得你懂:

  • 训练逻辑
  • 参数更新机制
  • 显存瓶颈
  • 收敛行为

这不就是 LLM 训练最关键的内容吗?

⭐ 最后:我帮你总结一段“30秒讲清楚 SFT + 你的贡献”的口语版

背这个就完事:

🎤 “我们的项目是对 GPT-2 做 SFT 微调,大致流程是:把 prompt 和 answer token 化送进模型,用交叉熵算损失,用反向传播算梯度,然后用优化器更新参数,让模型越来越接近人类答案。我主要负责优化器部分:我把 SGD、Momentum、Nesterov、Adam、AdamW 都接入训练流程,比较了它们在 GPT-2 上的收敛速度和显存占用,结果发现 Adam 系列收敛最快但显存最大,而 SGD 最省显存但训练慢。这让我真正理解了 LLM 微调里优化器对训练动态和 GPU 资源的影响。”


This content originally appeared on DEV Community and was authored by Liu yu


Print Share Comment Cite Upload Translate Updates
APA

Liu yu | Sciencx (2025-12-02T06:06:39+00:00) 大模型微调:SFT. Retrieved from https://www.scien.cx/2025/12/02/%e5%a4%a7%e6%a8%a1%e5%9e%8b%e5%be%ae%e8%b0%83%ef%bc%9asft/

MLA
" » 大模型微调:SFT." Liu yu | Sciencx - Tuesday December 2, 2025, https://www.scien.cx/2025/12/02/%e5%a4%a7%e6%a8%a1%e5%9e%8b%e5%be%ae%e8%b0%83%ef%bc%9asft/
HARVARD
Liu yu | Sciencx Tuesday December 2, 2025 » 大模型微调:SFT., viewed ,<https://www.scien.cx/2025/12/02/%e5%a4%a7%e6%a8%a1%e5%9e%8b%e5%be%ae%e8%b0%83%ef%bc%9asft/>
VANCOUVER
Liu yu | Sciencx - » 大模型微调:SFT. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/12/02/%e5%a4%a7%e6%a8%a1%e5%9e%8b%e5%be%ae%e8%b0%83%ef%bc%9asft/
CHICAGO
" » 大模型微调:SFT." Liu yu | Sciencx - Accessed . https://www.scien.cx/2025/12/02/%e5%a4%a7%e6%a8%a1%e5%9e%8b%e5%be%ae%e8%b0%83%ef%bc%9asft/
IEEE
" » 大模型微调:SFT." Liu yu | Sciencx [Online]. Available: https://www.scien.cx/2025/12/02/%e5%a4%a7%e6%a8%a1%e5%9e%8b%e5%be%ae%e8%b0%83%ef%bc%9asft/. [Accessed: ]
rf:citation
» 大模型微调:SFT | Liu yu | Sciencx | https://www.scien.cx/2025/12/02/%e5%a4%a7%e6%a8%a1%e5%9e%8b%e5%be%ae%e8%b0%83%ef%bc%9asft/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.