IA no dispositivo · 8 min de leitura

Como um modelo de linguagem cabe num celular

Apps de IA local pedem uma quantidade surpreendente de armazenamento, e o motivo não é desleixo. Entender para onde vão esses gigabytes também explica por que o modelo é rápido num celular novo e lento num antigo — e o que o nome de arquivo Q3_K_S está de fato dizendo.

Um modelo é uma pilha enorme de números

Um modelo de linguagem é um conjunto de parâmetros aprendidos — os pesos. Cada um é um número, e são bilhões deles. “2B” no nome de um modelo significa cerca de dois bilhões de parâmetros.

Armazenado com precisão total, cada peso ocupa 4 bytes. Dois bilhões de pesos a 4 bytes cada dão cerca de 8 GB, e isso num dos modelos menores que existem. Esse é o problema em uma linha: o arquivo é grande porque os números são muitos e cada um é guardado com precisão.

Quantização: menos bits por número

A quantização armazena cada peso com menos bits. Em vez de 32 bits por peso, você usa 8, ou 4, ou 3 — com fatores de escala por bloco de pesos, para que a aproximação continue perto do original.

A redução de tamanho é quase linear:

É compressão com perdas, como um JPEG. Force o suficiente e os artefatos aparecem — num modelo de linguagem, eles surgem como respostas mais vagas, repetição ou um desvio em relação à pergunta.

A quantização não deixa um modelo mais burro de maneira uniforme. Ela o deixa menos preciso, e a imprecisão aparece primeiro nas entradas mais difíceis.

Como ler o nome do arquivo

Um nome como Q4_K_M ou Q3_K_S é uma receita, não um número de versão:

Então o Q3_K_S é um k-quant pequeno de 3 bits: comprimido de forma agressiva, escolhido quando caber no aparelho importa mais do que os últimos pontos percentuais de qualidade.

GGUF: o contêiner

GGUF é o formato de arquivo que guarda os pesos quantizados mais os metadados de que um runtime precisa — tokenizador, arquitetura, modelo de prompt. Um arquivo só, sem uma pasta de configuração junto.

Isso importa em celulares porque o GGUF foi feito para ser mapeado em memória. Em vez de carregar 1,7 GB na RAM, o runtime mapeia o arquivo no seu espaço de endereços e o sistema operacional traz para a memória as partes de fato usadas. É por isso que um modelo maior do que a RAM livre de um celular ainda consegue rodar, e por que a primeira resposta depois de abrir o app é mais lenta que a seguinte — as páginas ainda estão sendo buscadas.

Por que o celular esquenta

Gerar uma palavra — um token — significa passar a entrada por esses bilhões de parâmetros. E fazer tudo de novo para o próximo token. Uma resposta de cem palavras são cem passagens.

Isso é aritmética contínua na CPU ou no acelerador neural, exatamente o tipo de carga em que os celulares são piores do ponto de vista térmico. Aparelhos reduzem a frequência quando esquentam, então uma geração longa e ininterrupta fica mais lenta conforme avança. Apps locais bem-feitos dosam o trabalho — espaçando as tarefas para o chip esfriar — em vez de enfileirar tudo de uma vez.

Por que celulares antigos sofrem

Três limitações, todas elas duras:

É por isso que apps de IA local informam um aparelho mínimo em vez de tentar dar suporte a tudo. Abaixo de certo ponto, a experiência não fica degradada: fica inutilizável.

A troca que você está fazendo

Um modelo quantizado do tamanho de um celular não vai igualar um grande modelo na nuvem em raciocínio difícil. Para uma tarefa delimitada — o que esta palavra significa nesta frase, traduza este trecho — ele é totalmente suficiente, e vem com três propriedades que um modelo na nuvem não pode oferecer: funciona sem conexão, não custa nada por uso e o texto nunca sai do aparelho.

É esse o acordo da IA no dispositivo. Você abre mão do maior modelo possível e ganha privacidade, funcionamento offline e nenhuma cobrança por uso.

Como o ClickBook faz isso

O ClickBook traz um modelo GGUF quantizado e o executa com llama.cpp no seu aparelho. No iOS, ele vem embutido no app, então não há nada para baixar. Leia mais sobre leitores de e-books com IA local, ou veja como o ClickBook funciona.