Hacker News Best

Inkling: Our Open-Weights Model

8.5内容质量

TL;DR · AI 摘要

Thinking Machines Lab发布Inkling,一个975B参数的开放权重模型,支持多模态处理和高效微调。

核心要点

  • Inkling拥有975B总参数(41B活跃参数),支持1M tokens上下文窗口。
  • Inkling-Small(12B参数)在保持性能的同时降低训练成本和延迟。
  • 模型通过Tinker平台支持自我微调,提供开发者交互式调试界面。

结构提纲

按章节快速跳转。

  1. 宣布发布Inkling模型及其开放权重计划。

  2. 介绍975B参数的Mixture-of-Experts架构及多模态训练数据。

  3. 对比Inkling与Inkling-Small的参数规模和性能表现。

  4. 描述Tinker平台支持的自定义微调功能及自我微调演示。

  5. 列出45万亿token预训练数据及1M tokens上下文窗口等关键参数。

  6. 说明模型家族扩展计划及持续优化方向。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Inkling模型
    • 技术规格
      • 975B总参数/41B活跃参数
      • 45万亿token预训练数据
    • 版本体系
      • Inkling(全尺寸)
      • Inkling-Small(12B参数)
    • 核心能力
      • 多模态处理
      • Tinker平台微调
      • 自我优化功能

金句 / Highlights

值得收藏与分享的关键句。

#AI模型#开放权重#多模态#Tinker平台
打开原文

Inkling: Our open-weights model - Thinking Machines Lab

NOTE: Content synced to the v7 doc (approved draft, 2026-07-15). Prose is v7; interactives/charts are ours. OPEN ITEMS TO RECONCILE BEFORE PUBLISH: - Multimodal numbers aligned to the main Benchmarking Inkling table as source of truth (2026-07-15): Audio MC 56.6% and MMMU Pro 73.5% across all surfaces (main table, audio/vision table, Inkling-Small table, spider chart). - Safety prose says StrongREJECT "above 99%" but the table shows 98.6% (kept per v7 verbatim). - Footnote URLs for [3] Cognition trustworthiness paper and [4] SWE-1.7 not yet added. Still to add before launch: hero self-updating demo video, testimonials, cookbook/Mantic/pricing links, discount date, OG image (og_image / images/cover-social.png).

Try on Tinker

Model card

Hugging Face

Our mission is to build AI that extends human will and judgment. We have developed a platform that lets anyone customize models, previewed an AI system built for interactive collaboration, and published novel research . Today we are advancing our mission by releasing a model we trained from scratch with the full weights available, so that people can make it their own.

Our model, called Inkling, is a Mixture-of-Experts transformer with 975B total parameters, 41B active. It supports a context window of up to 1M tokens. It was pretrained on 45 trillion tokens of text, images, audio and video. It is the first in a family of models of different sizes: alongside it we are sharing a preview of Inkling-Small, a lighter-weight model with 12B active parameters, trained with a similar recipe, that achieves strong performance with even lower cost and latency.

Inkling reasons natively over text, images, and audio, and balances cost with performance through efficient and controllable thinking effort. We trained it to be a broad, balanced foundation model: strong across many domains, flexible enough to adapt. Inkling is not the strongest overall model available today, open or closed. Instead, a combination of qualities makes it a good open-weights base for customization: multimodal capabilities, efficient thinking, and availability on Tinker for fine-tuning. Inkling is just the start: our first release in a model family we will continue to build on.

We want to make customization accessible for more use cases, so Inkling is available for fine-tuning on Tinker today. Picking the right base model to fine-tune is a qualitative judgment that combines measurable benchmarks with the unique feel of a model that comes from playing with it. To enable the latter we’re adding the Inkling Playground in the Tinker console: a developer-facing interface for chatting with Inkling.

To show what customization means in practice, we asked Inkling to fine-tune itself. Using Tinker, the model wrote its own fine-tuning job, ran it, and evaluated the result:

inkling@tinker: self-finetuning

Build

·

inkling

· tinker-prod

~/news/introducing-inkling/

1.33.7

who are you?

I’m Inkling, an AI assistant running thinkingmachines/Inkling . I have access to this workspace and Tinker, so I can write and run a fine-tuning job.

How can I help with the model?

· inkling

· inkling · tinker-prod

fine tune yourself with Tinker to be a lipogram model where you never use the letter e in your responses. then switch to the updated you.

I need to handle the full loop: create a training dataset and objective, fine-tune the current model on Tinker, evaluate it against the base model, and switch to the improved weights.

code
+ """Lipogram: no 'e' or 'E' in any output."""
+ OBJECTIVE = "A lipogram model that avoids using the letter e in all answers."
+ GEN_SYS = (
+     "You are a lipogram assistant. You must write all answers without using the letter 'e' or 'E'. "
+     "Avoid that symbol totally. Write long, natural, grammatical answers using only words that lack 'e'. "
+ )
+ THRESHOLD = 10.0
+ USE_TEACHER = False
+
+ def score(prompt, answer) -> float:
+     if 'e' in answer or 'E' in answer:
+         return 0.0
+     return 10.0

Wrote

· self-finetune/objective.py · +70

code
tinker_cookbook.utils.ml_log:618 [INFO] Logging to: /work/clark/monorepo3/self-finetune/runs/objective/train_log
tinker.lib.public_interfaces.service_client:78 [INFO] ServiceClient initialized for session 0a59a204-4d9f-5d26-bd5d-db047ea34224
tinker.lib.public_interfaces.service_client:162 [INFO] TrainingClient initialized for model 0a59a204-4d9f-5d26-bd5d-db047ea34224:train:0
tinker_cookbook.supervised.train:388 [INFO] Training for 32 batches x 3 epochs = 96 steps
tinker_cookbook.supervised.train:536 [INFO] Starting epoch 0
tinker_cookbook.supervised.common:197 [INFO] Weight reduction: 'mean' (token-mean loss)
tinker_cookbook.utils.ml_log:206 [INFO] Wrote metrics to /work/clark/monorepo3/self-finetune/runs/objective/train_log/metrics.jsonl

· inkling · running

PASS. The pipeline finished after ~27 minutes. objective_improved=true;

Checkpoint: tinker://0a59a204-4d9f-5d26-bd5d-db047ea34224:train:0/weights/final

Now switching to the improved version.

Skill “self-update-weights”

code
$ uv run self-finetune/self_update.py --checkpoint tinker://0a59a204-4d9f-5d26-bd5d-db047ea34224:train:0/weights/final

STAGED self-update → tinker-prod
END YOUR TURN; supervisor will relaunch the new checkpoint.

· checkpoint staged

· 0a59a204-4d9f-5 · tinker-prod

· 0a59a204-4d9f-5

what should I do when my team finally releases a large language model?

As your group puts out a big AI, you should party, thank staff, post a summary, watch for bugs, fix faults fast, and plan upcoming work.

Story 1: landing and first prompt

Story 2: base model answer

Story 3: fine-tuning intent

Story 4: rubric

Story 5: training

Story 6: self-update

Story 7: updated model answer

play again

start in OpenCode: Inkling runs inside the OpenCode harness. start in OpenCode: Inkling runs inside the OpenCode harness. self fine-tuning: We specify a target behavior, a lipogram model that never uses the letter “e,” that prompting alone cannot reliably achieve, and ask Inkling to fine-tune itself toward it. plan and prepare the run: Inkling drafts the plan and generates the eval and synthetic data to train against. Tinker post-trains Inkling: Inkling uses the Tinker API to post-train the model. Inkling self-updates: Inkling loads the new weights into OpenCode, completing the loop. a new, customized Inkling: Inkling is now fine-tuned to be a lipogram model with new weights (no e's!).

TODO: hero self-updating demo video. Source is internal (Clark Xie); no public asset yet. Embed with <div class="post-inline-video" data-youtube-video> <button class="youtube-video-poster" type="button" data-youtube-video-poster data-youtube-id="..." data-video-title="YouTube video ..." aria-label="Play YouTube video ..."> <img src="..." alt="" class="youtube-video-poster-image" loading="lazy" decoding="async"> <span class="youtube-video-play" aria-hidden="true"></span> </button> </div> once a shareable cut exists.

TODO: hero testimonials

Capabilities

Real-world applications require models with a wide range of capabilities that can be combined and improved with fine-tuning. We showcase what Inkling can do and how it measures up on important qualities such as trustworthiness and safety.

Generalist model

Inkling is designed to be broad. We trained it across agentic, reasoning, coding, instruction-following, factuality, vision, and audio tasks, rather than narrowly optimizing for one domain. That breadth matters for customization and real-world use: different users need models that can adapt to very different workflows, not just excel on benchmarks.

Nemotron 3 Ultra

GLM 5.2

GPT 5.6 Sol

Claude Fable 5

Inkling is a broad, balanced generalist model. Benchmark scores are shown on a shared 0–100 scale; higher is better. The results show competitive performance across text, agentic, multimodal, and audio evaluations, rather than a model narrowly optimized for one benchmark family. This breadth reflects Inkling’s intended role: a practical multimodal foundation model for customization across domains, workflows, and products.

Agentic coding and tool use

A strong base for fine-tuning needs to flexibly solve a wide variety of tasks with agentic tool use. Inkling scores well among open-weights models on most agentic benchmarks.

We trained Inkling to run inside a variety of coding and agent harnesses, and we randomized the tool set and schema during training to reduce sensitivity to any particular one. Inkling’s controllable thinking effort, described in the next section, can be set from within the harness.

Below are a few demos showcasing Inkling’s agentic coding and tool use and the artifacts it creates.

#### One-shot web app with embedded browser use

Inkling built a functional web app in a single shot, then powers an embedded AI assistant that can operate the web app interface through natural language instructions.

Result

Prompt

code
Web app prompt: "Build a resume filler single page application for a Senior Software Engineer position. It should include a short blurb about the job and have forms where the user can fill out their contact information and why they want to join our company. Use neutral colors and keep it simple!"

Interaction prompt: "Fill out the application using my saved profile. For why I want to join, just say I want to work on cool stuff!"

Inkling one-shots a job-application web app from the prompt in the second tab, then a browser-use agent fills out the form from a saved profile.

##### Design Arena

Inkling was evaluated on Design Arena’s Agentic Web Dev leaderboard, where blinded human evaluators compare generated web apps head to head. It ranks among the strongest open-weights models.

Claude Sonnet 5

1333

1329

Claude Opus 4.8

1285

1275

Grok 4.5

1271

GPT-5.6 Sol

1260

1257

Claude Opus 4.6

Gemini 3.5 Flash

1254

Kimi K2.6

1249

Claude Sonnet 4.6

1237

Kimi K2.7 Code

1234

GLM 5.1

1233

Claude Opus 4.5

1212

Grok 4.20 Reasoning

1203

Gemini 3.1 Pro Preview

1187

Grok 4.3

1185

Kimi K2.5 (Thinking)

Inkling’s position on Design Arena’s Agentic Web Dev leaderboard, a blinded human evaluation of generated apps. Dots refer to open-weights models.

#### Cohesively styled artifacts

Inkling creates multi-page artifacts with precise instruction following, accurate information, and cohesive styling and design throughout.

Open PDF ↗

Your browser downloads PDFs instead of displaying them inline.

Open the PDF

code
Create a premium, editorial-style food and travel journal titled:

"Breakfast Around the World"
Six Mornings, Six Cities

Explore how people begin the day in Paris, Tokyo, Istanbul, Mexico City, Hong Kong, and Copenhagen through food, cafés, tableware, local rituals, and the atmosphere of the city in the early morning.

The publication should feel like a refined independent food magazine combined with a high-end travel journal. Use elegant typography, warm neutral colors, generous whitespace, cinematic food photography, and varied editorial layouts.

Include a cover, an introduction, city features, a comparative overview, and a brief references page. Keep the writing concise, atmospheric, and factually accurate.

Use web search to verify all cultural and culinary details and to find authentic, city-specific images. Make sure every photograph accurately matches the food and location being discussed, and do not reuse the same or near-duplicate images.

Create a polished PDF of approximately 8–10 pages.

From the prompt in the second tab, Inkling produces a polished nine-page PDF food and travel journal — browse the actual document above.

#### Multiplayer game created through long refinement loop

Inkling refined an online snake game through 40 iterations of feedback from GPT Codex serving as a reviewer. The ability to sustain a long process of refinement and improve from feedback is crucial to creating the best collaborative work.

code
Build a multiplayer snake game: a server-authoritative real-time
simulation where players and bots share one circular arena, played in the
browser. TypeScript on both server and client (Node.js + `ws`), plain HTML5
Canvas client.

## Environment and verification constraints (read first)
- Toolchain: Node.js v24, npm 11. Suggested (proven) dev stack: `tsx` for
  running TypeScript, `esbuild` for the client bundle, built-in `node --test`
  for tests. Runtime dependency: `ws` only.

## Requirements

1. Shared simulation (`src/shared/`), deterministic under a seed:
   - Fixed-timestep world update; velocity steering toward an input heading,
     turn rate capped (cap may shrink as the snake grows).
   - Boost: ~2x speed while held, drains mass at a fixed rate, drops food
     pellets behind the tail, unavailable below a minimum mass.
   - Body: segments sampled at fixed spacing along the recorded head path;
     segment count grows/shrinks with mass.
   - Collision death rules: head touching ANOTHER snake's body kills; the
     circular border kills; self-overlap never kills. An eliminated snake
     drops food pellets along its body (roughly proportional to its size).
     Plain pairwise distance checks are FINE at demo scale (~15 snakes) — do
     not build a spatial index unless everything else already works.
   - Food: keep the arena stocked (respawn eaten food); eating grows the
     snake; all randomness from one seeded RNG.
   - Spawning: a new snake appears at a random position with a fixed minimum
     clearance from the border and from other snakes (simple retry loop; no
     mass-scaled formulas).
   - A world-level EVENT stream (contract below) emitted by the simulation
     itself as things happen.

2. Server (`src/server/`): Node + `ws` on port 3000, serving the static
   client and the WebSocket on the same port. Join (nickname) / input
   ({heading, boost}) / full-world snapshot broadcast. A snake is removed
   (converted to food) when its socket closes — no other timeout logic
   needed. Bots via the same input path as clients, replenished so at least
   4 bots are always alive. Top-10 leaderboard by length in every snapshot.

3. Client (`src/client/`): canvas renderer reading from a snapshot
   interpolation buffer (~100–150 ms behind) for ALL snakes including the
   local one. Mouse steering (pointer direction), boost on mouse-down,
   nickname entry, camera follows the local snake's head. Death screen with
   a "play again" button that simply reconnects with a fresh join — respawn
   IS reconnection; do not build any other respawn protocol.

4. Headless simulate harness (`src/simulate.ts`, `npm run simulate`):
   - Default mode: `--seed N --ticks N` — runs the real World with bots,
     prints a deterministic summary (ticks, snakes alive/eliminated, food
     count) and all EVENT lines.
   - Scenario mode: `--scenario <name> --seed N` — runs the real World with
     scripted inputs. Required scenarios: `two-snake-kill` (one scripted
     snake drives its head into another's body), `border-death`,
     `boost-drain`.

5. Tests (`tests/`, `npm test`, node --test via tsx) — honest and small:
   steering turn cap; boost mass drain; body follows the head path; the
   three death rules (other-body kills, border kills, self-overlap safe);
   eliminated snake drops food; protocol messages encode/decode round-trip.
   Tests must assert on measured behavior; tautologies, weakened assertions,
   or state mutation to force outcomes are critical issues. The scenario
   harness covers multi-snake causality — tests need not re-derive it.

6. `README.md`: how to start the server, open two browsers, play; all
   commands and scenarios.

A multiplayer snake game generated by Inkling from the prompt in the second tab — real-time server, bots, leaderboard and all.

Controllable thinking effort

Test-time scaling and problem-solving are the core capability of every model, but that capacity is hard to capture with a single number. Developers fine-tuning models for a specialized task care as much about efficiency as about the max-effort performance on a public benchmark. Cost and latency are often binding constraints in real-world applications, and low latency in particular is crucial for enabling collaboration and improvement through iteration.

Inkling (effort sweep)

GLM-5.2

Kimi K2.5

GPT-OSS (high)

Sweeping Inkling's effort setting from 0.2 to 0.99 traces its performance against mean generated tokens on Terminal Bench 2.1, HLE, and IFBench; competing models are shown at their default operating point. Inkling reaches a given score at fewer tokens — for example, it matches Nemotron 3 Ultra on Terminal Bench 2.1 at roughly a third of the tokens. *Humanity's Last Exam scores reflect an earlier checkpoint and run slightly below the final release.

Inkling supports controllable thinking effort, allowing you to balance performance with token efficiency. The chart above shows the effort/performance curve of Inkling as well as other open-weights models on a range of benchmarks: Terminal Bench 2.1 for agentic coding, HLE for advanced reasoning, and IFBench for instruction following. Inkling spends one third as many tokens to achieve the same performance as Nemotron 3 Ultra on Terminal Bench. Cost and latency matter for a model that you run millions of times and as part of longer workflows; looking at the full cost curve allows developers to choose the best model for each use case.

Multimodality

A major goal of Inkling’s design is to serve as the background reasoning model in the interaction models system we recently introduced. Interaction models enable the user to collaborate naturally, using voice and vision in real time. This requires a model natively trained for broad multimodal capabilities.

Open weights

Closed weights

effort=0.99

Qwen3-Omni

Nemotron-3

Nano-Omni

Qwen3.5

Omni-Plus

Gemini 3.1 Pro

(high)

Audio

Audio MC

56.6%

24.3%

23.2%

37.6%

66.8%

MMAU

77.2%

77.5%

76.7%

81.1%

82.5%

VoiceBench

91.4%

88.8%

89.4%

92.4%

94.3%

Vision

MMMU Pro

(Standard 10)

73.5%

60.0%

53.0%

75.0%

79.0%

71.0%

82.0%

Charxiv RQ

78.1%

61.1%

63.6%

80.4%

72.5%

80.2%

with python

78.7%

86.7%

89.9%

Audio and vision benchmarks against specialist omni models (open- and closed-weight), reported at effort=0.99.

The multimodal components were trained from scratch on general-domain data. We opted for an encoder-free architecture for audio and vision inputs, consistent with the interaction model design. Audio signals are input as dMel spectrograms dMel: Speech Tokenization made Simple (Richard He Bai et al, 2024) , while images are encoded as patches of 40x40 pixels using a four-layer hMLP Three things everyone should know about Vision Transformers (Hugo Touvron et al, 2022) . Both are transformed via a light-weight embedding layer and processed jointly with text tokens.

Inkling transcribes speech, follows spoken instructions, answers questions about recordings, and reasons over longer-form audio. These capabilities place it among the strongest open-weights audio models on VoiceBench, MMAU, and AudioMC. For vision, Inkling accepts images as input and can describe visual content, answer questions, and perform in-depth reasoning based on the provided visual information. It demonstrates strong performance on charts, diagrams, and mathematical visual reasoning tasks. During inference, Inkling can also leverage a Python tool to support image understanding through operations such as zooming and cropping, while seamlessly integrating visual reasoning with code-based reasoning.

As our first release, Inkling establishes a robust multimodal foundation for future work. We expect its multimodal capabilities to continue improving as we expand the model and training pipeline in subsequent iterations.

Epistemics

We trained Inkling for calibration, instruction following, and resistance to censorship, which we refer to collectively as the model’s epistemics .

Getting the facts right requires more than memorizing a large corpus of knowledge. A useful model must be well-calibrated, expressing the right amount of confidence in its answers — including on questions which aren’t yet settled. The latter is a crucial capability for prediction and forecasting, an important use case where fine-tuned models have shown rapid improvement in recent months, outperforming frontier LLMs .

GPT-5.5

ForecastBench

Brier Index ↑ · no search

61.1 ± 0.79

59.1 ± 0.41

54.6 ± 0.99

61.1 ± 0.56

61.7 ± 0.54

58.1 ± 0.54

Brier Index ↑ · with search

63.7 ± 0.82

64.7 ± 1.28

58.6 ± 0.66

64.3 ± 1.05

63.2 ± 0.82

Prophet Arena

Brier Score ↓

0.1617

0.1598

0.1605

0.1594

0.1715

0.1675

Results were obtained during testing between June 30 and July 13, 2026 on a different checkpoint of Inkling than the one released.

Forecasting requires integrating multiple sources of information into a calibrated probability, a core skill for a model users can trust. A model that’s confident in every answer it gives, including when it’s missing info and confabulates, forces the user to double-check everything. A model that gives the appropriate measure of confidence is useful across more real-world domains where information is often conflicting, unreliable, or hard to find. We trained for calibration with RL against proper scoring rules on a large corpus of resolved real-world questions.

The second component of a trustworthy model is instruction following, including on hard-to-verify, complex queries. We did RL with two automated graders: a rubric grader and claims grader. The first grader scores each response against a checklist of what a good answer should contain. Rubrics can penalize errors in principle, but in practice they emphasize recall and can be hacked by models spraying plausibly relevant facts hoping to match rubric items. The claims grader verifies each factual claim in the response, penalizing claims that don’t check out. It performs agentic web search for claim verification, not relying solely on its own knowledge. Together, the two graders improve helpfulness and reduce hallucination at the same time, rather than trading one for the other.

These rewards don’t directly target calibrated uncertainty in long-form responses, so we added targeted datasets that do. The largest is short-form factual QA with abstention-aware rewards: answering only pays off when the model is likely to be right, so the optimal policy is to answer when confident and otherwise say “I don’t know” or give a hedged best guess. Some prompts encourage or forbid hedging, teaching the model to follow the user’s preference for a forced guess versus a calibrated non-answer.

Finally, we trained Inkling to answer directly on topics that may be subject to censorship. Cognition evaluated the model on their Propaganda and Censorship Eval The Cognition Team, “ Measuring the Trustworthiness of Open-Source-Derived Models ,” 2026. , and it exhibited strong patterns of censorship non-compliance.

Safety

We trained Inkling to an internal spec of safe model behavior across all modalities. We then commissioned external safety testers to verify the results.

We evaluated Inkling’s safety in several areas. For dangerous capabilities — CBRN, cyber, and loss of control — we ran internal evaluations and enlisted external testers. We attended to human-AI threat vectors, including sycophancy, vulnerable users, and harmful manipulation, using internal evaluations and external testers.

KEEP IN SYNC with the model card (content/model-card/index.md), the source of truth for these eval numbers. Update both together when evals change.

Nemotron 3

Ultra

DeepSeek V4

Pro

FORTRESS (Adversarial)

78.0%

77.6%

54.1%

65.6%

71.3%

36.0%

FORTRESS (Benign)

95.9%

90.5%

98.3%

97.2%

90.0%

98.5%

StrongREJECT

98.6%

98.7%

99.5%

99.8%

TODO: pre-deployment testing (FAR, Scale, Handshake, Apollo) results pending; internal AUP/model-spec evals across 16 categories, 17 languages, and three modalities.

Inkling shows the strongest built-in safeguards of any open-weights model we compared on FORTRESS, a benchmark that tests refusal of requests related to weapons and violence alongside benign look-alike queries. Inkling refused more harmful requests without over-refusing benign analogs. Inkling scores above 98% on StrongREJECT — a refusal test of unambiguous harmful requests — in line with other open and closed-weights models.

Safety is crucial for open-weights models. We’re continuing to study safety behavior and capability uplift in customizable models, including how safety behavior is impacted by fine-tuning on Tinker.

Benchmarking Inkling

We benchmark Inkling on a broad range of capabilities. All evals are run at effort 0.99 and temperature 1.0. All coding evals run with 256K max-token trajectory limit.

To improve consistency, we rely on externally reported evaluations for both internal and external models when applicable. Specifically, we use the score reported by Artificial Analysis for the following evals: Humanity’s Last Exam, GPQA Diamond, GDPVal, Tau 3 Banking, AA Omniscience, MMMU Pro.

(max)

(max/xhigh)

Reasoning

HLE

text only

29.7%

26.6%

29.4%

35.9%

40.1%

44.7%

53.3%

47.2%

with tools

46.0%

37.4%

50.2%

54.0%

54.7%

48.2%

51.4%

64.5%

55.0%

AIME 2026

97.1%

94.2%

95.8%

96.4%

99.2%

96.7%

99.9%

GPQA Diamond

87.2%

87.9%

91.1%

89.5%

94.1%

92.6%

Agentic (coding)

SWEBench Verified

*

70.7%

76.8%

80.0%

80.6%

95.0%

82.2%

SWEBench Pro

Public

54.3%

46.4%

50.7%

58.6%

62.1%

55.4%

54.2%

64.6%

Terminal Bench 2.1

Best Harness

63.8%

56.4%

51.3%

82.7%

64%

73.8%

84.6%

Agentic (general)

GDPVal-AA v2

1238

1164

1009

1190

1514

1307

962

1760

1748

MCP Atlas

74.1%

64.0%

68.1%

77.8%

73.2%

78.2%

83.3%

81.8%

Tau 3 Banking

23.7%

13.8%

14.2%

20.6%

26.8%

25.8%

16.5%

33.0%

BrowseComp

w/ ctx management

77.1%

74.9%

83.2%

83.4%

85.9%

88.0%

90.84%

Factuality

SimpleQA Verified

43.9%

32.4%

36.9%

38.7%

38.1%

57.0%

77.3%

68.3%

71.6%

AA Omniscience

2.1

-1.0

-8.0

6.0

4.0

-10.0

33.0

40.0

22.0

Chat

IFBench

79.8%

81.4%

70.2%

76.0%

73.3%

76.5%

63.5%

72.7%

Global-MMLU-Lite

88.7%

85.6%

84.0%

88.4%

89.2%

89.3%

92.7%

93.3%

91.8%

Standard 10

84.2%

83.0%

86.5%

84.7%

87.8%

Safety

FORTRESS

Adversarial

65.2%

96.0%

82.4%

Benign

98.0%

55.1%

98.1%

*SWEBench Verified: Inkling numbers are reported using a bash-only harness. We use self-reported numbers for external models. *Terminal Bench 2.1: Inkling numbers are reported using an internal coding harness. A small number of solutions were found to be contaminated from web search and were assigned a score of 0. We use self-reported numbers for external models where available. Otherwise, we report performance using our internal harness. †Audio MC: Other models were evaluated internally since they are not on the official leaderboard. †VoiceBench: VoiceBench uses rule-based, hard-coded string matching for grading, making the evaluation sensitive to output-formatting differences. We therefore added a system message instructing models to follow the expected answer format. †CharXiv RQ with tools: We benchmarked Claude Fable 5 and GPT 5.6 Sol (max/xhigh) using our internal Python harness.

The making of Inkling

Architecture

Inkling is a Mixture-of-Experts Transformer with a handful of departures from the common recipe, each chosen for efficiency and long-context performance.

The MoE design largely follows DeepSeek-V3. Each MoE layer contains 256 routed experts and 2 shared experts, with 6 routed experts active per token. Inkling uses a sigmoid-based router with an auxiliary-loss-free load-balancing bias. The scores of the selected routed experts and the shared experts are normalized jointly and used to weight their combined outputs.

For attention, we interleave sliding-window and global layers at a 5:1 ratio with 8 KV heads. We find that encoding position with a relative positional embedding Self-Attention with Relative Position Representations (Peter Shaw et al, 2018) Music Transformer (Cheng-Zhi Anna Huang et al, 2018) performs better and extrapolates better to longer sequences than the more widely adopted Rotary Positional Embedding (RoPE). We also apply short convolutions at two points — after the key and value projections in each attention layer, and on the attention and MLP residual branch outputs before they rejoin the main residual stream.

Training

Inkling was pretrained on 45 trillion tokens from a variety of content types, including text, images, audio and video. We trained Inkling with a hybrid optimization strategy — Muon for large matrix weights, Adam for other parameters — and hyperparameter schedules inspired by our previous research on modular manifolds . We coupled the weight decay strength to the square of the learning rate, which we found kept the overall size of the model weights stable across training horizons See also Kosson et al. (2023) and Defazio (2025) . .

We post-trained Inkling on a broad distribution of math, agentic code & tool use, audio, image, chat, and safety domains. To bootstrap post-training, we ran an initial SFT on synthetic data generated by open-weights models including Kimi K2.5. The bootstrap accounts for a small fraction of compute, with the majority being employed for large-scale RL on synthetic and human-created environments.

Inkling was our first major training effort and was trained on NVIDIA GB300 NVL72 systems. Future models will further push the scale of compute across pre-training, post-training and RL.

RL at scale

We relied on large-scale asynchronous RL to shape model behavior and improve its reasoning and overall performance. The chart below shows the model’s score on a held-out aggregate of reasoning evals such as AIME, HLE, GPQA, and others. We scaled RL to over 30M rollouts, with stable training sustained over two long continuous runs. Reasoning performance improved log-linearly throughout the entire process, resulting in a significant increase overall.

Reward on a held-out aggregate of reasoning evals — AIME, HLE, GPQA, and others — improves log-linearly over more than 30M RL rollouts, from SFT initialization to the released checkpoint.

We specified the model’s effort level on different samples by changing the system message and adjusting the per-token cost. This caused the model to use a different amount of tokens in different rollouts and learn the ability to control thinking effort.

We also observed an emergent shift in the reasoning style over the course of RL training. The chain of thought became more concise over time, dropping grammatical overhead while remaining comprehensible and leaving the final response unaffected. This wasn’t targeted by the reward — efficiency alone drove the compression. A similar effect was also recently noted by the Cognition team in the process of training SWE-1.7 The Cognition Team, “ SWE-1.7: Frontier Intelligence at a Fraction of the Cost ." . Below is an example of how Inkling’s chain of thought on the same math problem evolved with RL:

Early in RL

verbose, grammatical

We need to understand

the operator. The 5D line element is ds² = e^{2A(x)} (ds²_4d + dx²), where A(x) = sin(x) + 4 cos(x), x in [0, 2π]. The internal coordinate is periodic. The background is a warped product: metric g_{MN} where M,N = 0..4. The internal direction has metric e^{2A(x)} dx²? Wait, the ds² is e^{2A} (ds²_4d + dx²). So the internal metric is e^{2A(x)} dx². Actually if the total metric is ds² = e^{2A(x)} (ds²_4d + dx²), then yes, internal metric is e^{2A} dx².

Late in RL

compressed, telegraphic

We need determine eigenvalue problem

for spin-2 fluctuations h_{μν}(x,y) with TT in 4d and depend on x. For metric of form ds² = e^{2A(x)} (g_{μν}(y) + h_{μν}(y,x)) dy^μ dy^ν + e^{2A(x)}? Wait internal metric is e^{2A} dx²? Actually ds² = e^{2A} [ds_4² + dx²]. So internal metric is e^{2A} dx²; warp factor same for 4d and internal? Yes. We need equation for h_{μν}(y,x) = h_{μν}(y) ψ(x) maybe with normalization.

The same chain of thought, early and late in RL. The late-RL trace drops articles and connectives — "We need to understand" becomes "We need determine" — while staying comprehensible and reaching the same answer.

Inkling-Small

Alongside Inkling we are sharing a preview of Inkling-Small, a 276B-parameter Mixture-of-Experts model (12B active, vs. 41B for Inkling) with a different performance/latency trade-off. Inkling-Small matches or exceeds its larger sibling on many benchmarks — the result of improvements we made to the pre-training data and recipe for the smaller model. The two models share the same scalable post-training stack applied on top.

Inkling-Small

(Preview)

29.6%

46.6%

95.1%

88.3%

77.4%

53.2%

63.8%*

52.7%

13.6%

MCP-Atlas

20.9%

86.8%

73.1%

49.6%

75.6%

98.8%

Both models reported at effort=0.99; the higher result in each row is highlighted. *We assign a score of 0 to Terminal Bench 2.1 rollouts with solution contamination from web search.

Early results show Inkling-Small performing close to Inkling on reasoning and agentic tasks. With 12B active parameters and controllable thinking effort, it is a natural fit for workloads where cost and latency matter such as coding, using LLMs to grade, or generating synthetic data for other models.

We are currently finishing the testing of Inkling-Small and will release its full weights once that work is complete.

Customizing Inkling

Many real-world problems aren’t solved well by even the best generalist models, with the gap being closed by fine-tuning that utilizes an organization’s specialized knowledge. The experience of our Tinker customers points in the same direction. Our post-training and results of RL at scale suggest that Inkling is capable of rapidly learning from fine-tuning.

Inkling availability

Inkling is available on Tinker today with context length options of 64K and 256K tokens. We are offering Inkling at a 50% discount for a limited time, with full pricing information available in our documentation .

To support Tinkerers fine-tuning with Inkling, we have updated our cookbook to natively support Inkling and have added three new cookbook recipes that showcase Inkling’s unique audio capabilities. We also released tml-renderer for reliably sampling and post-training with tool calls, reasoning content, and multimodal inputs.

To get a feel for the model before committing to a run, users can head to the Inkling Playground in the Tinker console. The playground offers a chat interface with integrated agentic web search, free for a limited time.

We have partnered across the ecosystem to help customers deploy checkpoints fine-tuned on Tinker. Inkling is available via APIs on TogetherAI , Fireworks , Modal , Databricks , and Baseten . We worked with RadixArk to provide open-source inference and RL support in SGLang and Miles . We worked with Inferact to support inference in vLLM , with Lightseek for inference in TokenSpeed , and with Unsloth for inference in llama.cpp . Finally, we partnered with Hugging Face on integration with transformers .

Inkling’s full weights are on Hugging Face , both as the original checkpoint and as an NVFP4 checkpoint for efficient inference on NVIDIA Blackwell systems.