6 种采样 vs 1 种温度
simedw 新版本同时上架 6 种采样:top-k / top-p / min-p / XTC / top-h / Mirostat v2。OpenAI 一次只给 1 种温度。一人工程的细微工程——OpenAI 不敢给的,simedw 全给。
6 种采样 vs 1 种温度
simedw 新版本 Apple 审核中: 「top-k / top-p / min-p / XTC / top-h / Mirostat v2 采样切换」 一次 6 种采样策略全部开放给用户。
OpenAI 的 API 给什么:
- temperature
- top_p(可选)
- 没了。
Anthropic 的 API 给什么:
- temperature
- top_k(可选)
- top_p(可选)
- 没了。
simedw 的 iPhone app 给什么:
- top-k
- top-p
- min-p
- XTC
- top-h
- Mirostat v2
一次 6 种。
6 种是什么
每种都是控制「下一个 note 选谁」的算法:
- top-k:只保留概率最高的 k 个候选,从里面采样
- top-p (nucleus):保留累计概率 ≥ p 的最小集合
- min-p:保留概率 ≥ min-p × 最大概率的候选
- XTC (eXclude Top Choices):剔除最可能的几个,强制模型别总选同一答案
- top-h:按熵阈值硬截断
- Mirostat v2:自适应调整采样温度,让 surprisal 保持目标值
每种都解决「不想让模型重复 + 想让模型有变化 + 想让模型不胡说」的问题。 但思路不同。
simedw 为什么 6 种全给
simedw 不是「做 6 个开关 UI」炫技。
是他实验过:
- 14 次实验
- 多次跑不同采样
- 自己听了 30 分钟
- 自己给 700 个偏好打分
最后发现:
- 不同曲子适合不同采样
- 慢曲子适合 top-h
- 快曲子适合 top-p
- 复调曲子适合 XTC
- 重复曲子适合 Mirostat v2
如果只给 1 种采样,simedw 就只能 service 一种曲风。 6 种全给 = service 6 种曲风。
OpenAI 为什么只给 1 种
OpenAI 不给 6 种采样不是因为简单。
是因为「API 兼容性」:
- 几百万开发者用 OpenAI API
- 每个参数变更都是 breaking change
- 1 个参数错 = 1 个产品错
- 1 个产品错 = 1 个公司损失
OpenAI 给 1 种采样:
- 易于文档化
- 易于教学
- 易于客户支持
- 易于计费
simedw 给 6 种采样:
- 不需要文档化
- 不需要教学
- 不需要客户支持
- 不需要计费(一次性买断)
trade-off:
- OpenAI:易用 + 通用
- simedw:复杂 + 专精
一人工程 vs 大公司 API
大公司 API:
- 参数少
- 兼容性好
- 易学易用
- 不能实验
一人工程 app:
- 参数多
- 兼容性零
- 难学难用
- 可以实验
两个极端。
OpenAI 想「所有人都能用」。 simedw 想「想实验的人能用」。
一人工程的态度
simedw 给 6 种采样不是「我懂采样」。
是「我做了 14 次实验,每次想换一种」。
实验需要切换采样。 切换采样需要 6 种参数。 6 种参数全在 iPhone app 上。
这是「一人工程的实验性产品」:
- 用户能在 app 里复现 simedw 的实验
- 用户能玩 simedw 玩过的东西
- 用户能自己找出「喜欢哪种采样」
OpenAI 不允许这种实验。 OpenAI 给固定温度 + 固定 top_p。 用户只能调两个滑块。
一人工程的「全给」哲学
simedw 不藏:
- 训练数字全公开
- 实验失败全公开
- 6 种采样全公开
- 模型架构全公开(GitHub README)
OpenAI 藏:
- 训练数据不公开
- 实验失败不公开
- 采样 API 简化
- 模型架构不公开(GPT-4 架构不知)
两种哲学。
simedw 的哲学是「都给你,你自己玩」。 OpenAI 的哲学是「我给你好的,你别管怎么做的」。
一人工程的产品哲学
6 种采样 UI 是 simedw 产品哲学的缩影:
- 用户有得选
- 用户能实验
- 用户不被剥夺
OpenAI 的 UI:
- 简单
- 但用户只能选 1 种
- 用户被剥夺实验
签名:solus opus。