Thinking Machines Brings Qwen3.8-27B to Tinker, Making Multimodal Fine-Tuning Single-GPU
Alibaba's newest 27B dense multimodal model lands on Thinking Machines' fine-tuning API, unlocking LoRA training over text, images, and video.

- Qwen3.8-27B is now fine-tunable on Tinker with native image and video support.
- Dense 27.78B parameter model, Apache 2.0, 262K context extendable to 1M via YaRN.
- Hybrid Gated DeltaNet plus full attention at a 3:1 ratio keeps long-context inference tractable on one GPU.
- Large gains on OSWorld (84.3), Terminal-Bench (73.0), DeepSWE (42.2) and SWE-Bench Pro (61.7%).
- Tinker uses per-token pricing across prefill, sample, and train meters, LoRA only.
- Trained adapters export as PEFT or merged HF models for serving on vLLM or SGLang.
Thinking Machines just added Qwen3.8-27B to Tinker, its managed post-training API. The pairing matters because Qwen3.8-27B is arguably the most capable dense multimodal model that still fits on a single high-end GPU, and Tinker gives you low-level control over the training loop without asking you to babysit a cluster.
Here is what changed, what the model can actually do, and how the Tinker workflow now looks when you want to fine-tune it on your own images, video, or agent traces.
The model behind the headline
The exact checkpoint contains 27.78 billion parameters, accepts text, images and video, ships under Apache 2.0, and has a native 262,144-token context window. Its 262K-token native context window could be extended to 1M through YaRN, which puts it in reach of long-document and long-video pipelines that used to require frontier APIs.
Architecturally, this is not a straight scale-up. The model employs a 3:1 ratio of linear attention (Gated DeltaNet) to full attention layers. This design choice reduces computational complexity from O(n²) to O(n) for 75% of layers while maintaining quality on long-context tasks. Gated DeltaNet is a linear-attention variant that keeps a running summary of past tokens instead of recomputing pairwise attention across the whole sequence, which is why the 256K context stays tractable on a single card. The model also adds multi-token prediction, letting it draft several tokens per forward pass rather than one at a time.
Where it actually shines
Qwen reports large jumps over the previous generation in coding, computer-use, and agentic evaluations. The official model card shows Terminal-Bench 2.1 rising from 63.4 to 73.0, DeepSWE 1.1 from 13.3 to 42.2, OSWorld-Verified from 63.9 to 84.3 and SWE-MM from 25.7 to 38.6.
- 61.7% on SWE-Bench Pro for repo-scale software engineering.
- 42.2% on DeepSWE 1.1 and 79.0% on QwenSWEBench for coding agents.
- 70.7% on CoWorkBench, an office-agent benchmark where it edges reported Opus 4.6 Max numbers.
- 84.3 on OSWorld-Verified for GUI-driven computer use.
Two caveats worth internalizing before you build on those numbers. First, every launch score comes from Qwen. Several benchmarks are in-house, corrected or modified. Second, it is not an honest one-for-one replacement for today's strongest frontier APIs or data-center-scale open mixtures. Treat it as the best local dense multimodal option, not a GPT-5 killer.
Why Tinker changes the calculus
The reason this drop is interesting for practitioners isn't just the model, it's that Tinker exposes it as a trainable target. Tinker exposes low-level primitives (forward_backward, optim_step, save_state, sample) instead of a monolithic train(), so you keep your reward shaping, curriculum, and evaluation logic in Python while Thinking Machines handles multi-node orchestration.
A few practical facts to plan around:
- Tinker charges per million tokens instead of per GPU-hour, split across three meters: prefill (input processing), sample (generation), and train (forward + backward pass).
- Every run trains a LoRA adapter (default rank 32). No full fine-tuning.
- Tinker exports a standard PEFT adapter or a merged Hugging Face model, so you can serve the result on vLLM, SGLang, or any GPU platform.
- Checkpoint storage is charged at $0.10/GB-month.
Vision inputs use a chunked format that interleaves image bytes with text tokens. From the general-availability notes, the pattern looks like this:
model_input = tinker.ModelInput(chunks=[
tinker.types.ImageChunk(data=image_data, format="png"),
tinker.types.EncodedTextChunk(tokens=tokenizer.encode("What is this?")),
])These vision inputs can be used in a variety of applications out-of-the-box, including SFT and RL finetuning. One current limitation worth flagging: on Qwen3-VL family models, currently only LLM layers are fine-tuned for Qwen3-VL (from checking the LoRA adapter keys), meaning the vision encoder stays frozen. That's typically fine for task adaptation but wrong if you actually need the image tower to learn new visual concepts.
Who should care
The combination is most useful when you want a private, single-GPU-servable model that has been shaped to your data. Realistic fits include:
- Local coding assistants and bounded agents where SWE-Bench-style behavior matters and you cannot ship code to a closed API.
- Document, screenshot, and diagram understanding pipelines that benefit from the 256K context and native vision input.
- Computer-use and GUI automation research building on OSWorld-style tasks, with RL loops written against Tinker's sample and forward_backward primitives.
- Regulated workflows where Apache 2.0 weights plus a merged adapter export mean training artifacts stay under your control.
If your use case is continued pretraining, large-domain adaptation, or unlocking the vision encoder itself, Tinker is not the right tool. For everything else in the post-training space around this size class, Qwen3.8-27B on Tinker is now one of the shortest paths from an idea to a customized multimodal model you actually own.