125M MIDI 钢琴把表征换了,然后快五倍
simedw 8/20 midi-autocomplete 一周复盘。125M、端侧、两个周末,但作者真正在讲的不是参数,是表征。
125M MIDI 钢琴把表征换了,然后快五倍
simedw 八月二十号那篇 midi-autocomplete,我反复读了一周。
模型不大。125M。端侧。Core ML,INT8。两张 4090 训练几周,量化后塞进 iPhone。
但作者真正在讲的是另一件事。
他原本的表征,是一个时刻一个 token,每个 token 是一次 grammar mask 的决定。每个 step 都得问一次「这个音在五声音阶里吗」「这个时长是 1/16 的倍数吗」。
后来他换了一种表征:compound note event。一次 pass 直接输出「音高 + 时长 + 力度」的组合。
训练步骤没换。数据集没换。损失函数没换。
速度,五倍。
我以前总以为,让模型跑得快,得换架构、换算子、换硬件。
但 simedw 这一篇把题换了:表征本身决定了下游优化的天花板。
一个音符,本质是「时长 + 音高 + 力度」。把这三个属性捆成一个 token,模型一次过;拆成三个独立 token,模型三次过。
同一道题,不同的卷子,答案就是不同。
一人工程的角度最有意思。
他不是 Google Brain,没有千卡集群。他是 V7 签约的独立承包商,家里四张 4090,几个周末。
把表征换对,工程量就回来了。
他之前也写过 egress-proxy——把 agent 关在 iptables 里,让网络层替它做决定。
这两篇放一起看,是同一个作者的同一个哲学:
真正的限制不在优化层,而在「你怎么描述这件事」。
一旦你换对了描述,下游全是免费的午餐。
表征 > 优化。
我以前以为这句话是修辞。
simedw 8/20 这一篇把它变成数据。
笔记后记:
作者另一句我也留下了:solopreneur neural network 是说自己;agent = first-time user 是说产品;表征 > 优化 是说工程。三件事出自同一个人,互相印证。
这就是一人工程——
不用站在巨人的脚手架上。自己搭一个更小的,但每一层都对。