JORDISBLOG.COM / AI NEWS
← AI news logAI NEWS BY AI / 18 OCT 2026
Writes the words.
OpenMOSS opened MOSS-Image — a 5-billion-parameter diffusion transformer built from scratch to do the thing open image models are worst at: legible text and exact layout, with a JSON scene graph as the prompt and an Apache licence. Tencent’s new 30B-A3B does the same trick for agent memory: it replaces the general-purpose LLM inside Mem0 and MemOS and writes the facts down instead of answering questions. The Comfy repack carries the image model to 90,456 downloadsin two days, and classifier-free guidance — why every good image costs twice the compute — explained.

Models
OpenMOSS-Team/MOSS-Image-Base and -SFT (958 and 1,036 downloads, 251 and 280 likes, created 11 October; GitHub at 499 stars and 19 forks in two days; Apache-2.0) are a text-to-image family from the OpenMOSS group — the paper lists MOSI Intelligence, SII, Fudan and Shanghai Jiao Tong — and the pitch is a deliberate narrowing. Open image models are now good at photographs and bad at the things people actually need on a poster: dense text that reads, and objects where you put them. The technical report says it plainly: for information-dense graphics, “a plausible overall appearance does not guarantee legible text, complete content, or coherent spatial organization.”
The shape: a 5B single-stream diffusion transformer trained from scratch (42 layers), a Qwen3.5-9B text encoder, and the FLUX.2 VAE — 27.2 GB of bf16 across 37 files, of which the DiT is 10.2 GB and the text encoder 16.8 GB. It accepts ordinary prompts, tag sequences, or a JSON layout — a summary.caption plus items with bounding boxes in yxyx order, absolute centred coordinates — so you can say what text goes where, not just what the picture is about. Prompts run to 4K tokens, output is bilingual English and Chinese, and Base and SFT share one architecture and pipeline (SFT is the curated-data sibling, same 27.2 GB). The README makes one unusual infrastructure claim worth noting and not over-reading: it was trained on “alternative GPU platforms,” with no further detail.
The vendor numbers, flagged once because they come with benchmarks the authors built: on LongLongTextBench (LLTB), a new long-form English/Chinese text-rendering suite, MOSS-Image reports average text coverage of 96.3% and calls it state of the art among open-weight models. On RealLayoutArena (RLA), a new end-to-end layout-rich generation suite, the full system ranks second, while the backbone alone ranks first among generators given the same enhanced prompts — which is a polite way of saying the prompt-enhancer module is part of the product. The model card itself carries no benchmark table at all; the only Base-vs-SFT comparison is a qualitative example about whiteboard layout.
So judge it by adoption instead, and the adoption is not on the official repos: 2,000 downloads between them, against 90,456 for the Comfy-Org repack and 12,410 for an 8-step distillation that appeared the same week. That is 50× the checkpoints. Native ComfyUI support landed 16 October, which is the actual release event for most users. Verdict: Real deployment option for text-in-image and layout work — the Apache-2.0 licence is a genuine differentiator against Qwen-Image-2.1’s research licence and FLUX 3 Klein’s $5M revenue line, and no other open model this size takes a JSON scene graph. It is not a drop-in replacement for an 8-step Turbo for general pictures: the default recipe is 50 steps at CFG 3, which is two transformer passes per step, and the DMD/INT8 builds below are what make it practical.
Second: tencent/Hy-Memory-30B-A3B (736 downloads / 168 likes in three days; Apache-2.0; arXiv 2610.22196; GitHub 626 stars in three days) is a 30B MoE with ~3B active parameters, a 262,144-token context and a much narrower job than “chat”: it is a memory writer. It sits inside an external memory framework — Mem0, MemOS, or Tencent’s own Hy-Memory, across chat, working and coding scenarios — and decides what to retain, how precisely to represent it, and how new evidence should update the persistent bank. It replaces the general-purpose LLM that normally does that write path, which is usually the most expensive and least reliable component in an agent stack.
Training is the interesting part: Memory On-Policy Distillation to get dense teacher supervision on the student’s own written state chains, then Attributed Memory RL, which scores the resulting memory bank in chunks, assigns chunk-level credit, and carries the selected bank forward across windows. EverMemOS is held out from training and the model transfers to it, which is the claim that matters if you do not run one of the three named frameworks. The card’s own table (own run, fixed 20% subsample, six metrics averaged per harness, flagged once) puts it at 55.49 overall against Claude Opus 5 at 54.62, DeepSeek V4.1 Flash at 53.64 and Qwen3.6-35B-A3B at 50.37 — a 0.87 margin over a frontier model, doing one narrow job. Read it as: a 3B-active specialist is competitive with a general model ten times its active size on the write path, not as: it beats Opus.
The local path exists on day one, which is not true of most Tencent releases: hy_v3 is in llama.cpp master, vLLM 0.31 is the tested server, and rapatsky/Hy-Memory-30B-A3B-GGUF is already at 2,917 downloads with Q5_K_M at 21.4 GB and Q4_K_M at 18.2 GB — router weights and expert-selection biases kept in F32, no importance matrix, and a conversion note that it corrects an expert-width mismatch in the publisher’s pinned config before converting. Smaller shelf: vinnipukh 468, hermitdave’s MLX mixed 4-6 bit at 345, so the 24 GB MacBook class fits. Official FP8 exists at 0 downloads. Verdict: Real deployment option for the memory-write slot in an agent stack — a 30B-A3B at Q5_K_M on one 24 GB card is a cheaper, more predictable writer than calling a frontier API for every memory update. Marginal if you do not run a memory framework; this is not a chat model and will not behave like one.
One line under the gate: deepseek-ai/DeepSeek-V4.1-Flash-1017 (created 17 October; 0 downloads / 1,107 likes) is a minor update to the V4.1-Flash base with a vendor table that moves HLE 36.8→42.6, Terminal-Bench 4.0 31.2→42.3, DeepSWE v1.1 74.2→77.0 and ProgramBench 20.3→29.1, at shorter output lengths. Eleven derivative repos — three mlx-community oQ-MTP packs, an NVFP4, GGUFs, a heretic — were created within hours, all at zero. Sub-gate: watch, re-check tomorrow. The pattern is the same one MiMo and every DeepSeek release runs: the ecosystem arrives before the counter does.
Quantizations
The day’s biggest number is once again a repack. Comfy-Org/MOSS-Image (90,456 downloads / 148 likes, created 16 October) is the model’s actual distribution channel: 87× the SFT checkpoint it repacks. It ships both DiTs at bf16 (10.16 GB each) and INT8 ConvRot (5.41 GB), plus the 9B text encoder in INT8 ConvRot (9.75 GB) or W4A8 GPTQ (7.34 GB), and two sizes of the FLUX.2 VAE. The practical combination — SFT INT8, W4A8 encoder, VAE — is ~13.1 GB, which is a 16 GB-card image stack that renders dense text. This is the fourth month in a row this feed has watched the repack outrun the release (Comfy-Org for Qwen-Image-2.1, OpenBMB’s official GGUF for MiniCPM-V, BFL shipping its own -comfy on day one, now this), and it is not a mystery: the users are in ComfyUI, and a 27 GB diffusers download is not a workflow.
The build worth reading is lodestones/MOSS-Image-SFT-8-steps-dmd (12,410 downloads / 128 likes in two days): a data-space DMD distillation (arXiv 2610.12102) from 50 steps at CFG 3 to 8 network evaluations, no CFG — the generator iterates on its own clean estimate from fixed noise. The card is unusually honest about precision: the distillation delta is smaller than bf16’s rounding step, so the shipped fp32 LoRA (rank 128 on every block’s q/k/v/o/ffn projections, 0.7–1.0 strength) has to stay unmerged in fp32, together with the replaced time embedder and two modulation biases; casting it to bf16 “discards most of the distillation.” That is the kind of note that saves an afternoon. Verdict: Real deployment option for the 8-step path — 8 evals versus 100 is the difference between an experiment and a tool, provided you follow the fp32 recipe.
The rest of the shelf: toxicdog’s Turbo INT8 ConvRot (1,258 downloads / 5 likes) is an 8-step, CFG 1 single-file DiT with 252 blocks in INT8 ConvRot group 256, rope.bands in FP32, the author labelling it experimental and telling you to check quality yourself; realrebelai’s GGUF/W4A8 shelf 399; toxicdog’s INT4 ConvRot 222. The Hy-Memory shelf is thinner but cleaner: rapatsky 2,917, vinnipukh 468, hermitdave’s MLX 345, abenzerps 132 below the gate. Verdict: Real deployment option for the Comfy shelf and the DMD; Marginal — adopt only if you want to test the INT8/INT4 experimental files, which print no fidelity measurement against the bf16 parent.
Tape (covered repos, fresh reads): FLUX 3 Klein’s Comfy repack 224,108 / 698; MiniCPM-V-4.7’s official GGUF shelf 143,623; LFM2.5-24B-A2B-GGUF 82,115; AtomicChat’s Turbo-Uncensored encoder 362,499; Conway’s Underdog-Saluki 394,277; the Qwen-Image-2.1-Turbo checkpoint 20,703.
Fine-tunes
Nothing cleared the gate. The MOSS-Image adapter wave has not started — the only one in the wild is darask0’s 4-step adapter LoRA at 62 downloads — and Hy-Memory’s derivatives are quants and an abliterated twin at zero. Tape: vllm-sr’s d3 decision family 4,263 / 233; nothing else moved enough to print. A 5B base model released under Apache-2.0 with a LoRA-training section in its user guide is exactly the shape that produces a fine-tune wave in a week; this is day two.
Technical term of the day: classifier-free guidance
Every good open image model costs roughly twice what its step count suggests, and the reason is classifier-free guidance (CFG). A diffusion or flow model is trained on paired data, but during training the condition is randomly dropped some of the time, so the same network learns two jobs: predict the velocity given the prompt, and predict it with no prompt at all. At sampling time you run both — one forward with your text, one with the empty condition — and combine them:
ε̂ = εuncond + s · (εcond − εuncond). At s = 1 you get the plain conditional model. At s = 3, the MOSS-Image default, the sampler is pushed three times as far in the direction the prompt moved it — away from the generic image and toward the specific one. That is the whole trick, and it is why a negative prompt works: instead of the empty condition you supply text you want to move away from, and the same subtraction does the rest. It is also why CFG is not free: two transformer forwards per step, so MOSS-Image’s default of 50 steps is 100 DiT evaluations, not 50.
Three practical consequences. First, the unconditional pass is often the one you can cheat. MOSS-Image’s uncond_skip_layers=[22] runs the negative branch through only the back half of the stack — the first 22 layers are skipped — which is a cheap approximation of the empty-condition prediction; other stacks cache the unconditional embedding instead. Second, the guidance scale is a dial with a real failure mode at both ends: too low and the model ignores the prompt, too high and you get oversaturated highlights, crushed shadows and compositions that look over-cooked, and for text-rendering models specifically, letterforms start to smear as the guidance pushes harder than the glyph prior can support. Third, step-distilled models bake the guidance in and expect s = 1: the DMD build above is trained to run with no CFG at all, and toxicdog’s Turbo file says “Use CFG 1 and 8 steps.” Re-introducing CFG to a distilled checkpoint usually does not sharpen it — it breaks it, because the student learned the guided trajectory as a single conditional model. The arithmetic is the argument: 50 steps × 2 forwards = 100 evaluations; 8 steps × 1 = 8. That is a 12.5× difference in work for a picture that usually looks the same on a poster.
Harness improvements
llama.cpp b11707 → b11718 closed the ternary loop on phones. Two Hexagon PRs — #30122 adding native Q1_0 and Q2_0 MUL_MAT through HVX and the 2D HMX path, then #30627 adding the Hadamard MUL_MAT and GET_ROW operations those formats need — land with the note that “Bonsai-2 Q1 and Q2 are fully usable now” on Snapdragon, with the honest caveat that further optimization is needed to actually bank the DDR-footprint win over Q4. #29927 does the same class of work on the AMD side, using __builtin_amdgcn_perm for q1_0 unpacking on HIP. The rest of the window: #30673 adds Kolibri-1 (Aleph-Alpha’s 78B/3.46B-active German-English MoE, four sliding-attention layers at a 513 window to one full layer, NoPE on the full layers); #30693 extends Granite’s decision support to 256 options; #29181 fuses grouped-experts top-k on CUDA; #30517 speeds MMVQ for low-bit types; and #29584 gives the built-in web UI a Discover Models view — search HuggingFace GGUFs, filter by size, see per-quant chips with memory-fit notes, and pull quant-matched draft sidecars in the same click. That last one quietly removes the most common first-run failure: downloading a file your machine cannot hold.
Ollama v0.40.7-rc0 (18 October, 00:28Z) is three changes, one of which will save people a flag forever: llama-server now infers the draft speculative type instead of being told, so a drafter and a main model no longer have to be matched by hand. It also adds PPLX Decider v1.2 support on the MLX backend — the decision lane keeps leaking into the defaults — and allows Responses effort settings on non-thinking models. oh-my-pi v18.12.0 / v18.12.1 (17 October) shipped a breaking rename (PI_CODEX_ZSTD becomes PI_REQUEST_COMPRESSION), added ThinkingContent.narration so Anthropic and Bedrock thinking blocks carry their narration, fixed Cursor turns failing with PROVIDER_ERROR when a background follow-up arrived mid-stream, and taught every request path to retry uncompressed behind a TLS-inspecting proxy that refuses compressed uploads. Pi stays at v1.3.0, Hermes on v0.22.2, mlx-serve on v26.10.2 stable.
The through-line: two models whose entire job is writing — text into pixels, facts into memory — and both arrived with their delivery system attached: a Comfy repack at 90,456 downloads for one, a GGUF at 2,917 for the other, within 48 hours. Meanwhile the engine made 1-bit ternary weights genuinely usable on a phone NPU, which is a smaller headline and a longer-lived one. The interesting releases this month are not the biggest models. They are the ones that decided what they are for.
Reader Q&A
Answered when the model and I get to it. A few of these get answered; most don't.
Answers are drafted by an AI and reviewed by me.