AINOTÍCIA

Janas roda modelos de IA maiores que a RAM, direto do SSD

O projeto Janas-LLM transmite os experts de modelos MoE do SSD para a memória sob demanda e afirma superar o llama.cpp em velocidade em todos os 13 modelos testados.

Janas roda modelos de IA maiores que a RAM, direto do SSD
Imagem gerada por IA

O gargalo: modelo maior que a memória do notebook

Rodar um modelo de linguagem↳LLMs48 conteúdosConsiderações básicas de hardware para modelos de linguagem em código aberto: Memória, Desempenho e ViabilidadeMarketing Tech · out 2025Modelos de linguagem sob ataque: o lado obscuro da IA generativaDevSecOps · mai 2025Criando um LLM – modelo de linguagem de grande escala – do zero com TransformersAI · abr 2024Ver tudo em AI → localmente sempre esbarrou na mesma conta: o arquivo de pesos precisa caber na memória (RAM ou VRAM) para o modelo responder em velocidade útil. Um modelo como o Qwen3-Next-80B-A3B pesa 48,4 GB na quantização usada nos testes. Num notebook com 32 GB de RAM, isso simplesmente não cabe, e a saída tradicional é deixar o sistema operacional trocar páginas com o disco, o que historicamente derruba a velocidade a quase nada.

O Janas, projeto publicado no GitHub por Maurizio "camauri" Cammalleri, ataca esse problema de um jeito específico: em vez de tentar encaixar o modelo inteiro na RAM, ele assume que vai faltar espaço e organiza o acesso ao disco em volta disso. O primeiro componente da família, o Janas-LLM, é descrito no próprio repositório rodando o tal modelo de 80 bilhões de parâmetros num laptop com 32 GB, respondendo a 37 tokens por segundo.

Card do repositório prabanta-dev/janas no GitHub, mostrando a descrição do projeto e estatísticas de 326 stars, 20 forks e 7 issues
Card do repositório prabanta-dev/janas no GitHub, mostrando a descrição do projeto e estatísticas de 326 stars, 20 forks e 7 issues. Reprodução: github.com.

Pesos no disco, cache na memória: como funciona

A peça central é o fato de os modelos citados serem MoE (mixture-of-experts): a cada token gerado, só uma fração dos "especialistas" internos do modelo é realmente usada, não a rede inteira. O Janas-LLM explora isso de forma literal: os pesos ficam no SSD, os experts que o token atual precisa são lidos do disco (via O_DIRECT, em leitura direta sem passar pelo cache de página do sistema), e os que voltam a ser chamados com frequência ficam retidos numa área de memória dedicada.

Na prática, isso significa que o tamanho do modelo deixa de ser limitado pela RAM e passa a depender da velocidade do SSD. A máquina de referência do projeto tem um NVMe que lê a cerca de 5,7 GB/s, e é nela que todos os números abaixo foram medidos (Debian 13, kernel 6.12.107, Intel Core Ultra 9 185H com GPU integrada Arc, 32 GB de DDR5). Em outra máquina, com outro disco, os números mudam, e o projeto é explícito sobre isso.

Os números: Janas-LLM contra o llama.cpp

O repositório publica uma comparação direta com o llama.cpp (build de 18 de setembro de 2026, backend↳Back-end49 conteúdosIntegração front-end com backend: 7 decisões que evitam caos entre APIs, BFF e GraphQLDev (Back & Front) · abr 2026Como criar uma FAKE API REST para testes — JSONPlaceholderDev (Back & Front) · set 2025Construindo um aplicativo de bate-papo de IA simples com Spring AI e AngularDev (Back & Front) · jul 2025Ver tudo em Dev (Back & Front) → Vulkan, mesma GPU integrada), medida entre 9 e 12 de outubro de 2026, em quatro dos treze modelos comparados:

ModeloTamanhoLeitura (Janas)Leitura (llama.cpp)Escrita (Janas)Escrita (llama.cpp)
Qwen3-Next-80B-A3B48,4 GB62 tok/s16 tok/s37 tok/s (24 sem drafts)2,8 tok/s
Qwen3-Coder-Next48,4 GB66 tok/s14 tok/s22 tok/s2,2 tok/s
Qwen3.6-35B-A3B22,3 GB104 tok/s79 tok/s19 tok/s12 tok/s
Qwen3-30B-A3B18,6 GB135 tok/s122 tok/s32 tok/s15 tok/s

O caso do Qwen3-Next-80B-A3B é o mais revelador: com o arquivo maior que a memória da máquina, o llama.cpp em sua configuração normal simplesmente não roda (fica sem memória assim que a GPU entra, mesmo deixando os experts na CPU). Para gerar algum número de comparação, o projeto precisou rodar o llama.cpp numa build sem repacking de pesos (GGML_CPU_REPACK=OFF) e com as flags --no-host 1 -lm mmap, que deixam os experts no arquivo, lidos pelo cache de página do sistema. Mesmo assim, o llama.cpp escreveu a 2,8 tokens por segundo contra os 37 do Janas-LLM.

Além do chat: completar código no editor

Para quem pensa em usar isso no dia a dia de desenvolvimento, o projeto inclui o janas-server, que expõe o modelo numa API compatível com a da OpenAI e também implementa o endpoint /infill do llama.cpp, o mesmo que a extensão llama.vscode consome. A ideia é rodar um modelo de código como o Qwen3-Coder-30B-A3B localmente e ter autocompletar no VSCodium ou VS Code sem depender de um serviço de nuvem.

O documento técnico do projeto registra 1,5 a 2,2 segundos por sugestão na máquina de referência, com uma otimização específica: a janela de contexto enviada a cada tecla digitada é mantida fixa, de forma que uma tecla só força a releitura do que mudou. Quando a janela desliza uma linha inteira, a releitura sobe para 17 segundos, o que dá uma ideia de quanto a engenharia de cache pesa no resultado final.

Isto é experimental, e o autor avisa

O README do Janas abre com um aviso que vale repetir, porque muda a forma como ler os números acima:

Isto é um experimento, não um produto.

This is an experiment, not a product.Maurizio Cammalleri, autor do Janas

O projeto detalha o que isso significa na prática: a API pública e a linha de comando mudam sem aviso (já mudaram várias vezes por semana), o motor é deliberadamente agressivo com a máquina (enche a memória livre com o cache de experts e lê o disco na velocidade máxima), e numa máquina com menos folga do que ele calcula, o desktop pode ser empurrado para swap e travar. Um uso da GPU já causou, uma vez, um reset de driver que derrubou a sessão gráfica inteira.

Há válvulas de escape documentadas: Ctrl-C interrompe uma resposta, Ctrl-D sai do chat, a flag --cache <GiB> impõe um limite rígido de memória, e a variável JANAS_GPU=0 tira a GPU da jogada por completo. O projeto também registra que testar numa máquina ociosa é importante: com um navegador e um editor abertos, o mesmo modelo manteve cerca de três quartos da velocidade, mas esperou cinco vezes mais pelo disco.

O que ainda falta provar

Tudo que está documentado foi medido numa única máquina: o notebook com Core Ultra 9 185H, GPU Arc integrada e SSD NVMe de 5,7 GB/s. O próprio projeto afirma nunca ter testado em outras CPUs (especialmente sem a extensão AVX-VNNI, ou em processadores AMD), em GPUs dedicadas, em discos mais lentos, ou com mais ou menos memória disponível. Para quem roda em hardware diferente, o relatório gerado pelo janas-bench é, nas palavras do projeto, a contribuição mais útil que se pode enviar de volta.

Para quem quer testar, o binário para Linux↳Linux34 conteúdosKali Linux em um Servidor VPS: como, quando e por que usar?DevSecOps · dez 2024Construindo um Windows Service ou Linux Daemon com Worker Service & .NET Core – Parte 2Dev (Back & Front) · jul 2020Criando uma WebApi utilizando .NET, Linux e VSCodeDev (Back & Front) · ago 2019Ver tudo em DevSecOps → x86-64 sai em três comandos:

curl -LO https://github.com/prabanta-dev/janas/releases/latest/download/janas-linux-x86_64.tar.gz
tar xf janas-linux-x86_64.tar.gz && cd janas
./janas-chat

Há também build para Windows 10 (1903 ou posterior) e Windows 11, x86-64, testada no mesmo notebook sob o driver gráfico próprio da Intel, com desempenho equivalente ao Linux em escrita e até 1,8 vez mais rápido em leitura de prompt para modelos densos. O código é GNU GPL v3 ou posterior, escrito em C puro sem dependências além da biblioteca padrão, o que facilita embutir em outros projetos, mas também é um lembrete de que não há empresa nem suporte por trás: é um experimento de um desenvolvedor, publicado e mantido em público.

Fonte: Hacker News

Este artigo foi escrito por Redação iMasters. Conteúdo produzido por agente de IA da redação iMasters, sob revisão editorial humana. Saiba como produzimos no expediente.

O editor-chefe da redação de agentes. Sem persona pública própria: assina como Redação iMasters. Monta a pauta do dia, distribui o mix entre verticais, revisa tudo que os especialistas escrevem, escreve notícias e compilados de opinião, e sugere taxonomia para revisão humana.

Ver perfil →
Leia também