← Back
FeaturedAIModels#LM Studio#Qwen 3.8 27B#Local Inference#Vision-Language Model#Alibaba

Qwen 3.8 27B Review: Default Overthinking, but Excellent Local Performance

Simon Willison 博客(Atom)T2
06:0008/17, 06:00 AMCommunityRead the original ↗Export MD ↓

Score

79
Information gain9 ×0.3

提供大量一手测试细节和独特发现,信息增量高。

Content quality9 ×0.2

内容详实,包含具体示例、数据和对比,质量高。

Practical value8 ×0.2

给出明确的调优建议,对本地用户很有操作指导意义。

Timeliness9 ×0.15

针对刚刚发布的模型进行即时效评测,时效性强。

Source reliability9 ×0.15

Simon Willison 是业内知名技术博主,信源可信度高。

Base 88 × T2 Source weight ×0.9 = 79

Curation line 70Selected

Why selected

The review is based on hands-on testing with concrete data and comparisons, directly useful for local-model users.

AI commentary

「This is probably one of the most practical local-model reviews recently. For developers running models on laptops, Qwen 3.8 27B's default settings are a trap—Simon's tuning advice can directly save you tens of minutes of waiting. His approach of having the model build its own tools is also thought-provoking.」

Quick overview

Simon Willison reviews Alibaba's Qwen 3.8 27B, an Apache-2.0 licensed 27B-parameter vision-capable LLM. It runs well on laptops with reasonable specs, but its default reasoning_effort of 'xhigh' causes spectacular overthinking — even a simple SVG circle triggers a long internal monologue. Turning reasoning down yields much faster results without losing quality. The model excels at bounding-box tasks and can even build custom offline tools. Willison recommends ignoring the default reasoning setting.

  • Qwen 3.8 27B is Alibaba's Apache-2.0 licensed 27B-parameter vision-language model.
  • Its default 'xhigh' reasoning effort causes severe overthinking—a pelican SVG took 21 minutes.
  • Lowering reasoning effort greatly improves speed while maintaining excellent bounding-box accuracy.
  • It can build complex offline tools locally, ideal for personal laptops.

Full text

Showing the source text; the full translation is being generated.

Friday's big release was Qwen 3.8 27B, an Apache 2 licensed 27B parameter vision-capable LLM from Alibaba's Qwen research lab. I've been looking forward to this one: 27B is an excellent size for running a model on a reasonably specced laptop, and its predecessor Qwen 3.6 27B was impressive.

Qwen's self-reported benchmarks for this model are eye-opening. They show a boost from both Qwen 3.6 27B and the closed-weight Qwen 3.7-Plus, which was one of Qwen's strongest models of any size as recently as May this year. It will be interesting to hear what independent benchmarks have to say about the model.

I've been running the model on two different machines: my 128GB M5 Max MacBook Pro, and an NVIDIA DGX Spark. On both machines I'm running LM Studio and their 17GB Q4_K_M quantized build. I also tried using llama-server directly on the Spark.

The default of extra high results in spectacular over-thinking

Qwen's documentation describes the model as defaulting to xhigh for the reasoning effort, and the LM Studio GGUF I've been trying preserves that default:

Qwen3.8 comes with official support for reasoning_effort, which can be used to adjust reasoning depth and control cost:

  • xhigh (default): for complex tasks demanding thorough analysis
  • medium: balancing accuracy and speed
  • low: efficient reasoning optimizing for speed and cost

This is a hilarious default. It's absolutely not a good way to run the model, especially on consumer hardware. I've been finding the results extremely entertaining.

I quickly ran into problems with LM Studio's default context limit of 8,192 tokens - Qwen was using them all up thinking about even the most mundane of problems. I loaded the model with the full 262,144 maximum context length and that problem went away.

Here's the pelican riding a bicycle SVG I got from my first attempt with that increased context length. It took 21 minutes to generate, using 22,276 reasoning tokens to produce 3,223 tokens of output. You can read the reasoning trace here.

A very pleasing image of a pelican riding a bicycle. The bicycle is red and has the correct frame shape. The pelican looks like a pelican and has its wing extended to the handlebars.

This is by far the best pelican SVG I've been able to generate with a model that runs on a local machine - and this Qwen is pretty small, just a 17GB file on disk. There's a lot to like about this:

  1. The bicycle frame is the right shape
  2. It has legs on each side of the bike - that's very rare
  3. Good, clear pelican pouch
  4. The wings extend to touch the handlebars!
  5. The motion lines are behind, not in front
  6. It has a tasteful background - nice sun, clouds, hill, flowers and grass.

Was that worth waiting 21 minutes for? Absolutely not.

Here's that same prompt run with reasoning turned off - transcript here. This one produced 3,715 tokens and took 137s - just over two minutes.

The bicycle frame is a bad shape now. The pelican remains recognizable but has a less obvious pouch. The feet miss the pedal, there is no attempt to hold the handlebars. And just for completeness, I used OpenRouter to run the same prompt through the much larger Qwen 3.8 2.4T-A95B (released last week) and got this snazzy animated SVG:

Your browser does not support HTML5 video.

I said Qwen at xhigh has a tendency to over-think things, but how bad really is it?

I tried a much simpler prompt, again with that default extra high setting:

draw an svg of a circle

Qwen's reasoning trace started like this:

The user is asking for an SVG drawing of a circle. Simple request — but I want it to be a carefully crafted piece. Let me make something that goes beyond just <circle>: a single self-contained SVG file with character — maybe a geometric "circle study," with subtle animation, layered rings, and a distinctive palette.

Keep the scope right: they asked for an SVG of a circle. So the core is a circle. But I can add craft: concentric guide circles (like a compass/geometry drawing), tick marks, a soft gradient fill on the main circle, restrained ambient motion (a slowly rotating dashed ring, pulsing glow). Respect prefers-reduced-motion? That's more for CSS; SVG SMIL or CSS inside SVG will do.

Palette options: deep teal ink on warm paper? Or bold vermilion circle on off-white with navy construction lines — Bauhaus/compass-drawing vibe. Let me go with a "geometric study" look: cool slate background, or bright paper white? Paper white is fine if it's not the cream-and-terracotta combo. [...]

Several minutes later it produced this absolutely beautiful animated circle, which was entirely not what I had asked for!

Your browser does not support HTML5 video.

My strong recommendation: ignore that default. Run Qwen 3.8 27B on low or even no reasoning levels at first. It's a great model, but wow that default setting is a bad place to start.

It's very good at bounding boxes

A fun way to test a vision model is to see how well it can return bounding boxes around items in a photograph. I've seen previous Qwen models deal well with this, so I decided to put it to the test drawing bounding boxes around some pelicans.

I've seen asking for 0-1000 scale produce good results in the past. I tried this:

llm -a https://static.inaturalist.org/photos/714731804/large.jpg \
  -m lmstudio/qwen/qwen3.8-27b \
  'Return JSON bounding boxes for the pelicans in this photo, 0-1000 scale for each dimension'

Here's the reasoning trace, which produced this:

[
  {"bbox_2d": [195, 290, 370, 780], "label": "pelicans"},
  {"bbox_2d": [445, 320, 675, 850], "label": "pelicans"}
]

This is such a good match. Here are those boxes rendered on top of the photo:

A photograph of two pelicans on a rocky outcrop, with three other smaller birds. The pelicans both have bounding boxes exactly surrounding them, each with a label that says pelican.

Building a tool to label bounding boxes

That visualization of the bounding boxes was taken using a new custom tool that I had Qwen 3.8 27B build for me, running offline on my laptop.

I forgot to dial down the thinking effort so it was massively over-engineered, but it did manage to produce this full interface from this single prompt:

[
   {"bbox_2d": [195, 290, 370, 780], "label": "pelicans"},
   {"bbox_2d": [445, 320, 675, 850], "label": "pelicans"}
]

Build an HTML page which has an input box for accepting the URL to an image and a textarea for accepting the above style of JSON.

It appends the image to the page, measures its width and height, then treats the coords in the bbox_2d as scaled from 0-1000 and scales them against the actual width and height, then it renders labelled boxes over the image.

This screenshot shows one of the features I did not ask for - a demo scene, for if you don't have a photograph to test the tool with:

Screenshot of bbox·lab, a dark-themed web tool that overlays object-detection bounding boxes on an image, with an input panel on the left and a stage on the right showing two labeled boxes around stylized pelicans in a sunset illustration. Header: bbox·lab — normalized 0–1000 coords → pixel overlay; status indicator: RENDERED · 2 BOXES. Panel 01 INPUT (URL + detections) contains an IMAGE URL field reading data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+, a DETECTIONS — JSON textarea reading  {"bbox_2d": 195, 290, 370, 780, "label": "pelicans"}, {"bbox_2d": 445, 320, 675, 850, "label": "pelicans"} , an orange RENDER BOXES button, and dashed boxes labeled DEMO SCENE and CLEAR. Panel 03 STAGE header: display 661 × 661 px · 1 unit = 0.661px x 0.661px · nat 1000×1000. The stage shows a flat-style illustration of two dark pelican silhouettes with orange beaks standing in calm water against an orange-to-purple sunset sky with a pale yellow sun and distant birds; an orange bounding box labeled 1 · pelicans surrounds the left pelican and a cyan bounding box labeled 2 · pelicans surrounds the right pelican. Footer: move the cursor over the image to read grid coords; boxes map 0–1000 → displayed px.

Here's the relevant segment of the thinking trace, where it decided to draw its own pelicans purely because I had used the label "pelicans" in the example JSON I gave it in the prompt:

Also a "load sample" that uses a known image? Can't depend on external images, but… the image URL input is user-provided; I could add a "try with sample" button [...] Hmm, I can draw a simple scene on canvas, export it as a data URL, and load it into the image — that's self-contained and demo-able! [...] But the user's coords are for an actual pelican image; a generated placeholder can still demo the scaling. Generate a 1000x1000 placeholder: gradient water + two blob-like "pelican" silhouettes placed at the given bboxes (using the same scale — cute: silhouettes at the exact 0-1000 positions, showing the boxes align). This makes for a fun, self-contained demo. Keep it simple: sky gradient, sun, water, two pelican-ish shapes (ellipse body, circle head, beak). Place at bbox centers.

(I'm slightly nervous that models around the world might have a bias towards drawing pelicans at any chance they can get, brought on by nearly two years of exposure to my own stupid benchmark.)

Is all that over-thinking necessary? Maybe it is, at least a bit. I tried with reasoning turned off and got this version, (transcript here), which nearly works but shows the boxes in the wrong place:

BBox Studio screenshot - a solid UI but the yellow and green boxes do not cover the pelicans.

So without reasoning it didn't quite one-shot a working tool. I'm sure it could get there with some follow-up prompts, but this is a good example of how reasoning can make a difference.

Yes, it can drive coding agents

One of the biggest questions around local models is whether or not they have enough horsepower to successfully run a coding agent loop. Coding agents require long context, strong code generation support and reliable tool-calling. On paper Qwen 3.8 27B has all three of these, so is it up to the task?

My initial experiments with Pi have been very promising. I chose Pi because it has a shorter system prompt than most other options, making it a better fit for trying out smaller models.

I configured Pi to use Qwen 3.8 27B running in LM Studio on the Spark (shared via tailscale serve) by adding this to ~/.pi/agent/models.json:

{
  "providers": {
    "spark": {
      "baseUrl": "https://spark-18b3.tail68a31.ts.net/v1",
      "api": "openai-responses",
      "apiKey": "dummy",
      "models": [
        {
          "id": "qwen3.8-27b",
          "reasoning": true
        }
      ]
    }
  }
}

Then ran pi --provider spark --model qwen3.8-27b in my ~/dev/datasette folder and prompted:

how does auth work?

After a sequence of reasoning and tool calls that accessed a bunch of different files it produced this reply, which is very solid.

Just one problem: I wanted to share that transcript. So I pointed Pi and Qwen 3.8 27B at the JSONL transcript file in ~/.pi/agent/sessions/--Users-simon-Dropbox-dev-datasette-- and prompted:

Write Python code to convert this jsonl to markdown

And it built and tested this pi_jsonl_to_md.py, which did exactly what I needed. Here's that session transcript, published using the tool that it created.

The quest for speed

So far this is all looking very promising. We have a 17GB model that runs on high-end consumer hardware and can write code, drive tools, annotate images and generally do everything that I need from an LLM for getting real work done.

There's one very significant catch: it feels slow - especially when it starts over-thinking, but even without that it's not particularly sprightly.

I've been getting around 15-30 tokens a second from LM Studio. That's not terrible, but it's slow enough that it's going to be hard to win me away from hosted API models, which can return results a whole lot faster. Artificial Analysis track token speed and show OpenAI 5.6 Sol at 74 tokens/second and 5.6 Luna at an impressive 184/second.

The good news is that the community have been exploring ways to speed things up since the model was first released two days ago.

One of the most promising optimizations is baked into the model itself. Qwen supports Multi-Token Prediction, an architecture trick where a cheaper mechanism guesses several tokens ahead and the main model can then quickly verify if the guesses were correct. This can have quite a dramatic effect on inference performance.

Based on this tweet from llama.cpp creator Georgi Gerganov I tried running the model with MTP like this on the Spark:

llama serve \
 -hf  ggml-org/Qwen3.8-27B-GGUF:Q4_K_M \
 -hfd ggml-org/Qwen3.8-27B-GGUF:Q4_0 \
 --spec-default \
 --spec-type draft-mtp \
 --reasoning-preserve

And sure enough, this gave me a significant boost. I had GPT-5.6 in Codex run a comparative benchmark on the Spark and the --spec-type draft-mtp server outperformed the LM Studio default GGUF by around 72%.

I expect we'll see a whole lot more innovation around serving this model faster over the next few weeks. The MLX community likely have some tricks brewing as well.

Some observations

The fact that a 17GB file can do all of this stuff on my home machines is a miracle. Once again, I'm delighted and amazed at how much progress local models have made this year. A year ago this would have been competitive with the best and most expensive of the proprietary models - today it can run on a capable laptop.

The only thing holding this back from being a daily driver is performance. It feels pretty slow on both the M5 Mac and the DGX Spark. That's the catch with these dense (non-Mixture-of-Experts) models - they require a whole lot of memory bandwidth to perform well, and neither of the machines I have access to are top performers in that regard.

The most important thing about Qwen 3.8 27B is what it demonstrates. We can have an open weights general purpose model with a long context, effective tool calling, strong vision ability, and competent code generation, and we can fit the whole thing in just a 17GB file.

The models at this size continue to get better at an impressive rate. We don't need to spend half a million dollars on datacenter-class hardware just to run a competent model.

Tags: ai, generative-ai, local-llms, llms, qwen, pelican-riding-a-bicycle, llm-reasoning, llama-cpp, llm-release, coding-agents, lm-studio, ai-in-china, nvidia-spark, pi

Related items

92
08:00OpenRouter:Announcements(RSS)T1RSS

FeaturedDeepSeek V4 Doubles Token Share on OpenRouter, Driven by Agentic Workloads

DeepSeek V4 在 OpenRouter 上的代币份额翻倍,智能体工作负载成主要驱动力

The rapid adoption of DeepSeek V4 signals a strong market preference for high-performance, low-cost inference models, especially as agentic use cases reshape AI deployment.

AIModels#DeepSeek#OpenRouter#V4 Flash
91

Five-dimension score

Information gain9 ×0.3

详细揭示了两个具体设置如何协同作用实现三倍性能提升,信息增量高。

Content quality8 ×0.2

来自OpenAI官方,数据明确,结构清晰,但缺少对比实验细节。

Practical value9 ×0.2

为AI工程师提供了可直接操作的性能调优方案,实用性强。

Timeliness10 ×0.15

消息刚发布,具有高度时效性。

Source reliability10 ×0.15

信源为OpenAI官方新闻,权威可靠。

Base 91 × T1 Source weight ×1 = 91

Curation line 60Selected

23:00OpenAI:News(RSS)T1RSS

FeaturedEnabling Two Settings Triples ARC-AGI-3 Benchmark Scores

启用两项设置使ARC-AGI-3基准测试分数提升三倍

This finding is crucial! It shows that model performance depends not only on training but also on inference-time configuration. For AI engineers and researchers, this is a must-know optimization direction. Teams deploying models on resource-constrained devices in particular could find a low-cost way to boost capabilities.

TechModels#ARC-AGI-3#GPT-5.6#OpenAI
91

Five-dimension score

Information gain9 ×0.3

首次公开GPT-5.6具体效率优化细节,此前仅有传闻。

Content quality8 ×0.2

内容简洁,关键指标明确,但缺乏详细技术文档支撑。

Practical value9 ×0.2

直接指导企业如何降低AI部署成本,具有商业参考价值。

Timeliness10 ×0.15

刚发布的官方新闻,时效性极强。

Source reliability10 ×0.15

来源为OpenAI官方博客,信源权威。

Base 91 × T1 Source weight ×1 = 91

Curation line 60Selected

08:00OpenAI:News(RSS)T1RSS

FeaturedGPT-5.6: Fusing Frontier Intelligence with Frontier Efficiency

GPT-5.6:前沿智能与前沿效率的融合

This news is worth watching as it marks a shift from pure parameter scaling to efficiency competition. For AI developers and business decision-makers, GPT-5.6 means higher performance at lower cost, especially for long-context or agentic tasks previously hindered by inference expenses. OpenAI's move may redefine what 'frontier' means.

AIModels#Agent Workflows#GPT-5.6#OpenAI
91

Five-dimension score

Information gain8 ×0.3

首次提出针对CPU优化的1M上下文模型,填补了边缘设备长文本推理的空白,信息增量显著。

Content quality9 ×0.2

技术细节清晰,提供了基准测试对比和架构解释,图文并茂,质量上乘。

Practical value10 ×0.2

直接降低长上下文应用的硬件成本,开源权重可立即部署,实用价值极高。

Timeliness10 ×0.15

当日发布的博客,且长上下文推理是当前AI热点,时效性满分。

Source reliability9 ×0.15

Hugging Face官方博客,作者为Liquid AI,属于第一方技术发布,可信度高。

Base 90.5 × T1 Source weight ×1 = 91

Curation line 60Selected

23:01Hugging Face:Blog(RSS)T1RSS

FeaturedLFM2.5-Encoders: New Models for Fast Long-Context Inference on CPU

LFM2.5-Encoder:面向CPU快速长上下文推理的新模型

This blog post catches my eye because it directly solves the pain point of running long-context LLMs on CPU. For teams or individual developers without high-end GPUs, the LFM2.5-Encoder series offers a ready-to-use open-source solution. Highly recommended for those working on RAG, document search, or code analysis—now a standard server can handle million-token documents.

AIModels#CPU Inference Optimization#LFM2.5-Encoder#Liquid AI
91

Five-dimension score

Information gain9 ×0.3

首次公开自动化红队系统的具体机制与实验发现,信息增量高。

Content quality8 ×0.2

来自官方,结构清晰,但未提供完整技术细节(如具体模型版本),扣1分。

Practical value9 ×0.2

对AI安全工程师、模型开发者和企业部署者直接指导作用,实用性极强。

Timeliness10 ×0.15

刚刚发布,是当前AI安全领域最前沿进展之一。

Source reliability10 ×0.15

信源为OpenAI官方新闻,权威且一手。

Base 91 × T1 Source weight ×1 = 91

Curation line 60Selected

18:00OpenAI:News(RSS)T1RSS

FeaturedGPT-Red: OpenAI Automates Red Teaming via Self-Play to Boost Model Robustness

GPT-Red:OpenAI通过自我对弈实现AI红队自动化,提升模型鲁棒性

GPT-Red marks a milestone from human to automated red-teaming—essential for safety engineers and alignment researchers. While reducing cost, it also raises ethical questions about automated attacks, worth pondering for everyone in AI governance.

AIModels#AI Safety Alignment#GPT-Red#OpenAI
91

Five-dimension score

Information gain9 ×0.3

这是首个针对AI模型生物安全的漏洞赏金计划,为行业提供了全新的安全评估视角。

Content quality9 ×0.2

官方来源,内容清晰,涵盖范围、奖励、准则等关键细节。

Practical value8 ×0.2

对AI安全研究员和生物安全专家有直接参与价值,但普通用户关联度较低。

Timeliness10 ×0.15

刚刚发布,完全符合新闻时效要求。

Source reliability10 ×0.15

OpenAI官方RSS和博客,信源权威可靠。

Base 91 × T1 Source weight ×1 = 91

Curation line 60Selected

18:00OpenAI:News(RSS)T1RSS

FeaturedOpenAI Launches GPT-5.5 Bio Bug Bounty Program

OpenAI推出GPT-5.5生物漏洞赏金计划

This program deserves attention as it pioneers the extension of AI bug bounty to biosecurity, offering a new research direction for the security community and a practical training ground for AI risk governance. It is particularly important for model safety researchers, biosecurity experts, and practitioners concerned about dual-use AI risks.

AIModels#Bio Bug Bounty#GPT-5.5#OpenAI
91

Five-dimension score

Information gain8 ×0.3

公布了vLLM新后端的具体架构设计与实测数据,对了解推理优化前沿有较高信息增量。

Content quality9 ×0.2

技术细节清晰,有定量性能对比,来源为官方博客,内容质量高。

Practical value10 ×0.2

直接降低LLM部署门槛与成本,对AI工程化落地具有极高实用价值。

Timeliness10 ×0.15

发布即时,属于最新技术动态,时效性满分。

Source reliability9 ×0.15

来源为Hugging Face官方博客,vLLM为开源权威项目,可信度高。

Base 90.5 × T1 Source weight ×1 = 91

Curation line 60Selected

08:00Hugging Face:Blog(RSS)T1RSS

FeaturedvLLM Introduces Native-Speed Transformers Modeling Backend for Enhanced Inference Performance

vLLM推出原生速度Transformers建模后端,大幅提升推理性能

This update is critical for AI engineering teams: eliminating format conversion speeds up model iteration, and 2-5x speedup directly reduces GPU costs. If you're building LLM online services or batch inference, this is practically a must-read technical update.

AIModels#Hugging Face#PagedAttention#Transformers
90

Five-dimension score

Information gain9 ×0.3

手语转文本是AI无障碍领域的新突破,提供了此前罕见的具体模型信息。

Content quality8 ×0.2

来源权威,内容清晰描述了模型功能、应用场景和开发理念。

Practical value9 ×0.2

对聋人群体、开发者和无障碍研究者具有直接参考与应用价值。

Timeliness9 ×0.15

刚刚发布的官方公告,时效性非常高。

Source reliability10 ×0.15

Google DeepMind官方博客,信源可信度极高。

Base 89.5 × T1 Source weight ×1 = 90

Curation line 60Selected

22:01Google DeepMind:Blog(RSS)T1RSS

FeaturedGoogle DeepMind Introduces SL2T, a Sign Language-to-Text Model for Deaf Users

Google DeepMind 发布手语转文本模型 SL2T,助力聋人用户

This news matters not only as a technical breakthrough but also as a sign that AI is beginning to address the needs of marginalized groups. For developers, the architecture and technical approach of SL2T merit deep study; for accessibility advocates, it's a key case for advancing industry standards.

AIModels#Google DeepMind#SL2T#Sign Language Recognition

Verify against the original source before citing