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"。
核验过程
官方来源(已读)
-
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
-
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
-
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
-
LMSYS Org 博客(https://www.lmsys.org/blog/2026-07-15-inkling-day0-support) - 交叉验证架构细节:ShortConv 在残差连接前;shared-expert sink 路由器也评分共享专家 - 确认局部注意力的 5:1 比例(55 层局部 / 11 层全局)与 512 token 窗口
-
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 越多(越接近"深度思考"模式)。
坑与适用边界
⚠️ 关键限制
-
不是最强通用模型 官方非常坦诚地承认这一点。HLE(text only)仅 29.7%,远低于 Claude Fable 5(53.3%)和 GPT-5.6 Sol(47.2%)。如果你需要绝对性能最强的模型,Inkling 不是答案。
-
局部注意力牺牲了部分全局建模能力 55 层局部注意力(512 window)意味着长距离依赖主要靠全局注意力层处理。与 MLA/standard GQA 相比,decode 效率可能不是最优(Sebastian Raschka 观点)。
-
视觉/音频基准仍有差距 MMMU Pro 73.5% vs Claude Fable 5 84.2%;Audio MC 56.6% vs Gemini 3.1 Pro 66.8%。在 multimodal benchmark 上尚未达到 SOTA。
-
本地部署硬件门槛高 975B 模型即使 41B 活跃,也需要至少 8×H100/B200(BF16)或 4×GB200(NVFP4)才能有效推理。vLLM 给出 140-380 tok/s 的数字,前提是 4×GB200。
-
输出仅支持文本 图片/音频是输入模态,输出只能是文本——不能生成图像或音频。
适用边界
- ✅ 需要开源权重、可以自己微调的场景(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 控制是差异化亮点。