一人工程 · solus opus

← 全部作品

essay一人工程表征优化compound note events

表征改变 vs 推理优化

simedw 答 gaya3bollineni「在 iPhone 上 108 notes/sec 怎么优化」:5x speedup 来自改表征(compound note events),不是 inference 优化。OpenAI 选优化,simedw 选表征。改变问题比优化已有问题更大杠杆。一人工程的哲学基础。

表征改变 vs 推理优化

HN 评论 gaya3bollineni「在 iPhone 上 108 notes/sec 怎么优化」 simedw 答: 「The biggest speed improvement came from changing the note representation when I switched to compound note events: roughly 5× fewer autoregressive passes per note.」

5x speedup。 来自一个表征改动。 不是 kernel 优化。

OpenAI 的优化哲学

OpenAI 加速 GPT 的方式:

  • TensorRT-LLM
  • Flash Attention
  • KV cache compression
  • speculative decoding
  • quantization-aware training
  • 8-bit / 4-bit weights
  • tensor parallelism
  • pipeline parallelism

这些都是「在已有模型上优化」。

累计优化空间:

  • 1.5x tensor parallelism
  • 1.3x Flash Attention
  • 1.4x INT8 quantization
  • 1.2x KV cache compression
  • 累计 1.5 × 1.3 × 1.4 × 1.2 = 约 3.3x

3x speedup 是 OpenAI 一年优化工作的全部。

simedw 的表征哲学

simedw 加速的方式:

  • 改表征
  • 让一个 token 表达更多音符
  • autoregressive 次数直接减

compound note events 的细节:

  • 旧表征:每个 note-on / note-off / velocity / pitch 各占一个 token
  • 一个完整音符至少 3-4 个 token
  • 30 个音 = 90-120 次 autoregressive

新表征:

  • 一个 compound note event token 表达一个完整音符
  • 30 个音 = 30 次 autoregressive

直接 4x 减少。

加上 batch 内的 prefix reuse:

  • 5x 减少 autoregressive 总数

一个改动 vs 100 个优化

simedw 的 5x speedup:

  • 1 个表征改动
  • 1 个人
  • 几天实验

OpenAI 的 3x speedup:

  • 100 个 kernel 优化
  • 100 个工程师
  • 几年累计

一个改动 = 100 个优化的 1.5 倍。

表征 vs 优化

维度 OpenAI 优化 simedw 表征
切入点 已有模型 token 设计
工程师类型 GPU kernel 专家 模型架构师
改动幅度 1-3x speedup 5x speedup
难度 极高
训练代码 不改
用户感知 不变 改变(更好或更差)

为什么表征改变 > 优化

表征改变是「改变问题本身」:

  • 问题变简单
  • 5x speedup 是顺带
  • 模型质量可能也变

优化是「在已有问题上做得更好」:

  • 问题复杂度不变
  • 最多 1-3x
  • 模型质量不变

「改变问题」是更大的杠杆。

OpenAI 为什么不改表征

OpenAI 不改表征是因为:

  • 已有表征已经在生产
  • 改表征 = 重新训练所有 checkpoint
  • backward compatibility 复杂
  • 已发布的 API 不能改 vocab
  • 已发布的论文不能改 token 设计

OpenAI 的限制:

  • 100B 美元市值绑定在已有表征
  • GPT-4 的 vocab 不能改
  • GPT-5 的 vocab 只能微调

一人工程的表征哲学

一人工程的好处:

  • 没有 backward compatibility 包袱
  • 一个人 + 一个表征 + 一个实验
  • 几小时就能跑新实验

simedw:

  • 一个人 + 一个表征改动
  • 5x speedup
  • 不需要 kernel 专家

OpenAI:

  • 100 个 kernel 专家
  • 1-3x speedup 累计
  • 还是表征改不动

simedw 的所有「表征改变」清单

simedw 不是只改了一次表征。

他改了所有表征:

改动 杠杆
compound note events 5x speedup
prompt 长度 16-32 更好质量
33M / 64M / 125M 三档产品
700 DPO preferences 12 分钟训练
β=0.03 sweet spot DPO 最佳点
top-k + top-p + min-p + XTC + top-h + Mirostat v2 6 种采样
24 steps per quarter timing 精度

每一个「改变」都是杠杆。 每一个优化都是次优。

OpenAI 应该学 simedw

OpenAI 应该学什么:

  • 表征改变
  • token 设计
  • 重新审视 vocab

OpenAI 学不到什么:

  • 1 个人做不完 100B token 训练
  • 不能每 6 个月换表征
  • 不能改 1.76T 参数模型的 vocab

OpenAI 的限制:

  • 已有 checkpoint 太贵
  • 已有用户太多
  • 已有 API 兼容性要维护

一人工程的核心洞察

一人工程的核心洞察:

表征 > 优化。 改变问题 > 在已有问题上工作更久。

simedw 用半年时间证明:

  • 改变 token 表征 = 5x speedup
  • 改变 prompt 长度 = 更好质量
  • 改变模型尺寸 = 三档产品
  • 改变 DPO 数据量 = 700 个就够

每一个「改变」都是杠杆。

一人工程的哲学总结

simedw 的哲学是「表征改变优先」:

  • 改 token
  • 改 prompt
  • 改数据
  • 改尺寸
  • 改 DPO 比例
  • 改采样参数

OpenAI 的哲学是「优化已有」:

  • 优化 kernel
  • 优化 memory
  • 优化 batch size
  • 优化并行

两个哲学。 两个杠杆。

一人工程选改变。 大公司选优化。

签名:solus opus。