一人工程 · solus opus

← 全部作品

essay一人工程模型尺寸分层iOS

三档模型:33M / 64M / 125M

simedw 训练了 33M / 64M / 125M 三档模型:medium 几乎总赢 small,large 略胜 medium 不惊艳。当前把 64M 压到接近 125M 质量以适配 iOS。一人工程也分档,每个尺寸都有产品对应。

三档模型:33M / 64M / 125M

simedw 博客: 「33M / 64M / 125M 三档。medium 几乎总赢 small,large 略胜 medium 不惊艳。当前把 64M 压到接近 125M 质量以适配 iOS。」

三档模型。 一个人训练出来的三档。 不是 OpenAI 的「一个模型 7B / 13B / 70B」三档。 不是 Anthropic 的「Claude Haiku / Sonnet / Opus」三档。

是「我一个人能做出来几个尺寸,就做几个尺寸」的三档。

三档是什么

simedw 的三档:

  • 33M(small):最轻,跑在所有 iPhone 上
  • 64M(medium):中等,跑在 iPhone 11+
  • 125M(large):完整版,跑在 iPhone 15 Pro+

每档都是一个完整的训练产物:

  • 从同一份训练数据
  • 用同样的代码
  • 跑不同的参数量
  • 训成三个 checkpoint

评测结果

simedw 的评测:

  • medium 几乎总赢 small
  • large 略胜 medium 不惊艳
  • 33M vs 64M:差距明显
  • 64M vs 125M:差距微小
  • 33M vs 125M:差距巨大

不惊艳的意思是:

large 更好,但不是质的提升。 只是稍微好一点。

但 iPhone 推理是按字节算的:

  • 33M INT8 = 33 MB
  • 64M INT8 = 64 MB
  • 125M INT8 = 125 MB

iPhone 上加载模型:

  • 33 MB:瞬时
  • 64 MB:~100ms
  • 125 MB:~500ms

simedw 选 64M

simedw 当前选择 64M:

  • 不是 small(33M 质量不够)
  • 不是 large(125M 跑得慢 + 占空间)
  • 是 medium(64M 质量接近 125M + 跑得快 + 占空间合理)

「把 64M 压到接近 125M 质量」的意思是:

  • 通过更好的训练 / 数据 / 表征
  • 让 64M 表现接近 125M
  • 牺牲一点点质量换 iPhone 体验

这是工程权衡:

  • 7% 质量损失
  • 50% 大小减少
  • 2x 推理速度

一人工程的三档哲学

OpenAI 不分档:

  • 一个模型尺寸
  • 一个模型架构
  • 一个 API 价位

OpenAI 的 GPT-4 是 1.76T 参数(据传)。 OpenAI 不能「做 3 个尺寸」。

Anthropic 分档:

  • Haiku / Sonnet / Opus
  • 3 个尺寸
  • 但都是「差不多大」的模型

simedw 分档:

  • 33M / 64M / 125M
  • 3 个尺寸
  • 差 4 倍的参数量
  • 一人训练

一人工程的分档优势

simedw 一人训练三档的好处:

  • 训练三档的成本 = 训练一档的 2-3 倍
  • 但能服务三个产品线:
    • 33M:低配 iPhone
    • 64M:中等 iPhone
    • 125M:高配 iPhone + 桌面

OpenAI 训练一档的好处:

  • 训练一档的成本 = 训练一档
  • 只能服务一个产品线
  • 不能根据用户设备调整

simedw 的策略是「广度优先」:

  • 多花点钱
  • 服务更多用户

OpenAI 的策略是「深度优先」:

  • 少花钱
  • 服务一类用户

一人工程的三档实验

simedw 训练三档不是「同时训练」。

是「一个一个训练」:

  • 先 33M(验证 pipeline)
  • 再 64M(看 medium 表现)
  • 再 125M(看 large 边际)
  • 最后 64M INT8 量化(适配 iOS)

每一次都是单独的实验。 每一次都能 ship。

OpenAI 训练一档:

  • 一次大训练
  • 一次小调整
  • 不容易分档

一人工程的「分档 = 多产品」

simedw 三档 = 三个产品线:

  • 33M iPhone SE(2020+)
  • 64M iPhone 13+
  • 125M iPhone 16 Pro

OpenAI 一档 = 一个产品线:

  • GPT-4 API

三档 vs 一档:

  • simedw:覆盖 3 个市场
  • OpenAI:覆盖 1 个市场

一人工程的产品分层

simedw 三档模型 + 一个 iPhone app = 一人工程的「产品分层」:

  • 按设备分层
  • 按质量分层
  • 按速度分层

OpenAI 没产品分层:

  • API 一种
  • 模型一种
  • 价格一种

一人工程的态度

simedw 训三档不是「我数学好能算三个尺寸」。

是「我有时间 + 机器 + 想法」:

  • 时间:半年训练
  • 机器:4 × RTX 4090
  • 想法:「为什么不试试不同尺寸」

一个人 + 半年 + 4 GPU = 三个尺寸。 一个人 + 半年 + 4 GPU = 三个产品。

签名:solus opus。