Showing posts with label open source. Show all posts
Showing posts with label open source. Show all posts

31.7.25

X-Omni proves RL can make token-based image generators great again

 Diffusion may rule today’s text-to-image scene, but Tencent researchers just reminded everyone why discrete autoregressive models still matter. In a paper titled “X-Omni: Reinforcement Learning Makes Discrete Autoregressive Image Generative Models Great Again,” they show that a sprinkle of reward learning turns a 7 B LLM that predicts visual tokens into a Sora-class image engine—while natively sharing weights with language generation.

Three moving parts

ModuleJobRL impact
Semantic image tokenizerConverts 32 × 32 patch features into a 65 k-token vocabulary without vector-quantization blur.Supplies denser reward signals than pixel-level losses.
Unified AR backboneOne transformer handles both language and image tokens; no diffusion head during training.After SFT it over-fits, but RL fixes fidelity & instruction following.
Offline diffusion decoderA lightweight “decompressor” turns token grids into crisp 1 K-px frames.Keeps inference < 2 s on a single A100.

Why reinforcement learning?

Supervised fine-tuning left the model with warped faces and garbled typography. Policy-gradient updates—rewarded for CLIP aesthetics, OCR accuracy and prompt adherence—steadily cleaned up artifacts and nailed complex layouts, something best-of-N sampling couldn’t match.

Early numbers worth noting

  • FID 1.7 on ImageNet-256 (beating DiT-XL by 9 %)

  • 99.2 % prompt compliance on the new LongText-Bench (Chinese + English captions up to 120 chars)

  • 3.5× faster than diffusion baselines at 1024 × 1024 when streaming tokens with Flash-Attn 3.0

  • < 8.5 GB VRAM for a distilled 1.3 B variant (coming soon, according to the repo)

Why it matters

  1. Unified model, unified budget – No separate diffusion tower; language and image share the same 7 B weights, making deployment simpler and cheaper.

  2. Long-text rendering solved – Posters, UI mock-ups and meme creators finally get reliable lettering without kludgy diffusion guidance.

  3. Open everything – Code, checkpoints and the 200-prompt LongText-Bench live on GitHub under Apache-2.0. Fine-tune away.

The bigger picture

Until now, researchers had mostly written off discrete AR image models as artifacts-prone hold-overs from DALL·E 1. X-Omni flips that narrative: with the right reward design, token predictors can match (and in text rendering, beat) diffusion’s photorealism while keeping the door open for seamless language–vision fusion and future any-to-any generation. Expect a resurgence of AR tokenizers, LoRA packs for brand fonts, and perhaps a new front in the multimodal model wars.

Paper link: arXiv 2507.22058 (PDF)

14.7.25

Google DeepMind Launches GenAI Processors — an Open-Source Python Library for Fast, Parallel, Multimodal Pipelines

 

Why Google Built GenAI Processors

Modern generative-AI apps juggle many stages: ingesting user data, chunking or pre-processing it, calling one or more models, post-processing the output and streaming results back to the user. Most teams wire these steps together ad-hoc, leading to brittle code and wasted compute.

DeepMind’s answer is GenAI Processors — a modular, async Python library that provides:

  • A single Processor abstraction – every step (transcription, retrieval, Gemini call, summarisation, etc.) reads an async stream of ProcessorParts and emits another stream, so components snap together like Unix pipes. 

  • Built-in scheduling & back-pressure – the framework transparently parallelises independent steps while preventing slow stages from clogging memory. 

  • First-class Gemini support – ready-made processors for gemini.generate_content, function calling and vision inputs make it easy to swap models or add tool use. 

  • Multimodal parts out of the boxTextPart, ImagePart, AudioPart, VideoPart, plus arbitrary user-defined types enable true cross-media pipelines. 


How It Works (A 10-Second Glimpse)

from genai_processors import content_api, processors, streams
pipeline = processors.Chain([ processors.AudioTranscriber(model="gemini"), processors.ChunkText(max_tokens=4_000), processors.GeminiGenerator(model="gemini-2.5-pro"), processors.MarkdownSummariser() ]) async for part in pipeline(streams.file("meeting.mp3")): print(part.as_text())

One file → parallel transcription → chunking → long-context Gemini reasoning → markdown summary — all fully streamed.


Performance & Footprint

DeepMind benchmarks show 2-5× throughput improvements versus naïve, sequential asyncio code when processing long podcasts, PDFs or image batches, with negligible memory overhead on a single CPU core. Because each processor is an asyncio coroutine, the same pipeline scales horizontally across threads or micro-services without code changes. 


High-Impact Use-Cases

DomainPipeline Sketch
Real-time meeting assistantAudioStream → Transcribe → Gemini-Summarise → Sentiment → Stream to UI
Video moderationVideoFrames → DetectObjects → UnsafeFilter → Gemini-Caption
Multilingual customer supportInboundChat → Translate(LLM) → RetrieveKB → Gemini-Answer → Back-translate
Code-review botPRDiff → Gemini-Critique → RiskClassifier → PostComment

Developers can publish their own processors to PyPI; the library discovers and hot-loads them via entry points, encouraging an ecosystem of plug-ins similar to Hugging Face Datasets or LangChain tools. 

Getting Started

pip install genai-processors
# then run the example notebooks
  • Requires Python 3.10+

  • Works locally, in Vertex AI Workbench or any serverless function

Documentation, Colab tutorials and a growing gallery of 20+ composable processors live in the GitHub repo. 


Why It Matters

  • Developer Velocity – declarative pipelines mean less glue code, faster iteration and simpler reviews.

  • Efficiency – built-in parallelism squeezes more work out of each GPU minute or token budget.

  • Extensibility – swap a Gemini call for an open-weight model, add a safety filter, or branch to multiple generators with one line of code.

  • Open Governance – released under Apache 2.0, inviting community processors for speciality tasks (e.g., medical OCR, geospatial tiling).


Final Takeaway

With GenAI Processors, DeepMind is doing for generative-AI workflows what Pandas did for tabular data: standardising the building blocks so every team can focus on what they want to build, not how to wire it together. If your application touches multiple data types or requires real-time streaming, this library is poised to become an indispensable part of the Gen AI stack.

 OpenAI has released GPT-OSS , a pair of open-weight language models designed for strong reasoning and agentic workflows— gpt-oss-120b and ...