微调简单理解

9 阅读3分钟
原模型:P(token | context)
微调后:P'(token | context, 你的数据分布)

先别管公式,先讲一个故事

想象你有一个通用的大模型,它就像一个学识渊博但还没上班的大学生
他读过很多很多书(互联网上的海量知识),懂语法、懂常识、会写诗,但他还没有专门为你工作过

现在,你希望他帮你写小红书种草文案
你手头有一些例子(「你的数据分布」),比如:

“姐妹们!这个粉底液太好用了,绝绝子!”
“黄皮必入!这支口红显白又水润。”


公式在说什么?

1. P(token | context) —— 原模型

  • token = 下一个词(比如“绝绝子”)
  • context = 当前的上下文(比如“姐妹们!这个粉底液太好用了,”)
  • P( token \| context ) 的意思是:在当前上下文(context)已经出现的前提下,下一个词是某个特定 token 的可能性有多大

这个“可能性”是原模型从它读过的所有书里学到的。
它可能会觉得:“在很多文章里,说完‘太好用了’,后面出现‘绝绝子’的概率是 0.01%(很低),出现‘值得推荐’的概率是 10%。”

2. 微调 —— 让大学生“转行”

你给大学生看你手头的那些小红书例子(你的数据分布)。他看完后,改变了他对“下一个词应该是什么”的判断

微调后的模型不再是 P,而是 P’

3. P'(token | context, 你的数据分布) —— 微调后

这个公式的意思是:在相同的上下文(context)下,并且我还考虑了你给我的那些例子的风格(你的数据分布)**,现在下一个词是某个 token 的可能性变成了多少。

看完你的小红书例子,他会觉得:“哦,原来在这个语境下,出现‘绝绝子’的概率应该从 0.01% 升到 8%。”


用个简单数字举例

假设一个任务:你给出 context = “太好用了”,模型要猜下一个词。

下一个词 (token)微调前 P(token|context)微调后 P'(token|context, 你的数据分布)
“绝绝子”0.01%8%
“值得推荐”10%4%
“。”70%80%
其他词…………

看到了吗?

  • 微调后,和你数据分布一致的概率上升(“绝绝子”从 0.01% → 8%)
  • 和你数据分布不一致的概率下降(“值得推荐”从 10% → 4%)
  • 但模型还是保留了通用知识(“。”概率变高是因为小红书文案经常用感叹号或句号结尾)

为什么公式里多写了“你的数据分布”?

原模型的 P 只依赖于通用的互联网知识。
微调后的 P’ 多了一个条件 —— “你的数据分布”
这意味着:概率计算时,必须同时考虑上下文和你给的例子风格

用大白话说:

原来:他想到什么就说什么(按书上的知识)。
微调后:他先想到你给他的那些例子的写法,再结合上下文来决定说什么。


最后一个超简单类比

原模型 = 你问一个没吃过川菜的外国人:“麻婆豆腐应该是什么味道?”
他会回答:“豆腐加些调料吧。”(完全没概念)

微调 = 你给他尝了 100 次正宗麻婆豆腐,再问他同一个问题。
微调后的模型 = 他会说:“麻辣鲜香,要有豆瓣酱和花椒。”(结合了你给他的数据分布

那个公式 P'(token | context, 你的数据分布) 就是在记录这种 “在你给的例子的影响下” 的猜测概率。