原模型: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, 你的数据分布) 就是在记录这种 “在你给的例子的影响下” 的猜测概率。