Transformers v5.16.0: Novos Modelos, Correções e Otimizações

imagem 57

Novos Modelos Adicionados

Qwen4-Exp

O Qwen4-Exp representa um avanço significativo na arquitetura híbrida de texto e multimodal da Qwen, construído sobre o Qwen3.5. Ele integra três componentes-chave: GatedResidual (GR), Qwen Sparse Attention (QSA) e Per-Layer Embedding (PLE). O GR combina Hyper-Connection com GatedNorm, misturando múltiplos fluxos residuais com gating fino antes de cada bloco de atenção e de Mixture-of-Experts (MoE), controlando também quanto da saída do bloco é injetada de volta. A QSA utiliza múltiplas cabeças de consulta para pontuar blocos de chaves comprimidos, selecionando os blocos contíguos mais relevantes e mantendo o bloco final incompleto sem compressão. Isso reduz a sobrecarga de indexação e melhora a localidade de memória para sequências longas; combinada com Gated DeltaNet, torna o Qwen4-Exp a primeira arquitetura híbrida a integrar atenção linear e esparsa, aumentando a eficiência de inferência em cargas de trabalho de contexto longo. O PLE enriquece camadas selecionadas do decoder com características lexicais específicas, derivadas de n-gramas de tokens com hash e uma convolução depthwise dilatada. A documentação completa está disponível no site do Hugging Face.

GraniteSpeech5

O Granite Speech 5.0 Turbo CTC é um encoder conformer leve, com cerca de 470 milhões de parâmetros, para reconhecimento automático de fala, treinado com Connectionist Temporal Classification (CTC) sobre alvos BPE. É um membro rápido e somente-encoder da família Granite Speech: a transcrição requer uma única passagem direta seguida de decodificação CTC gulosa, sem decoder autorregressivo. Arquiteturalmente, estende o encoder CTC conformer com três inovações: empilhamento de frames e subamostragem temporal em bloco; atenção em blocos com embeddings posicionais relativos de Shaw, usando projeções separadas sem bias; e CTC autocondicionado, no qual as posteriores CTC da camada intermediária são projetadas e realimentadas nos estados ocultos, compartilhando a cabeça CTC entre a autocondicionamento e a previsão final.

Step3p7

O Step-3.7-Flash foi proposto pela StepFun em seu blog. É um modelo de visão-linguagem esparso com 198 bilhões de parâmetros, pareando uma espinha dorsal de linguagem MoE de 196 bilhões de parâmetros com um codificador de visão de 1,8 bilhão de parâmetros para compreensão nativa de imagens. A StepFun não publicou um relatório técnico, então os detalhes são derivados da configuração do checkpoint: um decoder MoE esparso com 288 especialistas roteados (top-8 por token) mais um especialista compartilhado; atenção com gating, adicionando uma projeção que multiplica a saída da atenção por um sigmoid, como no Qwen3-Next; predição de múltiplos tokens em alguns checkpoints; um codificador de visão estilo SigLIP com embeddings posicionais rotatórios 2D e downsampling 4x; e tiling dinâmico de imagens baseado na proporção da imagem.

CohereCompass

O CohereCompass é a arquitetura base para modelos de linguagem (ou visão-linguagem) pequenos e especializados treinados pela Cohere. A documentação está disponível.

Mudanças Significativas (Breaking Changes)

A implementação legada de paralelismo de tensores foi substituída por um backend nativo DTensor, exigindo que usuários que dependiam da API anterior migrem para a nova interface baseada em DTensor. Além disso, o dispatch de attn_implementation="sdpa" agora é suportado corretamente para os modelos wav2vec2_conformer, wav2vec2-bert e SeamlessM4T/v2, o que pode alterar o comportamento de inicialização para quem havia contornado essa limitação. Por fim, o FuyuProcessor não retorna mais o campo image_patch_indices; códigos que dependiam dele precisam ser atualizados.

Cache

Vários bugs relacionados a cache foram corrigidos, incluindo um erro off-by-one no cache de janela deslizante, corrupção de cache na decodificação especulativa do Whisper, falhas de uso de cache no CpmAnt, geração dos modelos Qwen2.5-Omni e Qwen3-Omni-MoE com caches compiláveis, e carregamento de tensores comprimidos para modelos quantizados apenas com cache KV. A documentação foi atualizada para explicar a remoção de tokens do cache usando valores negativos, e foi introduzido suporte à configuração de cache por camada, permitindo que modelos com arquiteturas heterogêneas usem configurações distintas de sliding_window, attention_chunk_size e number_of_conv_states em cada camada.

Geração

Esta versão corrige vários bugs de geração em múltiplos modelos, incluindo problemas na decodificação especulativa do Whisper (UnboundLocalError, corrupção de cache, regressão de velocidade e IDs de posição em lotes com padding à esquerda), geração de imagens quebrada no Emu3, saída inadequada no OLMo/GPTNeoX, e geração dos modelos Qwen2.5-Omni/Qwen3-Omni-MoE com caches compiláveis. Adicionalmente, as distribuições de logits para geradores candidatos que usam amostragem agora são alinhadas, retornando logits após a aplicação dos processadores de logits.

Atenção

Foram feitas diversas correções relacionadas à atenção: um erro de digitação na documentação do SigLIP2, falhas nos testes de dispatch de atenção Flash/SDPA para xcodec2 e GPUs RDNA da ROCm, um problema onde a máscara de atenção cruzada do GPT2 era silenciosamente descartada, e a habilitação da declaração de suporte a SDPA no TimmWrapper. Também foi adicionado suporte à configuração de cache por camada e seleção de máscara de atenção por camada para modelos com arquiteturas heterogêneas.

Quantização

As melhorias em quantização incluem o suporte à quantização NVFP4 via kernels HF, permitindo quantização de pesos BF16 em tempo real com redução de aproximadamente 50% no uso de memória. Foram corrigidos vários bugs: uma regressão em is_quantization_compressed que causava layouts incorretos de módulos para checkpoints em formato empacotado, falhas na inicialização de pesos do CLIP com checkpoints quantizados, e a restauração da configuração de quantização de cache KV para modelos quantizados apenas com cache KV.

Paralelização

Foi introduzido um motor de inferência paralela em pipeline ingênuo que suporta embeddings de pesos empatados/não empatados com integração perfeita ao generate(), além de restaurar a compatibilidade retroativa da API de paralelismo de tensores com um ciclo de depreciação para tp_plan. Também foi corrigido um bug de paralelismo de modelo no BLT que afetava a busca em feixe.

Kernels

O suporte a kernels foi aprimorado com atualizações na documentação destacando os modelos suportados, uma correção para evitar falhas de exportação em funções decoradas como kernel (adicionando um guard is_torchdynamo_exporting) e o bump da versão padrão do kernel Flash Attention 2 do hub para v3, resolvendo problemas de compatibilidade com versões mais recentes do PyTorch.

Correções e Melhorias

Muitas outras correções e melhorias foram aplicadas. Entre as mais relevantes, destacam-se a correção da conversão modular do video-llama, o ajuste de testes lentos do hunyuan-moe, a adição de um limite opcional de pixels por frame (cap_pixels_per_frame) no processador de vídeo do Qwen3-VL, e a correção do retorno do AutoTokenizer para modelos DeepSeek-R1-Distill-Qwen. Também foram feitas melhorias de desempenho, como o cálculo da perda de balanceamento de carga MoE por camada para evitar a materialização de one-hot gigante (redução de 99,7% em 128k), e a aplicação de paralelismo de contexto no caminho de avaliação. Correções adicionais incluem problemas com vídeos RGBA, fallback de interpolação para ‘bicubic’ em CUDA, e suporte a BatchFeature em amostradores agrupados por comprimento.

A infraestrutura de CI também recebeu atenção: foram adicionados badges duplos para PRs (CPU e GPU), ajustados limites de memória, e melhorada a detecção de segredos (escaneando apenas diffs). A comunidade de contribuidores teve participação significativa, com muitos colaboradores externos contribuindo para correções e novas funcionalidades.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *