Transformers adicionou suporte à execução de modelos GGUF quantizados no Apple Silicon

18 outubro 20267 visualizações

O artigo descreve a integração do formato GGUF do llama.cpp no Transformers: inferência local no Mac, carregamento de modelos através da API da biblioteca e execução de um servidor compatível com a OpenAI. Com o exemplo do Qwen3.5-4B, mostra como a escolha do nível de quantização afeta o tamanho dos pesos e os requisitos de memória.

Transformers adicionou suporte à execução de modelos GGUF quantizados no Apple Silicon

O que mudou

Em 22 de setembro de 2026, a Hugging Face anunciou o lançamento de modelos GGUF no Transformers através das APIs já conhecidas da biblioteca. O foco inicial é a inferência local em Apple Silicon, começando pela arquitetura Qwen3.5.

Os checkpoints GGUF quantizados já estão disponíveis no Hub por parte de ggml-org, Unsloth, LM Studio Community e bartowski. Estes modelos foram descarregados milhões de vezes.

Como a quantização afeta o tamanho do modelo

A equipa llama.cpp desenvolveu o GGUF. O formato combina pesos e metadados, incluindo informações sobre o tokenizador e um modelo de conversa opcional, num único ficheiro.

A quantização reduz a utilização de memória à custa de alguma precisão. Por exemplo, Q4_K_M utiliza sobretudo pesos de 4 bits, mantendo uma precisão superior para tensores sensíveis.

A fonte apresenta os seguintes tamanhos para o Qwen3.5-4B da Unsloth:

VarianteTamanho do ficheiro
BF168.42 GB
Q6_K3.53 GB
Q5_K_M3.14 GB
Q4_K_M2.74 GB

A fonte recomenda começar com Q4_K_M e, se houver memória adicional disponível, experimentar Q5_K_M ou Q6_K. O compromisso entre qualidade e quantização depende do modelo e da tarefa.

Requisitos para executar localmente

Para executar o modelo, é necessário um Mac com Apple Silicon e uma versão do PyTorch compatível com as compilações publicadas dos kernels ggml-quantization. A fonte indica que, normalmente, são suportadas as duas versões mais recentes do PyTorch.

Também são necessários:

  • a versão mais recente do Transformers — atualmente, a partir do ramo main, até ao próximo lançamento;
  • uma versão compatível da biblioteca de kernels.

Um critério prático é verificar a compatibilidade entre o PyTorch instalado e os kernels antes de carregar o modelo. Sem um kernel de quantização compatível, o carregador desquantiza o modelo, o que requer mais memória.

Como o Transformers carrega GGUF

O modelo é carregado através de from_pretrained: no parâmetro gguf_file, indica-se o identificador do modelo no Hub e o nome do ficheiro. Um exemplo é o Qwen3.5-4B no repositório unsloth/Qwen3.5-4B-GGUF, ficheiro Qwen3.5-4B-Q4_K_M.gguf.

Se os pesos permanecerem empacotados no Metal, o Transformers carrega automaticamente kernels de camada ggml/Metal compatíveis. Para o attention, é utilizado ggml-org/ggml-attn.

Se o kernel de attention não estiver disponível, o modelo muda para sdpa e apresenta um aviso. Também é possível definir explicitamente este modo através de attn_implementation="sdpa".

Como ligar um cliente através da API

É possível iniciar um checkpoint GGUF com o comando serve do Transformers. Este disponibiliza uma API compatível com OpenAI, e o argumento do modelo é definido no formato <model_id>:<filename>.gguf.

Um exemplo de argumento: unsloth/Qwen3.5-4B-GGUF:Qwen3.5-4B-Q4_K_M.gguf. É possível ligar ao servidor o Jan ou o Pi como cliente compatível com OpenAI.

Parâmetros de ligação:

  • Base URL: http://localhost:8000/v1;
  • Model ID: unsloth/Qwen3.5-4B-GGUF:Qwen3.5-4B-Q4_K_M.gguf.

O modelo é executado no Mac, e o cliente disponibiliza uma interface para conversar.

Perguntas mais frequentes

Transformers adicionou suporte à execução de modelos GGUF quantizados no Apple Silicon