22 pontos por GN⁺ 2026-01-07 | 1 comentários | Compartilhar no WhatsApp
  • O modelo Qwen3-30B-A3B-Instruct-2507 roda em tempo real no Raspberry Pi 5 (16GB), mantendo 8,03 TPS e 94,18% da qualidade BF16
  • Com o método de aprendizado de comprimento de bits ShapeLearn da ByteShape, o equilíbrio entre velocidade e qualidade é otimizado dentro do limite de memória de cada dispositivo
  • Em comparação com Unsloth e MagicQuant, alcança TPS maior na mesma qualidade ou qualidade maior no mesmo TPS
  • Tanto em CPU quanto em GPU (especialmente RTX 5090 e 4080), perto de 4 bits aparece como a faixa ideal de desempenho, e reduzir o número de bits nem sempre acelera o processamento
  • De forma geral, os modelos da ByteShape oferecem desempenho eficiente do edge ao datacenter com uma abordagem de “tratar a memória como orçamento e otimizar TPS/qualidade”

Visão geral da otimização baseada em ShapeLearn

  • A ByteShape otimiza a execução do modelo com foco em velocidade percebida e qualidade de resposta
    • O ShapeLearn aprende o tipo de dado dos pesos de cada tensor (bitlength) para maximizar ao mesmo tempo o TPS (tokens por segundo) e a qualidade da saída
    • O objetivo não é simplesmente reduzir o tamanho do arquivo, mas melhorar o equilíbrio real entre velocidade e qualidade
  • No ambiente llama.cpp, reduzir o número de bits nem sempre melhora a velocidade, e a seleção de kernel e o overhead têm grande impacto no desempenho
  • A ByteShape trata a memória como um “orçamento suficiente para caber” e, depois disso, ajusta o modelo com foco em TPS e qualidade

Desempenho no Raspberry Pi 5

  • No Raspberry Pi 5 (16GB), o modelo de 30B mantém 8,5 TPS e mais de 92% de precisão
    • O modelo Q3_K_S-2.70bpw [KQ-2] oferece velocidade de resposta em nível de conversa em tempo real
  • Nos modelos com prioridade em precisão, a ByteShape alcançou taxa de erro até 1,87x menor que a Unsloth, com erro relativo de 1,1% a 1,3% (cerca de 98,8% de precisão)
    • No mesmo ambiente, mantém 5 a 6 TPS, sendo adequado para tarefas centradas em precisão
  • O modelo com prioridade em velocidade (Q3_K_S-3.25bpw [KQ-5]) também é menor e mais rápido que o da Unsloth, mantendo vantagem em precisão
  • Muitos modelos da Unsloth e da MagicQuant não conseguem rodar no ambiente Pi por restrições de memória

Desempenho no Intel i7 (64GB)

  • Em um ambiente onde todos os modelos cabem na memória, a ByteShape alcança qualidade e TPS superiores aos de Unsloth e MagicQuant
  • Faixa focada em qualidade: o modelo IQ4_XS-4.67bpw [KQ-9] da ByteShape obteve taxa de erro 1,44x menor e TPS mais alto do que o Q6_K da Unsloth
  • Faixa de equilíbrio: o modelo Q3_K_S-3.25bpw da ByteShape teve taxa de erro 1,73x menor que a da Unsloth e superou a MagicQuant em precisão e velocidade
  • Só a ByteShape cobre ao mesmo tempo a faixa de 26+ TPS e a faixa de alta qualidade

Comparação de desempenho em GPU (RTX 5090 / RTX 4080)

  • Em GPU, a seleção de kernel e a eficiência de acesso à VRAM determinam o desempenho
    • Perto de 4 bits (~4bpw) foi confirmado como o sweet spot de TPS e qualidade
  • RTX 5090 (32GB)
    • Unsloth, MagicQuant e ByteShape ficam todos na faixa de 302 a 303 TPS e 98,4% a 98,9% de precisão na região 4b
    • O modelo IQ4_XS-4.67bpw da ByteShape alcançou a melhor precisão, com 272,98 TPS e 99,75% de precisão
    • Fica à frente do Unsloth Q6_K (6,57bpw, 264,88 TPS, 99,64%) e do MagicQuant mxfp4 (5,46bpw, 240,42 TPS, 99,32%)
  • RTX 4080 (16GB)
    • Por restrição de VRAM, modelos 4b não são viáveis, e nas mesmas condições de 16GB a ByteShape supera a Unsloth em TPS e precisão
    • ByteShape IQ4_XS-3.87bpw: 214,81 TPS, 98,66% de precisão
      • Em relação ao Unsloth Q3_K_XL, tem taxa de erro 1,59x menor e TPS 9,4% maior
      • Em relação ao Unsloth IQ2_M, tem taxa de erro 2,54x menor

O paradoxo entre número de bits e velocidade

  • Reduzir para 3 bits ou menos não garante ganho de velocidade
    • GPUs operam em warps de 32 threads e são otimizadas para formatos de dados e padrões de acesso específicos
    • A VRAM é lida em blocos alinhados de 32 bytes, então dados menores ainda consomem a mesma largura de banda
    • Uma largura de bits menor pode até deixar o processo mais lento por causa do aumento do overhead de decodificação
  • Exemplo: na RTX 5090, iq4_xs leva 54µs e iq3_xxs leva 62µs → redução de 25% no tamanho resulta em queda de 13% na velocidade
  • O ShapeLearn leva essas características de hardware em conta para selecionar o tipo de dado de cada tensor, garantindo velocidade e precisão ao mesmo tempo

Método de avaliação e conclusão

  • Todos os modelos foram medidos com o mesmo harness de avaliação em TPS e pontuação de qualidade normalizada (em relação ao BF16)
    • A avaliação de qualidade integra resultados de MMLU, GSM8K, IFEval, LiveCodeBench V4
  • Principais conclusões:
    • “Trate a memória não como objetivo, mas como restrição.”
    • Quando o modelo cabe no dispositivo, o que importa depois é a curva de equilíbrio entre TPS e qualidade
    • A ByteShape, em todos os dispositivos, é mais rápida na mesma qualidade ou oferece qualidade maior na mesma velocidade
  • No Raspberry Pi 5, o modelo Q3_K_S-2.70bpw [KQ-2] é adequado para conversas em tempo real
  • O mesmo princípio vale em ambientes de CPU e GPU maiores: “primeiro faça caber, depois otimize.”
  • A ByteShape planeja continuar divulgando mais modelos otimizados para dispositivos específicos

1 comentários

 
GN⁺ 2026-01-07
Comentários do Hacker News
  • Acho que há uma grande oportunidade de mercado aqui
    O que eu quero é um assistente de voz tipo Alexa, mas com um sistema baseado em inferência e armazenamento locais, com componentes padronizados

    • Dispositivo conversacional: algo no estilo Alexa/Google/Apple com bons alto-falantes e controle por voz, ou um dispositivo de entrada para a TV. Seria ótimo se também funcionasse como extensor de Wi‑Fi ou roteador. Eu gostaria de ter um em cada cômodo para criar uma rede mesh de verdade
    • Servidor cloud doméstico: um dispositivo com CPU barata, um pouco de RAM e armazenamento suficiente, que fosse o nó central para gerenciar os apps da casa e os backups da rede
    • Motor de inferência: seria bom se anunciasse serviços de forma padronizada e se o nó de controle se conectasse automaticamente. Quero um ambiente plug and play que simplesmente funcione ao ligar
      O ponto principal é privacidade e interoperabilidade. Se precisar criar conta ou se conectar a servidores externos, eu não compraria. Quero processar localmente comandos como “Freddy, configure um timer de 10 minutos”
    • Ainda não existe um produto totalmente plug and play, mas tive resultados bem bons com o Home Assistant e sua Voice Preview Edition
      A estrutura é ter vários dispositivos baratos com Wi‑Fi + microfone + alto-falante espalhados pela casa, enquanto o processamento de voz roda em uma máquina central mais potente
      No fim, isso funciona como um único programa, então se você adicionar uma placa Wi‑Fi a uma máquina um pouco mais poderosa, ela também pode atuar como extensor de Wi‑Fi
    • Também me identifico com essa ideia. Estou tendo dificuldade para fazer a integração de voz com o ChatGPT ficar fluida no Home Assistant (HA)
      Também não gosto do conceito de wake word. Ainda sinto que há muita coisa para melhorar em toda a stack
    • E acho que seria divertido aplicar esse tipo de sistema também em brinquedos
  • Queria saber se existe algum bom material para comparar vários modelos com facilidade
    Eu sei a diferença no número de parâmetros entre gpt-oss-20b e gpt-oss-120b, mas não entendo bem a diferença de desempenho real
    Só usei modelos grandes como Gemini e GPT, então queria saber até que ponto modelos menores ainda seriam úteis no meu hardware

  • Fui procurar para ver o que significa desempenho em “tempo real” nesse caso
    Dizem que, no Pi 5 (16GB), o modelo Q3_K_S-2.70bpw [KQ-2] registra 8.03 TPS e mantém 94.18% da qualidade do BF16
    O artigo também cobre outros detalhes de hardware

    • Acho que seria bom ter uma página de resumo do Hacker News que mostrasse só esses números principais
  • Também testei no Pi 5 (16GB) com a versão mais recente do llama.cpp e ocorreu um segmentation fault (segfault)
    Apareceu uma mensagem de erro de falta de memória e o processo encerrou depois de usar cerca de 10GB de RAM
    Quando reduzi o tamanho de contexto com a opção -c 4096, o carregamento funcionou

    • Talvez valha a pena testar também modelos com quantização de 4 bits do illama ou do ik_llama.cpp, ou ainda o Microsoft BitNet
      Um modelo como BitNet b1.58-2B-4T-gguf parece bom para comparações em dispositivos modestos ou PCs de escritório com apenas iGPU
    • Talvez eles também tenham adicionado memória swap
  • Fico curioso se a forma de medir precisão é diferente da perplexity usual
    Parece estranho cair de BF16 para 2.8 e a perda de qualidade ser de apenas 5%

  • O GPT-OSS-20B tem cerca de 11.2GB, então deve rodar tranquilamente em um equipamento com 16GB de memória sem perda de qualidade