Shopping cart

Subtotal $0.00

View cartCheckout

Building better devs

TnewsTnews
  • Home
  • IA
  • IA de 20B Rodando a 120 tok/s no iPhone: Como o Maple-Preview Usa Pesos Ternarios para Ser 16x Mais Rapido
IA

IA de 20B Rodando a 120 tok/s no iPhone: Como o Maple-Preview Usa Pesos Ternarios para Ser 16x Mais Rapido

Email : 13

IA de 20B Rodando a 120 tok/s no iPhone: Como o Maple-Preview Usa Pesos Ternários para Ser 16x Mais Rápido

Imagina rodar um modelo de linguagem com 20 bilhões de parâmetros no seu iPhone. Sem servidor, sem nuvem, sem latência. A 120 tokens por segundo. Parece ficção científica? A DeepGrove acabou de fazer exatamente isso com o Maple-Preview, e a comunidade de IA está pirando.

O segredo não é mágico: é matemático. Enquanto a maioria dos modelos usa pesos em ponto flutuante de 16 bits, o Maple-Preview opera com pesos ternários, ou seja, cada peso pode ser apenas -1, 0 ou +1. Essa restrição brutal transforma multiplicações complexas em simples somas, e o resultado é um modelo de 5,31 GB que cabe na memória de qualquer celular moderno.

O que é o Maple-Preview e por que ele importa

O Maple-Preview é um modelo de linguagem open source (licença MIT) desenvolvido pela DeepGrove AI. Ele combina duas técnicas que, juntas, criam algo que não deveria funcionar tão bem: pesos ternários e Mixture of Experts (MoE).

Eu vou ser direto: modelos que rodam no celular não são novidade. O que é novidade é um modelo de 20 bilhões de parâmetros resolvendo problemas de olimpíada de matemática (IMO) a 120 tokens por segundo num iPhone. Isso muda a conversa sobre IA local.

Especificação Valor
Parâmetros totais 20B
Parâmetros ativos ~1B
Experts 256 (8 ativos por token)
Camadas 24
Contexto 131.072 tokens
Tamanho do checkpoint 5,31 GB
Licença MIT

A arquitetura usa atenção do tipo SWA-512 (Sliding Window Attention) combinada com Group Attention numa proporção de 3:1. Na prática, isso significa que o modelo consegue processar contextos longos sem explodir o consumo de memória.

Pesos ternários: quando menos é absurdamente mais

Vamos falar de como funciona essa loucura.

Num modelo convencional, cada peso é um número de ponto flutuante com 16 bits de precisão (bfloat16). Quando o modelo processa um token, ele faz bilhões de multiplicações entre esses pesos e os valores de ativação. Cada multiplicação consome energia, tempo e memória.

No modelo ternário, cada peso é restrito a três valores: -1, 0 ou +1. O que isso significa na prática?

  • Se o peso é 0: ignora completamente aquela conexão. Zero custo.
  • Se o peso é +1: soma o valor de ativação diretamente. Sem multiplicação.
  • Se o peso é -1: subtrai o valor de ativação. Também sem multiplicação.


# Modelo convencional (float16)
resultado = peso * ativação  # multiplicação cara

# Modelo ternário
if peso == 0:
    resultado = 0           # pula
elif peso == 1:
    resultado = ativação     # copia
else:  # peso == -1
    resultado = -ativação    # inverte sinal

Troca-se uma operação de multiplicação por uma operação de soma (ou nenhuma operação). Em escala de bilhões, o ganho é monstruoso.

Aqui é onde a maioria dos artigos erra ao explicar modelos ternários: eles fazem parecer que é uma simples “compressão” pós-treino, como se você pegasse um modelo pronto e espremesse os pesos. O Maple-Preview não faz isso. Ele foi treinado do zero com pesos ternários. A diferença é enorme.

Quando você quantiza um modelo depois do treino, está jogando informação fora. Quando você treina nativamente com pesos ternários, o modelo aprende a distribuir a inteligência de forma diferente. Ele compensa as limitações dos pesos simples usando mais experts, mais camadas, e padrões de ativação mais inteligentes.

256 experts, 8 ativos: o MoE que faz tudo funcionar

Se pesos ternários são o motor, a arquitetura Mixture of Experts é o câmbio.

O Maple-Preview tem 256 experts especializados. Para cada token processado, apenas 8 desses experts são ativados. Isso significa que, apesar de ter 20 bilhões de parâmetros no total, apenas cerca de 1 bilhão está ativo em qualquer momento.

Pensa assim: é como ter 256 consultores especializados, mas para cada pergunta você só chama os 8 mais relevantes. Você tem o conhecimento de todos, mas paga o custo computacional de poucos.

Modelo Parâmetros totais Parâmetros ativos Experts
Maple-Preview 20B ~1B 256 (8 ativos)
Qwen 3.6 MoE 235B ~22B 128 (8 ativos)
Mixtral 8x7B 46.7B ~12.9B 8 (2 ativos)
GPT-4 (estimado) ~1.7T ~220B ~16 (2 ativos)

A combinação ternário + MoE é poderosa porque resolve dois problemas de uma vez. O MoE reduz o compute ativo. Os pesos ternários eliminam as multiplicações restantes. O resultado: 5 a 16x mais rápido que modelos comparáveis como Gemma 4 e Qwen3.5.

Benchmarks: números que fazem barulho

Aqui é onde o Maple-Preview fica interessante de verdade.

No Mac Mini M4, ele atinge 218 tokens por segundo. No iPhone, 120 tok/s. Para contexto, o GPT-4o via API entrega algo em torno de 80 a 100 tok/s, e isso passando por servidores com GPUs H100.

Os benchmarks de raciocínio são surpreendentemente bons para um modelo tão compacto:

  • AIME 2026: resolve problemas de competição de matemática de nível avançado
  • HMMT 2026: lida com problemas de competição de Harvard-MIT
  • GPQA-D: acerta questões de doutorado em ciências
  • LCBv6: performance competitiva em coding

A DeepGrove afirma que o Maple-Preview “define novos pontos na fronteira de Pareto para relação memória/performance e velocidade/performance”. Em português: nenhum outro modelo consegue essa combinação de tamanho pequeno, velocidade alta e raciocínio forte.

Agora, preciso ser honesto sobre as limitações.

Onde o Maple-Preview tropeça (e feio)

Modelo pequeno é modelo pequeno. Não adianta fingir que 1B de parâmetros ativos com pesos ternários vai competir com o Claude Opus ou o GPT-5.5 em conhecimento geral.

Na discussão do Hacker News, vários devs testaram o modelo e encontraram problemas sérios de alucinação factual. Um teste simples pedindo a etimologia de uma palavra gerou uma resposta completamente inventada, com datas e origens fictícias escritas com total confiança.

Isso não é bug, é limitação estrutural. Modelos menores não conseguem armazenar o mesmo volume de conhecimento que modelos maiores. O Maple-Preview compensa isso com raciocínio forte (ele sabe “pensar”), mas o conhecimento factual que ele carrega é limitado.

A própria DeepGrove reconhece no card do modelo:

O pós-treino foi mínimo, focado especificamente em raciocínio. Pode ter performance inferior em benchmarks de agentes.

Ou seja: ele é bom em raciocinar sobre o que você dá para ele, mas não espere que ele saiba tudo sobre o mundo. A real é que o caso de uso ideal é outro: ferramenta de raciocínio local, tool-calling, processamento de documentos no device.

Na prática: como rodar o Maple-Preview

Rodar o modelo é surpreendentemente simples. Ele suporta as ferramentas mais populares do ecossistema.

Com Transformers (PyTorch)


from transformers import pipeline

pipe = pipeline(
    "text-generation",
    model="deepgrove/maple-preview",
    trust_remote_code=True
)

messages = [
    {"role": "user", "content": "Explique quicksort em 3 passos"}
]

response = pipe(messages)
print(response[0]["generated_text"])

Com vLLM (produção)


pip install vllm
vllm serve "deepgrove/maple-preview"

# API compatível com OpenAI
curl -X POST "http://localhost:8000/v1/chat/completions" \
  -H "Content-Type: application/json" \
  --data '{
    "model": "deepgrove/maple-preview",
    "messages": [
      {"role": "user", "content": "Qual a complexidade do merge sort?"}
    ]
  }'

Com SGLang


pip install sglang
python3 -m sglang.launch_server \
    --model-path "deepgrove/maple-preview" \
    --host 0.0.0.0 \
    --port 30000

Um detalhe importante: o modelo exige trust_remote_code=True porque usa implementações customizadas para os kernels ternários. Isso é normal para modelos com arquiteturas não-padrão, mas vale prestar atenção se você está rodando em ambiente de produção.

O contexto maior: a corrida pela IA no bolso

O Maple-Preview não existe no vácuo. Ele faz parte de uma tendência que está acelerando: a descentralização da IA.

Em julho de 2026, a PrismML lançou o Bonsai 27B, builds ternárias e de 1-bit do Qwen 3.6 que rodam em laptops e celulares. A Microsoft tem o BitNet. A Apple vem investindo pesado em modelos on-device com o Apple Intelligence. O Google roda o Gemini Nano direto no Chrome e lançou a Prompt API para que qualquer dev rode IA no navegador sem servidor.

A lógica é simples: quem controla a inferência controla o jogo. Se a IA roda na nuvem, você depende do provedor (e da conexão, e do preço, e dos termos de uso). Se roda no seu device, você tem soberania total sobre os seus dados e o seu modelo.

Esse movimento tem um nome: edge AI. E os números explicam por que as big techs estão apostando nele. Segundo análises recentes, o mercado de inferência na nuvem cresce 40% ao ano, mas o custo por token para os provedores também cresce. Cada novo modelo de fronteira exige mais GPUs, mais energia, mais refrigeração. Em algum momento, a conta não fecha.

A alternativa? Empurrar o máximo de inferência possível para o device do usuário. O Apple Intelligence já faz isso. O Chrome instalou 4 GB de IA no seu PC sem pedir (a gente escreveu sobre isso). E agora modelos como o Maple-Preview mostram que inferência local de alta qualidade é viável em hardware que cabe no bolso.

Para devs, isso abre possibilidades que não existiam há um ano:

  • Apps offline com IA: imagine um editor de código com autocomplete inteligente que funciona sem internet, no avião, no metrô
  • Privacidade real: processamento de documentos sensíveis sem enviar nada para servidores externos. Compliance com LGPD e GDPR fica trivial quando os dados nunca saem do device
  • Latência zero: 120 tok/s no device vs. 80 tok/s passando por uma API que mora a 200ms de distância. Para UX, essa diferença é brutal
  • Custo zero de inferência: depois de baixar o modelo, cada token gerado é grátis. Escala para milhões de usuários sem escalar a conta de cloud

Ternário vs. quantização tradicional: por que treinar do zero importa

Existe uma diferença fundamental entre o que o Maple-Preview faz e o que ferramentas como GGML/llama.cpp fazem quando você baixa um modelo Q4_K_M.

A quantização pós-treino (PTQ) pega um modelo treinado em float16 e comprime os pesos para inteiros de 4 bits, 2 bits, ou até 1 bit. O processo inevitavelmente perde informação. Quanto mais agressiva a quantização, mais o modelo degrada.

O treino nativo ternário é diferente. O modelo nunca conheceu pesos de alta precisão. Desde o primeiro passo de treino, ele aprendeu a representar conhecimento usando apenas -1, 0 e +1. É como a diferença entre comprimir um MP3 para 64kbps (perde qualidade) e gravar diretamente em 64kbps com um codec otimizado (qualidade surpreendentemente boa).

O paper do BitNet b1.58 da Microsoft Research foi o primeiro a demonstrar que modelos treinados nativamente com pesos ternários (1.58 bits por peso) podem igualar a performance de modelos float16 do mesmo tamanho. O Maple-Preview leva essa ideia adiante, combinando com MoE para escalar sem explodir o custo computacional.


Comparação de custo por operação:

Float16:  1 multiplicação = ~20 operações de hardware
Int8:     1 multiplicação = ~4 operações de hardware
Int4:     1 multiplicação = ~2 operações de hardware
Ternário: 0 multiplicações = 1 soma ou 0 operações

Essa diferença no nível do silício é o que permite 218 tok/s num chip M4 que não foi projetado para IA.

Quando usar (e quando não usar) o Maple-Preview

Eu sei que a tentação é pegar o modelo e sair usando para tudo. Resiste.

Use o Maple-Preview para:

  • Raciocínio matemático e lógico local
  • Tool-calling e agentic workflows onde velocidade importa mais que conhecimento
  • Processamento de documentos que você já fornece como contexto
  • Prototipagem rápida de features de IA em apps mobile
  • Backup rápido quando a API do seu provedor cai

Não use para:

  • Perguntas factuais que exigem conhecimento enciclopédico
  • Geração de conteúdo longo onde precisão factual é crítica
  • Substituir completamente modelos de fronteira em produção
  • Qualquer coisa onde uma alucinação confiante pode causar dano real

O ponto de ouro está em combinar o Maple-Preview com um modelo maior via fallback. Use o modelo local para 80% das requisições (as rápidas e simples) e escale para a nuvem nos 20% que exigem mais.

O que vem depois

A DeepGrove deixou claro que o Maple-Preview é exatamente isso: um preview. A versão completa do Maple vai ter pós-treino mais extenso, melhor performance em tarefas de agente, e provavelmente um context window ainda maior.

Mas o impacto real do Maple-Preview vai além do modelo em si. Ele prova uma tese que muita gente considerava impossível até pouco tempo: que pesos ternários treinados do zero, combinados com MoE massivo, produzem modelos que competem com modelos dense de precisão completa numa fração do custo computacional.

Se a DeepGrove conseguiu isso com 20B de parâmetros, imagine quando alguém aplicar a mesma técnica em modelos de 100B ou 200B. Um modelo ternário de 200B-A10B caberia em talvez 50 GB, rodando em qualquer MacBook Pro com 64 GB de RAM a velocidades absurdas. Modelos de fronteira no laptop, sem cloud.

A pergunta que fica: se inferência local ternária fica boa o suficiente para 80% dos casos de uso, quem vai continuar pagando $15 por milhão de tokens na API?

Eu diria que a resposta assusta um pouco as empresas que vendem inferência por token. Mas, como todo dev sabe, o futuro sempre chega mais rápido do que a gente planeja.

Fonte de inspiração: Maple-Preview no Hacker News e repositório no Hugging Face

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts