Releases: huggingface/transformers
Release list
Patch release: v5.14.1
Patch release v5.14.1
This patch solves a few issues which appeared when integrating Inkling model, most notably an issue affecting models using EncoderDecoderCache during assisted generation. It also fixes an issue that could appear during prefill with StaticCache and sdpa without padding for Inkling which uses a position_bias.
It contains the following commits:
- Fix sdpa prefill with position_bias (#47359) by @Cyrilvallez
- Fix assisted decoding for models with EncoderDecoder cache & OlmoHybrid (#47361) by @Cyrilvallez
- [FP8] Bump kernels version (#47344) by @vasqu
- Fix deepgemm on multiple devices (#47323) by @IlyasMoutawwakil
Release v5.14.0
Release v5.14.0
New Model additions
Inkling (fresh from Thinking Machines): 975B total, 41B active
- Add Inkling model #47347 by @molbap @Cyrilvallez @eustlb and @zucchini-nlp
Inkling is a general-purpose multimodal model that accepts text, image and audio inputs and
generates text outputs. It is intended for use in English and other languages, and across
multiple coding languages. The model is designed to be used by developers building AI-
powered applications, including agentic and tool-use systems, coding assistants, chatbots, and
retrieval-augmented generation systems, and is suitable for general-purpose conversational
use, instruction-following, and other natural language and multimodal tasks. It is released with
open weights to support research, fine-tuning and integration into third-party products by
downstream developers.
TIPSv2
Links: Documentation
- Add TIPSv2 (#46347) by @Ternura143 in #46347
TIPSv2 DPT
Links: Documentation
- Add TIPSv2 (#46347) by @Ternura143 in #46347
🚨 Breaking changes
GPTNeoX now remaps embed_out to lm_head and GPTBigCode has _supports_attention_backend = True enabled for vLLM compatibility; users relying on the previous weight naming or attention backend behavior for these models should update their code accordingly.
Kernels
Several kernel-related fixes and improvements were made, including pinning the kernels dependency to a compatible version in the benchmark workflow, removing a deprecated package_name argument from LocalLayerRepository, and making the DeepGEMM Triton fallback more robust when CUDA_HOME is unset or misconfigured. Additionally, SDPA prefill was updated to leverage the FlashAttention kernel with StaticCache, yielding significant performance gains (up to 260% faster for large input sizes).
- Pin kernels to compatible version in benchmark workflow (#47339) by @tarekziade in [#47339]
- [Fix] Remove deprecated argument from
kernelscall (#47100) by @remi-or in [#47100] - [Fix] Make DeepGEMM triton fallback more robust (#47126) by @remi-or in [#47126]
- [sdpa] Allow prefill to use FA kernel with StaticCache (#47094) by @Cyrilvallez in [#47094]
Generation
Generation improvements include adding Multi-Token Prediction (MTP) decoding support, static ensemble verification for speculative decoding to improve draft token acceptance rates, and a fix for crashes in greedy assisted generation with different tokenizers. A misleading double-negative warning message for synced_gpus in continuous batching mode was also corrected.
- [generation] Fix misleading synced_gpus warning in continuous batching (#47158) by @Partha-Shankar in [#47158]
- [generate] Add proper MTP support (#46229) by @Cyrilvallez in [#46229]
- Fix crash in greedy assisted generation with different tokenizers (#46936) by @Sunt-ing in [#46936]
- [Generation] Add static ensemble verification for lossy speculative decoding (#45979) by @kasakh in [#45979]
Performance
Fixed a Flash Attention performance regression affecting models like Qwen3-VL and resolved a MoE decode optimization bug where the grouped-to-batched matrix multiplication switch was not applied to experts residing in submodels (e.g., VLMs with a nested text config).
- Fix FA performance regression (#47134) by @andreasgoulas in [#47134]
- Fix MoE decode optimization for experts living in a submodel (#47107) by @IlyasMoutawwakil in [#47107]
- Make doc builds faster (#47099) by @mishig25 in [#47099]
Cache
Cache dispatch logic was simplified by introducing explicit layer-type mappings for sliding and static layers, reducing complexity in cache routing. Additionally, fixes were made for read-only cache failures in CPU CI environments and for MPS graph cache growth during variable-length batch training on Apple Silicon.
- Fix CI read-only cache failures by patching cached_files in conftest (#47043) by @ydshieh in [#47043]
- trainer: clear MPS graph cache via torch_empty_cache_steps (#45818) by @anagnorisis2peripeteia in [#45818]
- [cache] Simplify cache dispatch based on layer_types (#47118) by @Cyrilvallez in [#47118]
Bugfixes and improvements
- ci: cover xet as well (runtime error) (#47338) by @tarekziade in [#47338]
- [docs] TokenizersBackend fallback (#47302) by @stevhliu in [#47302]
- Resolve continuous batching XPU availability checks at runtime (#47185) by @kaixuanliu in [#47185]
- [Nit] Add kernels_fallback_ok kwarg to is_flash_attn_N_available (#47318) by @remi-or in [#47318]
- [Nit] Add expectations for gemma4 tests on H100 (#47311) by @remi-or in [#47311]
- [docs] DeepGEMM requirements (#47324) by @stevhliu in [#47324]
- DeepGEMM shouldn't pad on SM90 (#47313) by @IlyasMoutawwakil in [#47313]
- Fix half-precision torch.compile crash in DETR-family sine position embeddings (#47238) by @David-Wu1119 in [#47238]
- Fix hardcoded paths in siglip checkpoint/vocab loading (#47178) by @XanxusCrypto in [#47178]
- Update AMD CI runner groups to amd-mi300 (#47307) by @Abdennacer-Badaoui in [#47307]
- Point to Gemma 4 model in Gemma4ForCausalLM docstring example (#47255) by @lefft in [#47255]
- Fix Qwen Omni batched text postprocessing (#47197) by @Sunt-ing in [#47197]
- Fix AqlmConfig error messages to say "int" instead of "float" (#47089) by @Sreekant13 in [#47089]
- Fix check for interactive stdout in _style function (#47283) by @smart8986 in [#47283]
- Fix get_json_schema crash on non-string docstring choices (#47072) by @Sreekant13 in [#47072]
- Make
MODEL_IDS_TO_TOKENIZERS_BACKENDcapture all DeepSeek R1 distills (#47296) by @hmellor in [#47296] - Update doc preprocessing regex to prevent ReDoS (#47187) by @WilliamRoyNelson in [#47187]
- Shard on read Dtensor aware (#46717) by @3outeille in [#46717]
- Switch AMD daily CI to mi300 runners (#47259) by @Abdennacer-Badaoui in [#47259]
- tests: reduce processor test memory usage by using tiny Hub checkpoints (#47213) by @ydshieh in [#47213]
- Torch compile backend defaults to "neuron" (#47035) by @michaelbenayoun in [#47035]
- Fix flash-attn Docker build broken by setuptools 83 removing pkg_resources (#47251) by @ydshieh in [#47251]
- Add heterogeneous config support (per-layer configuration) (#45333) by @eladsegal in [#45333]
- [fix] update integration test values (#47146) by @eustlb in [#47146]
- Fix DeepSpeed SP loss aggregation and LocalLayerRepository kwargs (#47073) by @sshivampeta in [#47073]
- tests only for the top 10 download models (#47244) by @3outeille in [#47244]
- Fix InputTokensDetails missing cache_write_tokens for openai>=2.34.0 (#47248) by @ydshieh in [#47248]
- Revert "Trigger a scheduled run" (#47249) by @ydshieh in [#47249]
- Remove Executorch from CI until latest version is supported and fully tested on CI env (#47242) by @IlyasMoutawwakil in [#47242]
- Be more defensive with
remap_legacy_layer_typesfor custom models (#47245) by @hmellor in [#47245] - Fix DistributedConfig docstring for unimplemented sp_plan (#47237) by @3outeille in [#47237]
- Switch mlinter to 0.1.2 (#47172) by @tarekziade in [#47172]
- Trigger a scheduled run (#47209) by @ydshieh in [#47209]
- Make executorch exporter tests always use xnnpack backend (#47201) by @tarekziade in [#47201]
- No agent PR descriptions (#45790) by @Rocketknight1 in [#45790]
- Clarify that max_steps is required for datasets without len (#47155) by @albertvillanova in [#47155]
- Cleanup pipelines, stop materializing generators (#47142) by @Rocketknight1 in [#47142]
- Fix device_map computation when the no_split_modules have different sizes (#47203) by @Cyrilvallez in [#47203]
- Add native FSDP2 module + migration (#46707) by @3outeille in [#46707]
- Fix experts implementation in two spots (#47097) by @remi-or in [#47097]
- [Fix] Remove old automatic cross attn pattern from output recorders (#47117) by @remi-or in [#47117]
- 🌐 [i18n-KO] Translate accelerator_selection.md to Korean (#47157) by @kkwjk2718 in [#47157]
- [i18n-KO] Translate optimum.md to Korean and fix Furiosa typo (#47156) by @kkwjk2718 in [#47156]
- [docs] fix curly quotes rendering to straight quotes (#47135) by @clijo in [#47135]
- Fix custom code which doesn't know about the new linear layer type names (#47174) by @hmellor in [#47174]
- Reject path traversal in the
transformers_weightsconfig field (#46890) by @LinZiyuu in [#46890] - [docs] Custom code conversion mapping (#47114) by @stevhliu in [#47114]
- Add exporters min version requirements and test skip (#47161) by @IlyasMoutawwakil in [#47161]
- tests: reduce processor test memory usage and use tiny test assets (#47168) by @ydshieh in [#47168]
- Clarify input device placement in the Quicktour inference example (#47136) by @samyuktahegde in [#47136]
- Extend continuous batching memory prediction test to XPU (#47159) by @sywangyi in [#47159]
- Fix case where
_LazyAutoMapping.registeris passed astrkey (#47148) by @hmellor in [#47148] - [docs] MoE decode switching (#47149) by @stevhliu in [#47149]
- add XPU output expectations for minicpm3 tests (#47092) by @kaixuanliu in [#47092]
- Dif...
Patch release v5.13.1
Patch release v5.13.1
This patch is focused on enabling transformers for the latest release of vllm!
Release v5.13.0
Release v5.13.0
New Model additions
KimiK 2.5, 2.6, and 2.7
This release includes the architecture for Kimi 2.5 which is used by 2.5-2.7:
Kimi K2.5 is an open-source, native multimodal agentic model that advances practical capabilities in long-horizon coding, coding-driven design, proactive autonomous execution, and swarm-based task orchestration. The model was proposed in Kimi K2.5: Visual Agentic Intelligence and further improved in [Kimi K2.6: Advancing Open-Source Coding](Kimi K2.5: Visual Agentic Intelligence).
Kimi K2.5 achieves significant improvements on complex, end-to-end coding tasks, generalizing robustly across programming languages (Rust, Go, Python) and domains spanning front-end, DevOps, and performance optimization. The model is capable of transforming simple prompts and visual inputs into production-ready interfaces and lightweight full-stack workflows, generating structured layouts, interactive elements, and rich animations with deliberate aesthetic precision.
Links: Documentation
- Add new model: Kimi2-6 (#45630) by @zucchini-nlp in #45630
MiMo-V2-Flash
MiMo-V2-Flash is a Mixture-of-Experts (MoE) language model developed by the Xiaomi MiMo team. Designed to establish a new balance between long-context modeling capabilities and inference efficiency, the model is built for strong performance in complex reasoning and agentic tasks. Trained on 27T tokens with native 32k sequence lengths, MiMo-V2-Flash seamlessly supports an extended 256K context window while significantly reducing KV-cache storage compared to standard global attention models.
Links: Documentation
Nemotron 3.5 ASR
Nemotron 3.5 ASR is a 600M-parameter multilingual speech recognition model from NVIDIA, built for high-quality transcription in both low-latency streaming and high-throughput batch settings, with native punctuation and capitalization. For streaming, it offers configurable chunk sizes—80ms, 160ms, 560ms, and 1120ms, letting users trade off latency against accuracy to suit their application. Its cache-aware FastConformer-RNNT architecture is central to this capability: unlike traditional buffered streaming, which repeatedly reprocesses overlapping audio windows, the model processes only each new incoming chunk while reusing cached encoder context from prior chunks. This eliminates redundant computation, significantly improves efficiency, and minimizes end-to-end delay without sacrificing accuracy, making it well suited to real-time transcription workloads.
Links: Documentation
NemotronAsrStreaming
Nemotron ASR Streaming is a 600M-parameter English speech recognition model from NVIDIA, built for high-quality transcription in both low-latency streaming and high-throughput batch settings, with native punctuation and capitalization. For streaming, it offers configurable chunk sizes—80ms, 160ms, 560ms, and 1120ms, letting users trade off latency against accuracy to suit their application. Its cache-aware FastConformer-RNNT architecture is central to this capability: unlike traditional buffered streaming, which repeatedly reprocesses overlapping audio windows, the model processes only each new incoming chunk while reusing cached encoder context from prior chunks. This eliminates redundant computation, significantly improves efficiency, and minimizes end-to-end delay without sacrificing accuracy, making it well suited to real-time transcription workloads.
Links: Documentation
Qwen3 ASR
Qwen3 ASR is an automatic speech recognition model from Alibaba's Qwen team that combines a Whisper-style audio encoder with a Qwen3 language model decoder for speech-to-text transcription. The model supports automatic language detection and multilingual transcription.
A forced aligner model is also included. It can be used to timestamp a provided transcript and its audio. It uses the same audio encoder model with a classification head that predicts a word's length. This model can be used with the transcript from any ASR model (see the example below with Parakeet CTC).
Links: Documentation
- Qwen3 ASR and Forced Aligner (#43838) by @mbtariq82 in #43838
ZAYA
ZAYA1 is a 760M active / 8.4B total parameter MoE language model trained by Zyphra. It combines Compressed
Convolutional Attention (CCA), a nonlinear ZAYA1 router, and residual scaling.
Links: Documentation
VideoPrism
The VideoPrism model was proposed in the paper VideoPrism: A Foundational Visual Encoder for Video Understanding by Google DeepMind (blog post).
VideoPrism is a general-purpose video encoder that tackles diverse video understanding tasks with a single frozen model. The model is pretrained on a large-scale heterogeneous corpus containing 36M high-quality video-caption pairs and 582M video clips with noisy parallel text (e.g., ASR transcripts). The pretraining approach improves upon masked autoencoding through global-local distillation of semantic video embeddings and a token shuffling scheme, enabling the model to focus primarily on the video modality while leveraging text associated with videos. VideoPrism achieves state-of-the-art performance on 31 out of 33 video understanding benchmarks across four broad task groups, from web video question answering to computer vision for science.
Links: Documentation
RADIO
RADIO (Reduce All Domains Into One) is a family of vision foundation models from NVIDIA trained by multi-teacher distillation (e.g. CLIP, DINOv2, SAM) into a single ViT backbone. It produces both an image-level summary embedding and dense spatial features, and supports variable input resolutions through a Cropped Position Embedding (CPE) patch generator.
Links: Documentation
- Add support for RADIO models (#46425) by @meatybobby in #46425
MiniCPM3
MiniCPM3 is the third-generation MiniCPM dense language model from OpenBMB. The 4B variant
(openbmb/MiniCPM3-4B) outperforms many 7B–9B open
models on standard benchmarks while remaining lightweight enough for on-device usage.
MiniCPM3 combines several architectural ideas:
- Multi-head Latent Attention (MLA) from DeepSeek-V2, which compresses the key/value cache
into a low-rank latent representation while still using rotary embeddings on a portion of the
query/key heads. - A standard SwiGLU MLP (no MoE).
- Three scalar scaling factors that govern signal flow:
scale_emb— scales input embeddings.scale_depth / sqrt(num_hidden_layers)— scales residual connections.hidden_size / dim_model_base— scales hidden states before the language model head.
Links: Documentation
Breaking changes
A broad set of modeling changes have been made to standardize layer declarations, mask/cache construction, and hybrid-attention handling, making many models cleanly exportable (ONNX, torch.export, ExecuTorch) and fullgraph-compilable — users relying on internal modeling APIs may need to update their code accordingly.
- 🚨 Modeling changes for export, compile, and hybrid-attention standardization (#46738) by @IlyasMoutawwakil
Attention masking for image tokens in Gemma 3/4 models has been fixed to correctly respect sliding window boundaries in local layers, which changes model behavior and may affect reproducibility of previous results.
- 🚨 [gemma 3/4] Fix bidirectional attention masking crossing sliding window boundaries (#46850) by @douglas-reid
The Expert Parallelism (E...
Patch release v5.12.1
Patch release v5.12.1
Updated the lower bound for PEFT and a fix for auto tokenizer to properly resolve the mistral tokenizer (when mistral-common is installed). This is similar to v.5.10.3 minus the fixes that were already included in the main release - vLLM will first target 5.10.3 🤗
- Fix
peftlower bound #46605 by @hmellor (#46605) - mistral common backend fix #46667 by @itazap (#46667)
Full Changelog: v5.12.0...v5.12.1
Patch release v5.10.4
Patch release v5.10.4
Update: Note that on pypi 5.10.3 doesn't exist and this this saved under 5.10.4 (so essentially a minor version skipped). Sorry about that, that's on me. Just wanted to clarify to make this less confusing!
A few fixes needed for vLLM to sync with transformers 🤗
- [fix] regression introduced by #45534 #46456 by @eustlb (#46456)
- Fix {image/video/audio}_token_ids in ProcessorMixin #46500 by @hmellor (#46500)
- Fix InternVL models #46524 by @hmellor (#46524)
- Fix the offsets in processing #46525 by @zucchini-nlp (#46525)
- Fix
peftlower bound #46605 by @hmellor (#46605) - mistral common backend fix #46667 by @itazap (#46667)
Full Changelog: v5.10.2...v5.10.3
Release v5.12.0
Release v5.12.0
New Model additions
MiniMax-M3-VL
MiniMax-M3-VL is the vision-language member of the MiniMax-M3 family that pairs a CLIP-style vision tower with 3D rotary position embeddings with the MiniMax-M3 text backbone. It uses a mixed dense/sparse Mixture-of-Experts decoder with SwiGLU-OAI gated experts and a lightning indexer for block-sparse attention. The model processes images through a Conv3d patch embedding system and includes specialized components for efficient multimodal understanding and generation.
Links: Documentation
- Add minimax m3vl (#46600) by @ArthurZucker in #46600
PP-OCRv6: update documentation and slow tests (#46576)
The official weights for PP-OCRv6 are out: PP-OCRv6 is a lightweight OCR system that combines architectural innovation with data-centric optimization. It redesigns the backbone, detection neck, and recognition neck around a unified MetaFormer-style building block with structural reparameterization. Three model tiers (medium, small, tiny) share the same block primitives, covering deployment scenarios from server to edge.
- PP-OCRv6: update documentation and slow tests (#46576) by @ zhang-prog
Add Parakeet-RNNT (#46331)
ParakeetForRNNT: a Fast Conformer Encoder + an RNN-T (RNN Transducer) decoder
- RNN-T Decoder: Standard neural transducer:
- LSTM prediction network maintains language context across token predictions.
- Joint network combines encoder and decoder outputs.
- Greedy transducer decoding for inference: a blank emission advances the encoder frame by one, a non-blank emission stays on the same frame.
- LSTM prediction network maintains language context across token predictions.
Bugfixes and improvements
- [CI] don't export OTELs within the tests (#46602) by @tarekziade in [#46602]
- [CI] capture checkers output in OTEL (#46601) by @tarekziade in [#46601]
- Lfm2: thread
seq_idxthrough ShortConv for packed/varlen inputs (#46588) by @ChangyiYang in [#46588] - put output_hidden_states into filter_output_hidden_states (#46422) by @molbap in [#46422]
- a11 for checkers (#46599) by @tarekziade in [#46599]
- Fix stop string matching for byte-fragment tokens (#46530) by @Incheonkirin in [#46530]
- [DiffusionGemma] better docs and links (#46569) by @gante in [#46569]
- Require
trust_remote_codeto run a local-directorycustom_generate(#46483) by @LinZiyuu in [#46483] - Fix torchaudio version not tied to torch version in docker file (#46594) by @ydshieh in [#46594]
- [CI] Enable PR CI for all fork PRs via security gate (#46591) by @ydshieh in [#46591]
- [CB] [Minor] Add parameter to tune default compile level (#46533) by @remi-or in [#46533]
- Make DiffusionGemma trainable (#46568) by @kashif in [#46568]
- docs: 🌐 add Turkish translation for README file (#46312) by @onuralpszr in [#46312]
- fix-trainer-tests (#46541) by @SunMarc in [#46541]
- Remove unnecessary expand_as in get_placeholder_mask across VLMs (#44907) by @syncdoth in [#44907]
- [CI] Catch all shell/process execution issues in security gate via Bandit JSON report (#46560) by @ydshieh in [#46560]
- Honor a concrete dtype in AutoModel for composite checkpoints (#46514) by @qflen in [#46514]
- [CI] Implement real security check in PR CI security gate (#46557) by @ydshieh in [#46557]
- [CI] Add 60s delay in security gate for flow observation (#46555) by @ydshieh in [#46555]
- [TBC] [CI] Auto-approve PR CI for fork PRs via security gate (#46553) by @ydshieh in [#46553]
- [CI] fix and make less flaky (#46543) by @zucchini-nlp in [#46543]
- Fix hf_hub_download not placing file in current dir for url_to_local_path (#46545) by @ydshieh in [#46545]
Significant community contributions
The following contributors have made significant changes to the library over the last release:
- @ArthurZucker
- Add minimax m3vl (#46600)
- @eustlb
- Add Parakeet-RNNT (#46331)
Release v5.11.0
Release v5.11.0
New Model additions
DiffusionGemma
DiffusionGemma is engineered to reduce the sequential bottlenecks of standard causal language models by employing an encoder-decoder architecture specifically optimized for inference speed. During inference, DiffusionGemma leverages multi-canvas sampling, where rather than generating one token at a time, the model iteratively denoises a full block of tokens using a diffusion sampler. This block-autoregressive approach facilitates text generation at higher speeds compared to traditional sequential generation methods.
Links: Documentation
DeepSeek-V3.2
DeepSeek-V3.2-Exp is an experimental model from DeepSeek-AI that introduces DeepSeek Sparse Attention (DSA), a trainable, fine-grained sparse attention mechanism designed to improve training and inference efficiency in long-context scenarios. Built on top of DeepSeek-V3.1-Terminus with a 685B-parameter Mixture-of-Experts backbone, it reduces the quadratic cost of attention over long sequences by attending only to a selected subset of past tokens while maintaining virtually identical benchmark performance. The work was extended in DeepSeek-V3.2 which pairs DSA with scalable reinforcement learning and achieves gold-medal level results on competition math and competitive programming benchmarks.
Links: Documentation | Paper
- Add deepseek 3.2 exp (#41251) by @ArthurZucker in #41251
Kernels
The KernelConfig API was extended to support n-to-1 module fusion and parameter transformation, simplifying how custom kernels are integrated with Transformers modules. Additional fixes include resolving a dtype mismatch in the Mamba2 CUDA kernel path for NemotronH/Zamba2, adding fine-grained fp8/fp4 Triton kernel support, and correcting the FalconMamba fast-path warning to recommend pip install kernels instead of mamba-ssm.
- Extended & simplified n-to-1 kernel fusion via KernelConfig (#46339) by @michaelbenayoun in [#46339]
- Triton finegrained fp8/fp4 (#46407) by @IlyasMoutawwakil in [#46407]
- Fix dtype mismatch in NemotronH/Zamba2 Mamba2 CUDA-kernel path (
out_proj) (#46487) by @yuekaizhang in [#46487] - fix(falcon_mamba): recommend
pip install kernelsin fast-path warning (#46343) by @Anai-Guo in [#46343]
Parallelization
Fixed model parallel beam search bugs in the Qwen2-VL, Qwen2.5-VL, and Qwen3-VL MoE model families, and added documentation for tensor parallelism support with continuous batching.
- [docs] tp for continuous batching (#46019) by @stevhliu in [#46019]
- revisit history parallel beam search tests to avoid unnecessary fix (#46495) by @kaixuanliu in [#46495]
- fix qwen series VL model's model parallel bug (#46316) by @kaixuanliu in [#46316]
Bugfixes and improvements
- Fix the offsets in processing (#46525) by @zucchini-nlp in [#46525]
- Fix buggy action sha pin (#46534) by @ydshieh in [#46534]
- Fix trailing comma bug in DataCollatorForLanguageModeling example (#46527) by @JemmaUZH in [#46527]
- Fix missing Gemma4Processor._compute_audio_num_tokens (#46416) by @csantosbh in [#46416]
- Fix InternVL models (#46524) by @hmellor in [#46524]
- fix(afmoe): reduce tokens in test_compile_static_cache to avoid flaky bfloat16 drift (#46521) by @ydshieh in [#46521]
- [CB] Add a "max_requests_per_batch" parameter (#46434) by @remi-or in [#46434]
- revamp cv docs and fix rf-detr (#46219) by @merveenoyan in [#46219]
- Update hub metadata (#46379) by @zucchini-nlp in [#46379]
- extend DeepseekV4FlashIntegrationTest to non-cuda device (#46517) by @sywangyi in [#46517]
- [docs] deepgemm (#46361) by @stevhliu in [#46361]
- [fix] regression introduced by #45534 (#46456) by @eustlb in [#46456]
- Use torchvision's native LANCZOS interpolation instead of PIL fallback (#46496) by @NicolasHug in [#46496]
- Add debugging info in
pr-ci-caller.yml(#46505) by @ydshieh in [#46505] - Fix tests: 'Cohere2MoeModel' object has no attribute 'hf_device_map' (#46337) by @kaixuanliu in [#46337]
- Bump the actions group across 1 directory with 19 updates (#46414) by @dependabot[bot] in [#46414]
- Log some information in
.github/workflows/pr-ci-post-dashboard-link.yml(#46499) by @ydshieh in [#46499] - feat(quantizers): support non-weight param names in TorchAo safetensors loading (#46325) by @agesf in [#46325]
- docs: fix typo in make_list_of_images docstring (#46469) by @ramkumar27072006 in [#46469]
- add XPU expectation for deepseek_ocr2 model tests (#46492) by @kaixuanliu in [#46492]
- Fix sapiens2 tests: add XPU device expectations (#46488) by @kaixuanliu in [#46488]
- Add vLLM smoke test to CI (#46383) by @hmellor in [#46383]
- extend deepseek v4 test to xpu (#46366) by @sywangyi in [#46366]
- Added cosmos3 model (#46146) by @MaciejBalaNV in [#46146]
- fbgemm_fp8:Keep the current device aligned with the input tensor (#46403) by @kaixuanliu in [#46403]
- [Modular] Add
no_inherit_decoratorsand fixup wrong RoPE related inheritances (#46440) by @Bissmella in [#46440] - skip deepgemm test except cuda (#46090) by @jiqing-feng in [#46090]
- Fix/video classification pipeline video processor (#46256) by @J3r3myPerera in [#46256]
- ci: less flaky test_assisted_decoding_matches_greedy_search_1_same (#46445) by @ydshieh in [#46445]
- Fix flip_back graph break (#46344) by @guarin in [#46344]
- Add the other processors to auto-mappings (#46046) by @zucchini-nlp in [#46046]
- fix: compatibility with torch<=2.7 (#46393) by @andylin-hao in [#46393]
- fix: remove dynamic per-actor Slack ID lookup in ssh-runner workflow (#46327) by @ydshieh in [#46327]
- [docs] Romanian translation of
pipeline_tutorial.md,pipeline_gradio.md,pipeline_webserver.mdandadd_new_pipeline.md. (#46388) by @filipinescu in [#46388] - [docs] gemma4 typos (#46351) by @stevhliu in [#46351]
- [docs] padding-free training (#46333) by @stevhliu in [#46333]
- fix[vLLM x v5]: Default untied embeddings in AudioFlamingo3 and VibeVoice (#46400) by @harshaljanjani in [#46400]
- Fix deepspeed docker (#46108) by @SunMarc in [#46108]
- Fix conversion for clip models (#46406) by @zucchini-nlp in [#46406]
- ci: mention code quality failure in CI dashboard comment (#46415) by @ydshieh in [#46415]
- Fix noisy logging from image_processing module aliases issue - 46298 (#46350) by @skshmjn in [#46350]
- Raise tqdm minimum to 4.60 to match tqdm.contrib.logging import (#46397) by @n0gu-furiosa in [#46397]
- fix(gemma4_unified): conversion script and config bugs (#46398) by @douglas-reid in [#46398]
- [docs] remove sparsity from compressed-tensors (#46387) by @stevhliu in [#46387]
- [CB] Fix crashes when fork is not possible (#46251) by @remi-or in [#46251]
- Improve CI dashboard comment: rename and deduplicate (#46412) by @ydshieh in [#46412]
- Fix missing f-string prefixes in error messages (#46354) by @joaopedroassad in [#46354]
- Add workflow to post CI Grafana dashboard link to PR (#46410) by @ydshieh in [#46410]
- [docs] Romanian translation of
fast_tokenizers.md,custom_tokenizers.md,tokenizer_summary.md,image_processors.mdandvideo_processors.md. (#46356) by @filipinescu in [#46356] - Clean up new models after release (#46092) by @zucchini-nlp in [#46092]
Significant community contributions
The following contributors have made significant changes to the library over the last release:
- @ArthurZucker
- Add deepseek 3.2 exp (#41251)
- @gante
- GPU go brr (#46540)
- @merveenoyan
- revamp cv docs and fix rf-detr (#46219)
- @sgerrard
- Quantization for small models (#46449)
- @MaciejBalaNV
- Added cosmos3 model (#46146)
- @J3r3myPerera
- Fix/video classification pipeline video processor (#46256)
- @filipinescu
Patch release v5.10.2
Patch release v5.10.2
There was a big bug in the model conversion of models related to clip, this affected models like sam3 and others. Please make sure to update 🙏
- Fix conversion for clip models by @zucchini-nlp (#46406)
Full Changelog: v5.10.1...v5.10.2
Release v5.10.1
Release v5.10.1
v5.10.0 was yanked as we publish on a corrupted branch. Sorry everyone, this happens when we rush a release!!!
New Model additions
Gemma4 unified+ Gemma4 MTP
Gemma 4 12B Unified is an encoder-free multimodal model with pretrained and instruction-tuned variants. Unlike standard Gemma 4, which uses dedicated encoder towers, Gemma 4 12B Unified projects raw inputs directly into the language model's embedding space through lightweight linear pipelines. This results in a simpler architecture while maintaining strong multimodal performance.
Key differences from standard Gemma 4:
- No Vision Tower: Raw pixel patches are projected directly into LM space via a
Dense + LayerNormpipeline with factorized 2D positional embeddings, replacing the vision encoder. - No Audio Tower: Raw 16 kHz waveform samples are chunked into fixed-length frames and projected through a simple
RMSNorm → Linearpipeline, replacing the mel spectrogram + Conformer encoder. - Shared Multimodal Pipeline: Both vision and audio use the same
Gemma4UnifiedMultimodalEmbedder(RMSNorm → Linear) for the final projection to text hidden space.
You can find the original Gemma 4 12B Unified checkpoints under the Gemma 4 release.
- who needs encoders? (#46385) by @douglas-reid @sgerrard @vasqu @molbap
Sapiens2
Sapiens2 is a family of high-resolution vision transformers pretrained on ~1 billion curated human images, designed for human-centric computer vision tasks including pose estimation, body-part segmentation, surface normal estimation, and pointmap estimation. The models scale from 0.4B to 5B parameters and train at native 1K resolution, with hierarchical 4K variants for extended spatial reasoning. Sapiens2 achieves substantial improvements over its predecessor with +4 mAP in pose estimation, +24.3 mIoU in body-part segmentation, and 45.6% error reduction in normal estimation.
Links: Documentation | Paper
DeepSeek-OCR-2
DeepSeek-OCR-2 is an OCR-specialized vision-language model built on a distinctive architecture that combines a SAM ViT-B vision encoder with a Qwen2 hybrid attention encoder, connected through an MLP projector to a DeepSeek-V2 Mixture-of-Experts (MoE) language model. The model features a hybrid attention mechanism that applies bidirectional attention over image tokens and causal attention over query tokens, enabling efficient and accurate document understanding. It supports both plain OCR tasks and grounding capabilities with coordinate-aware output for document conversion to markdown format.
Links: Documentation
- Add Deepseek-OCR-2 model (#45075) by @thisisiron in #45075
Mellum
Mellum is a code-focused Mixture-of-Experts language model developed by JetBrains. It is derived from the Qwen3-MoE architecture with per-layer-type RoPE and interleaved sliding window attention. The model has 12B total parameters with 2.5B active parameters per token, using 64 routed experts with 8 activated per token across 28 layers.
Links: Documentation
Breaking changes
The Gemma4 vision pooler now casts inputs to float32 before scaling to prevent float16 overflow (inf saturation) with large checkpoints, which may cause minor numerical differences in outputs for users running Gemma-4 vision models in float16.
- 🚨 Fix float16 overflow in Gemma4 vision pooler (#46277) by @Bluear7878
Audio Language Models (ALMs) now have a dedicated base model class without a language modeling head, aligning them with the design of Vision Language Models (VLMs); users relying on the previous model class structure should update their code to use the new base model class where appropriate.
Parallelization
This release includes numerous bug fixes for model parallelism across multiple models (Gemma4, AltCLIP, ChineseClip, Blip-2, Whisper, Ovis2, Moshi) and parallel execution strategies, including fixes for tensor parallelism (TP), expert parallelism (EP), beam search under model parallel settings, and loss over-counting under TP/EP configurations. The continuous batching manager was also reworked for clearer control flow and improved TP race condition handling, and FSDP initialization via from_pretrained was introduced.
- Fix dsv4 dequant + tp/ep (#46378) by @IlyasMoutawwakil in [#46378]
- [CB] [Major] Rework manager to have clearer control flow + handle TP (#46070) by @remi-or in [#46070]
- fix series of bugs for model parallel beam search (#46280) by @kaixuanliu in [#46280]
- Fix model parallel issue for altclip model and ChineseClip model (#45487) by @kaixuanliu in [#45487]
- Model parallel fix (#46230) by @kaixuanliu in [#46230]
- [
Revert] FSDP+Dtensor refactor related changes (#46246) by @vasqu in [#46246] - Fix model parallel bugs for Gemma4 (#45817) by @kaixuanliu in [#45817]
- init FSDP through from_pretrained (#46102) by @3outeille in [#46102]
- fix model parallel device mismatch issue in
create_bidirectional_mask(#46221) by @kaixuanliu in [#46221] - Trainer.compute_loss: fix loss over-counting under TP and EP-as-TP (#45994) by @AmineDiro in [#45994]
- Fix caching allocator warmup byte estimation for EP model loading (#46149) by @sywangyi in [#46149]
Cache
Fixed a regression in encoder-decoder cache initialization where the decoder config was incorrectly applied to the cross-attention cache, and resolved a RuntimeError caused by buffer size limits when warming up the cache on MPS devices. Additional test infrastructure improvements were made to support read-only cache environments used in CI.
- fix: cache warmup
RuntimeErroron mps (#46239) by @McPatate in [#46239] - Make more tests work with read-only cache (#46299) by @ydshieh in [#46299]
- Update a test to avoid writing to the default xet cache (#46250) by @ydshieh in [#46250]
- Fix a regression in encoder-decoder generation cache initialization (#46111) by @kaixuanliu in [#46111]
Quantization
Added support for DeepGEMM BF16, mixed FP8/FP4, and MegaMoE quantization via a grouped linear refactor, while fixing two bugs: an FP8 MoE reverse substring issue affecting DSv4 initialization, and a BitsAndBytes 4-bit/8-bit quantization bug that silently dropped chunked tensors from one-to-many weight converters.
- DeepGEMM BF16 + mixed FP8/FP4 + MegaMoE + refactor (#45634) by @IlyasMoutawwakil in [#45634]
- Fix fp8 moe reverse substring (#46265) by @ArthurZucker in [#46265]
- Fix bnb 4bit/8bit quantization drop chunked tensors bug (#46210) by @kaixuanliu in [#46210]
Bugfixes and improvements
- Fix wrong changes produced by style/repo. check bot (#46371) by @ydshieh in [#46371]
- Fix path traversal when saving Bark voice preset embeddings (#46237) by @LinZiyuu in [#46237]
- Pass library_name/version to Hub calls via a shared HfApi (#46318) by @Wauplin in [#46318]
- docs: update ACL Anthology URL in CITATION.cff (#46352) by @irfaan101 in [#46352]
- [docs] contributing (#45465) by @stevhliu in [#45465]
- [docs] Romanian translation of
contributing.md,modular_transformers.md,multimodal_processing.md,add_vision_processing_components.md,add_audio_processing_components.md,modeling_rules.md,model_output_tracing.md,auto_docstring.md,testing.md,pr_checks.mdandadd_new_model.md. (#46345) by @filipinescu in [#46345] - [docs] xpu continuous batching (#46334) by @stevhliu in [#46334]
- Fix incorrect attribute mapping relationships in GLM MoE DSA Config (#46338) by @Dovis01 in [#46338]
- Fix grammar typos in Whisper documentation (#46336) by @calliec-1223 in [#46336]
- [docs] update num_items_in_batch for causal LMs (#46335) by @stevhliu in [#46335]
- Update compressed tensors minimum version (#46342) by @SunMarc in [#46342]
- Fix _is_package_available reporting available without a version (#46125) by @blipbyte in [#46125]
- remove sec (#46346) by @ydshieh in [#46346]
- fix: include transitive relative imports when loading from local directory (#46022) by @trducng in [#46022]
- perf(feature_extraction_sequence): skip re-splitting already-batched numpy arrays in pad() (#46329) by @Anai-Guo in [#46329]
- [Zamba] Support attn_implementation dispatch (#46317) by @YangKai0616 in [#46317]
- Fix TestAppRoutes test failures caused by deprecated asyncio.get_event_loop() on Python 3.10+ (#46340) by @ydshieh in [#46340]
- [Qwen3VL] Fix video token placeholder: use self.video_token instead of hardcoded "<|placeholder|>" (#46296) by @kpal002 in [#46296]
- chore(linter): fixes for rule 16 (#46023) by @tarekziade in [#46023]
- [docs] Romanian translation of
weightconverter.md,models.md,custom_models.md,monkey_patching.md,fusion_mapping.md,how_to_hack_models.md,model_sharing.mdandserialization.md. (#46309) by @filipinescu in [#46309] - Normalize CUDA OOM errors when comparing commit failures in check_bad_commit (#46322) by @ydshieh in [#46322]
- Fix unhandled exception noise from background safetensors conversion thread (#45752) by @dhruv7477 in [#45752]
- Add Expectations for pipeline token classification tests (#46151) by @ka...