Inkling · 干货攻略

  • 链接: https://x.com/rasbt/status/2077540575255880126
  • 分类: x-tips
  • 来源: X @rasbt
  • 作者: Jay
  • 更新: 2026-07-22
  • 仓库: thinkingmachines/Inkling

这是什么

Inkling 是 Thinking Machines Lab(由前 OpenAI CTO Mira Murati 创办)于 2026 年 7 月 15 日发布的首个从零训练的开源权重混合专家模型。官方定位明确:不是最强通用模型,而是最适合拿来定制(fine-tuning)的开源基础模型

核心规格(官方 HuggingFace 模型卡):

指标 数值
总参数量 975B
活跃参数量 41B
专家配置 256 专家中选 6 个 + 2 个共享专家(每个 token 都激活)
训练语料 45T tokens(文字、图片、音频、视频)
上下文窗口 100 万 tokens
输入模态 文本 / 图片 / 音频(WAV,16kHz)
输出模态 仅文本(UTF-8)
精度支持 BF16 / NVFP4
Decoder 层数 66
许可协议 Apache 2.0

为什么值得关注

1. 解决什么问题

Thinking Machines Lab 的商业核心是 Tinker 微调平台——他们发现真正有差异化的需求不是"给我一个最强的模型",而是"给我一个我能改的模型"。Inkling 就是在这个背景下诞生的:完整权重开放,用户可以在 Tinker 上自行微调,或通过 SGLang / vLLM / Unsloth 等框架本地部署。

2. 非标准架构的三大亮点

@rasbt 在 X 上指出了三个架构"小惊喜",均已被官方/第三方来源交叉验证:

① 小型卷积层(ShortConv) LMSYS 博客(Day-0 支持文章)和 vLLM 官方博客均确认:Inkling 在 attention 和 MoE 子模块的残差连接前加入了 ShortConv(短卷积层)。这不是标准 Transformer 做法,作用是给 token 序列引入局部归纳偏置。

② 相对位置偏置替代 RoPE 同样来自 LMSYS/vLLM 确认:Inkling 使用 relative positional embedding(相对位置偏置)而非大多数现代 LLM 采用的 RoPE(旋转位置编码)。这一选择与其局部注意力机制(见下)配合,改变了位置信息的编码方式。

③ 2 个共享专家(Shared-Expert Sink) 官方模型卡写明每个 token 激活 2 个共享专家,而非常见的 1 个。LMSYS 博客进一步解释:Inkling 的路由器对共享专家也打分配权重(与其他路由专家一起归一化),而非像传统方案那样将共享路径独立叠加。这意味着共享专家和路由专家共享同一个权重预算。

3. 局部注意力的特殊设计

Sebastian Raschka 的架构笔记(sebastianraschka.com)指出:66 层 decoder 中,55 层使用局部注意力,窗口大小 512 tokens,全局注意力只分布在剩余层。这是非常激进的设计,与 GQA(或 MLA)标准做法不同——目的是降低长上下文推理的 KV 缓存压力。

4. 对标竞品(官方 model card 数据)

官方 evaluation 页面以 effort=0.99 报告,所有对比模型由 Thinking Machines Lab 于 2026 年 7 月 14 日生成:

Benchmark Inkling 亮点对比
SWEBench Verified 77.6% vs Kimi K2.6 80.2%,Claude Fable 5 95%(closed)
HLE (text only) 29.7% vs GPT-5.6 Sol 47.2%,差距明显
HLE (with tools) 46.0% vs Claude Fable 5 64.5%
AIME 2026 97.1% 非常强,与 GPT-5.6 Sol 99.9% 接近
Terminal Bench 2.1 63.8 Inkling 达到与 Nemotron 3 Ultra 相同性能,只需 1/3 的 tokens(官方 claim)
Design Arena (Agentic Web Dev) 1257 与 Claude Opus 4.6 并列,强于 Gemini 3.5 Flash
IFBench 79.8% 强于 GLM-5.2 的 73.3%

⚠️ 原帖主张 vs 官方数据:原帖(@rasbt X 帖)称 Inkling "looks pretty solid on benchmarks"。官方 model card 给出完整数字,验证其 benchmark 表现属于开源模型第一梯队,但非顶尖——官方自己也坦承"Inkling is not the strongest overall model available"。


核验过程

官方来源(已读)

  1. Thinking Machines Lab 官方发布博客(https://thinkingmachines.ai/news/introducing-inkling/) - 确认发布于 2026-07-15;总参数 975B / 活跃 41B;45T tokens 训练;1M context;Apache 2.0 - 确认 Design Arena 排名(1257);Inkling 自微调演示(Tinker + OpenCode) - 确认 Inkling-Small 预览:276B total / 12B active

  2. HuggingFace 模型卡(https://huggingface.co/thinkingmachines/Inkling) - 确认完整 benchmark 数据(SWEBench Verified 77.6%、AIME 2026 97.1% 等) - 确认架构:66 层、6-of-256 experts + 2 shared experts、hybrid local/global attention - 确认 Numerics:BF16 + NVFP4 - 确认支持框架:SGLang、vLLM、TokenSpeed、Unsloth、HuggingFace Transformers

  3. vLLM 官方博客(https://vllm.ai/blog/2026-07-15-inkling) - 确认 Day-0 支持,380 tok/s/user(MTP)和 140 tok/s/user(无 MTP)@ 4×GB200 - 确认架构三件套:ShortConv / relative attention / shared-expert sink

  4. LMSYS Org 博客(https://www.lmsys.org/blog/2026-07-15-inkling-day0-support) - 交叉验证架构细节:ShortConv 在残差连接前;shared-expert sink 路由器也评分共享专家 - 确认局部注意力的 5:1 比例(55 层局部 / 11 层全局)与 512 token 窗口

  5. Sebastian Raschka 架构笔记(https://sebastianraschka.com/blog/2026/inkling-architecture-benchmark-notes.html) - 确认激活率 4.2%(41B/975B);token efficiency claim(Inkling 用 1/3 tokens 达到 Nemotron 3 Ultra 相同 Terminal Bench 分数)

交叉验证结论

claim 官方来源 核验结果
975B 总参 / 41B 活跃 HuggingFace 模型卡 ✅ 确认
45T tokens 训练 官方博客 ✅ 确认
1M context 官方博客 + HuggingFace ✅ 确认
2 共享专家 HuggingFace 模型卡 ✅ 确认
ShortConv LMSYS + vLLM 博客 ✅ 确认
相对位置偏置(非 RoPE) LMSYS + vLLM 博客 ✅ 确认
局部注意力 512 window Sebastian Raschka 博客 ✅ 确认(局部 55 层 / 全局 11 层)
380 tok/s @ 4×GB200 vLLM 博客 ✅ 确认
Design Arena 1257 官方博客 ✅ 确认
SWEBench 77.6% HuggingFace 模型卡 ✅ 确认
1/3 tokens claim(vs Nemotron) 官方博客 ⚠️ 官方 claim(vLLM/LMSYS 未独立复测)

上手步骤

1. 在线体验(Tinker Playground,无需部署)

# 直接访问,无需 API key 即可体验 Inkling
https://tinker.thinkingmachines.ai/playground

2. API 调用(Tinker Cookbook)

# 通过 Tinker API 调用 Inkling(需要 Tinker API key)
# Cookbook: https://github.com/thinking-machines-lab/tinker-cookbook

import openai  # Tinker 与 OpenAI API 兼容

client = openai.OpenAI(
    api_key="YOUR_TINKER_API_KEY",
    base_url="https://api.tinker.thinkingmachines.ai/v1"
)

response = client.chat.completions.create(
    model="inkling",
    messages=[
        {"role": "user", "content": "解释一下 MoE 架构中共享专家的作用"}
    ],
    # Inkling 特有的 effort 控制(0.2=快,0.99=深度思考)
    extra_body={"effort": 0.8}
)
print(response.choices[0].message.content)

3. 本地部署:vLLM

# 安装 vLLM(需要 CUDA)
pip install vllm>=0.8.0

# BF16 版本
python -m vllm.entrypoints.openai.api_server \
    --model thinkingmachines/Inkling \
    --dtype bf16 \
    --tensor-parallel-size 8 \
    --max-model-len 1048576

# NVFP4 版本(更小更快,量化精度)
python -m vllm.entrypoints.openai.api_server \
    --model thinkingmachines/Inkling-NVFP4 \
    --dtype fp8 \
    --tensor-parallel-size 4 \
    --max-model-len 1048576

4. 本地部署:SGLang

# SGLang 官方支持(cookbook: https://docs.sglang.io/cookbook/autoregressive/ThinkingMachines/Inkling)
python -m sglang.launch_server \
    --model-path thinkingmachines/Inkling \
    --port 30000 \
    --mem-fraction-static 0.88 \
    --tp 8

5. 本地部署:HuggingFace Transformers

from transformers import AutoModelForCausalLM, AutoProcessor
from PIL import Image
import torch

model_id = "thinkingmachines/Inkling"

model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto"
)
processor = AutoProcessor.from_pretrained(model_id)

# 文本输入
messages = [{"role": "user", "content": "What is in this image?"}]

# 多模态输入(图片)
image = Image.open("example.png")
messages_with_image = [
    {"role": "user", "content": [
        {"type": "image", "image": image},
        {"type": "text", "text": "Describe this image."}
    ]}
]

inputs = processor.apply_chat_template(messages_with_image, return_dict=True, tokenize=True)
inputs = {k: v.to(model.device) for k, v in inputs.items() if v is not None}

output = model.generate(**inputs, max_new_tokens=512)
print(processor.decode(output[0], skip_special_tokens=True))

6. Tinker 微调(定制化)

# Tinker 平台上创建微调任务
# 官方示例:https://tinker.thinkingmachines.ai/

# Inkling 自微调自己的演示流程(官方博客):
# 1. 用 OpenCode harness 让 Inkling 写微调配置
# 2. Tinker 执行微调任务
# 3. 评估结果

# 自定义微调示例(通过 API)
curl -X POST https://api.tinker.thinkingmachines.ai/v1/fine-tune \
  -H "Authorization: Bearer $TINKER_API_KEY" \
  -d '{
    "model": "thinkingmachines/Inkling",
    "training_file": "your-data.jsonl",
    "epochs": 3,
    "learning_rate": 1e-5,
    "lora_rank": 64
  }'

7. Effort 控制(Inkling 特色功能)

Inkling 支持在 0.2(快推理)到 0.99(深度思考)之间调节思考努力度:

# 低 effort:快速响应,适合简单任务
response = client.chat.completions.create(
    model="inkling",
    messages=[{"role": "user", "content": "1+1=?"}],
    extra_body={"effort": 0.2}
)

# 高 effort:深度推理,适合复杂任务
response = client.chat.completions.create(
    model="inkling",
    messages=[{"role": "user", "content": "证明黎曼猜想"}],
    extra_body={"effort": 0.99}
)

官方博客称:effort 越高,Inkling 消耗的 tokens 越多(越接近"深度思考"模式)。


坑与适用边界

⚠️ 关键限制

  1. 不是最强通用模型 官方非常坦诚地承认这一点。HLE(text only)仅 29.7%,远低于 Claude Fable 5(53.3%)和 GPT-5.6 Sol(47.2%)。如果你需要绝对性能最强的模型,Inkling 不是答案。

  2. 局部注意力牺牲了部分全局建模能力 55 层局部注意力(512 window)意味着长距离依赖主要靠全局注意力层处理。与 MLA/standard GQA 相比,decode 效率可能不是最优(Sebastian Raschka 观点)。

  3. 视觉/音频基准仍有差距 MMMU Pro 73.5% vs Claude Fable 5 84.2%;Audio MC 56.6% vs Gemini 3.1 Pro 66.8%。在 multimodal benchmark 上尚未达到 SOTA。

  4. 本地部署硬件门槛高 975B 模型即使 41B 活跃,也需要至少 8×H100/B200(BF16)或 4×GB200(NVFP4)才能有效推理。vLLM 给出 140-380 tok/s 的数字,前提是 4×GB200。

  5. 输出仅支持文本 图片/音频是输入模态,输出只能是文本——不能生成图像或音频。

适用边界

  • ✅ 需要开源权重、可以自己微调的场景(Inkling 的核心定位)
  • ✅ Agentic coding / tool use 场景(Design Arena 排名强)
  • ✅ 多模态理解任务(图片 + 文字 + 音频联合输入)
  • ✅ 需要长 context(1M tokens)的 RAG 或文档分析场景
  • ✅ 预算有限但需要 41B 级别能力的团队(BF16 量化后约 190GB)
  • ❌ 需要绝对最强 benchmark 性能(选 Kimi K2.6 / Claude Fable 5 / GPT-5.6)
  • ❌ 没有 8×H100/B200 或等效算力的团队(考虑 Inkling-Small 或 API 方案)

一句话结论

Inkling 不是 2026 年最强的开源模型,但它用非标准架构(ShortConv + 相对位置偏置 + 共享专家 Sink)+ 完整开源权重 + Tinker 微调平台组合,为需要深度定制化的开发者和组织提供了目前最开放、最可玩的多模态 MoE 基座——尤其是 1M context 和 effort 控制是差异化亮点。