AI 课件库 › 大模型与生成式 AI › 采样与解码
采样器怎么挑下一个词
llm-sampling · 个人开源项目,2024(无配套论文)
同一句话、同一份概率,逐个打开温度、Top-K、Top-P 等七种采样器再调参数,实时看哪些候选词被留下、哪些被砍掉。
交互实验(可直接投屏)
原作是一个完整的网页应用,下面直接嵌入;屏幕小或要投影时,点「全屏打开实验」更清楚。
动手三步
- 先只勾「温度」,滑块从 1 拉到 0.1 再拉到 3,看候选词的概率被拉尖、拉平(行数不变,只是概率变)
- 关掉温度,只勾 Top-K,K 从 50 调到 5,出现一条红色截断线,表格从 57 行降到 5 行
- 换成 Top-P 调到 0.6,再换一句模型很确定的例句,会发现只剩两三个候选词,这就是它和 Top-K 的区别
- 同时勾上温度(调到 3)和 Top-P(0.6),拖动卡片改先后顺序:温度在前留 20 行,温度在后只留 3 行
课堂怎么用
- 让学生先预测「温度调高会怎样」再实测,重点是温度不会造出新词,只重排概率
- Top-K 与 Top-P 对照讲「固定个数」与「按累计概率」的区别
- 把七个采样器全打开,让学生解释为什么最后只剩一两个词,引出真实接口里多个参数会互相叠加
- 拖动卡片改顺序并记下行数变化,说明推理框架里采样器的执行顺序是会写进文档的
思考题
- 温度和 Top-P 都能让输出更「稳」,它们的区别在哪?
- 为什么同一个 Top-P = 0.6,在不同句子上留下的候选词个数不一样?
- 先调温度再截断,和先截断再调温度,结果为什么不同?
已知限制
- 页面跑的是预先生成的概率数据(5 句提示及其候选词),不是现场调模型,换不了自己的句子
- 例句和候选词是英文(原作用英文模型生成),界面已全部中文化;讲课时需要口头把例句意思说一句
- 采样器按卡片在页面上的先后顺序依次作用,和某个具体推理框架的实际顺序不一定一致
- 尾部自由度、典型性采样等是社区推理框架的参数,主流商用接口通常只给温度、Top-P、Top-K
原作 llm-sampling(Romain “Artefact2” Dal Maso,个人开源项目,2024(无配套论文)),Apache-2.0 许可(原文),界面已中文化。