LLMs nativos são onde posso usá-los para a maioria das minhas tarefas de codificação, mas há algumas ressalvas ao mudar para modelos maiores. Se você tem memória unificada, como em um Mac, você está certo, mas eu executei modelos Nvidia RTX 5090 e notei que o padrão piorou com o tempo.
Sim, a GPU de consumo mais rápida que o dinheiro pode comprar agora está se tornando um peso de papel quanto mais converso com meu LLM local. Achei que fosse o modelo ou o servidor porque estava usando Qwen 3.6 27B em Q4_K_M quant dentro do LM Studio, mas tentei outros modelos menores e vLLM e os mesmos padrões apareceram. Fiz algumas contas com os guardanapos e percebi que o comprimento do contexto era o culpado, mas não era, e os verdadeiros motivos eram muito mais interessantes.
Experimentei o novo DiffusionGemma do Google e observá-lo gerar texto como imagem é diferente de qualquer LLM nativo.
O Google lançou recentemente o DiffusionGemma, e é estranho da melhor maneira.
A resposta óbvia estava errada
Cálculos normais de uso de VRAM não se aplicam ao Qwen 3.6
No papel, o RTX 5090 é uma fera de conclusão nativa dos sonhos. Memória GDDR7 de 32 GB com alta largura de banda para fornecer dados aos núcleos CUDA. LM Studio diz que o Qwen 3.6 27B Q4 corresponde quantitativamente às capacidades e tem um bom desempenho quando isso acontece. Mas com o tempo, as respostas mudam, a geração de tokens fica mais lenta e degradada mesmo quando não estou usando o chat ativamente.
A primeira reação instintiva é culpar o modelo, mas ele não mudou desde que foi treinado anteriormente e você não o treina executando-o localmente. Ou os dias em que pude trabalhar pioraram a situação, mas isso também não está certo. Mas comprimento do contextoque o LM Studio atingiu o máximo de 262.144 chips causou todo o dano.
Coisas óbvias não são realmente óbvias
O problema é o seguinte: até a matemática do guardanapo estava errada ao diagnosticar esses problemas. Cache KV deve chegar a 64GB no contexto de 256K, o dobro de VRAM RTX 5090. Trabalho concluído, esse modelo não é bom. Exceto que Qwen 3.6 27B não é um transformador padrão; ele é construído em uma arquitetura híbrida onde apenas 16 das 64 camadas utilizam atenção total. As outras camadas são independentes de contexto, oferecendo 16 GB de uso de VRAM em um contexto completo de 256 K.
Porém, isso não é suficiente para livrá-lo do uso de toda a VRAM, já que o LLM não é a única coisa que precisa de memória. Você precisa adicionar 16,8 GB de pesos e, em seguida, adicionar a sobrecarga para o Windows 11, o navegador, o codificador de visão e o buffer CUDA. Agora você terminou 32GBe isso afetará tudo.
|
A duração do contexto |
Cache KV (fp16) |
+ Escalas de 16,8 GB |
32 GB está bom? |
|---|---|---|---|
|
262K (configuração) |
~ 16 GB |
~33GB + custos indiretos |
Não – um pouco mais → vazamentos |
|
128 mil |
~8GB |
~25 GB |
Sim |
|
64 mil |
~ 4 GB |
~21GB |
Sim, fácil |
|
32K |
~2GB |
~ 19 GB |
Sim, muito espaço |
Essa é uma breve explicação de por que meu LLM local parece mais burro. Com as configurações padrão do LM Studio, ele tem dificuldades e precisa descarregar peças para a CPU. “Um pouco acima” significa “ajuda demais” para processar prompts, consultas e retornar resultados, e faz com que seu LLM capaz se comporte como um brinquedo de criança.
Uma coisa faz seu LLM local parecer “estúpido”
Quando a janela de contexto fica cheia, a conversa perde seu histórico
É importante entender o que está acontecendo nos bastidores enquanto você conversa com um LLM local. Cada etapa da conversa realimenta o histórico no modelo para obter contexto e revelar novos insights. Isso significa mais fichas por turno e mais instruções para ele ler antes de poder usar as fichas para responder.
Isso cria uma peculiaridade no comportamento dos modelos de transformadores. Eles são significativamente piores em lembrar informações no meio de uma longa janela de contexto, preferindo ler o início e o fim e seguir em frente. Se você conversar com o LLM local por tempo suficiente, ele começará a descartar os prompts mais antigos e a esquecer o prompt original.
A configuração que você pensava ser sabedoria, a janela de contexto de 256K, está começando a se transformar em um calcanhar de Aquiles. Acrescente o fato de que o Qwen 3.6 tem um modelo de raciocínio com uma pegada de pensamento oculta, e você rapidamente esgota essa janela de contexto e degrada sua experiência, não o modelo.
O modelo não muda; o andaime ao redor está desabando
Devemos esclarecer uma coisa. O modelo não muda por um momento. Os pesos são congelados após a conclusão; não é aprender mais, não pode adquirir maus hábitos e não, você não piora as coisas. No entanto, todas as outras peças do quebra-cabeça relacionadas a este modelo são justas, e o contexto, a pressão da memória e as térmicas contribuem para o desempenho do LLM em níveis abaixo do ideal.
Deve-se mencionar que o LLM da nuvem limite também possui as mesmas limitações. Longos problemas de entrada e atenção fazem com que os melhores LLMs percam o fio da meada com o tempo, e as empresas estão em uma batalha constante para encontrar soluções que não quebrem as ferramentas.
Finalmente encontrei um LLM local que realmente quero usar para codificação
O Qwen3-Coder-Next é um ótimo modelo e fica ainda melhor com Claude Code como arnês.
A desaceleração se deve a outra configuração
Cuidado com o cache KV
Quanto mais aprendo sobre o LLM, mais percebo que não sei de nada, e a enorme quantidade de configurações necessárias para fazê-lo funcionar bem é algo que eu não sabia. O cache KV é essencial, mas é predeterminado pelo comprimento do contexto definido, independentemente de você usar a janela de contexto inteira.
Esses custos ocultos de memória podem ser suficientes para inundar a VRAM. Curiosamente, o fato de estar usando uma GPU Nvidia no Windows é parte do problema, pois o driver falha quando a VRAM fica cheia. Em vez disso, ele descarrega silenciosamente uma parte extra da RAM do sistema por meio do barramento PCIe, deixando todo o computador lento.
O novo chat corrige muitas coisas
Quer se trate de um longo bate-papo único ou de bate-papos menores ao longo de uma semana, o espaço livre de VRAM começa a desaparecer. Quando desaparece, volta para a memória do sistema e a desaceleração ocorre mais rapidamente do que antes. Abrir um novo chat, recarregar o modelo ou até mesmo reiniciar o LM Studio confunde as coisas novamente, dizendo que o cache estava cheio e não foi limpo.
Sim, como acontece com muitos problemas de computação, a solução é simples “você desligou e ligou novamente”. É engraçado que tal atividade física ajude a IA, mas aqui estamos. Um novo bate-papo redefine o mudo e recarregar o modelo remove a lentidão.
Meu LLM local era apenas uma caixa de bate-papo até que o agente Hermes permitiu que ele executasse scripts, arquivos e trabalhos para mim.
O Agente Hermes é um ótimo complemento para meu laboratório doméstico.
Seu LLM local não é realmente mais burro, é como você o usa
O declínio no desempenho dos LLMs locais ao longo do tempo deve-se ao trabalho conjunto de vários factores. Problemas de janela de contexto tornam os resultados menos úteis ao longo do tempo, enquanto problemas de memória e térmicos contribuem para lentidão. LLMs são ferramentas; eles não são tão misteriosos. Trate-os como qualquer outra ferramenta de computação e reinicie-os ocasionalmente e sua experiência será menos variável.







