Qwen 3.8 27B no meu laptop também pode interpretar pesos de modelo
Qwen 3.8 27B no meu laptop também pode interpretar pesos de modelo
3 de novembro de 2026
O artigo quente de ontem foi Sparks of Weight-Space Programming: LLMs podem ler e escrever pesos de redes neurais nativamente, de Rikiya Takehi, Jayden Teoh, Alex Zhang e Omar Khattab. O artigo descobriu que os modelos de fronteira, em particular o GPT-6 Astra, podem interpretar e modificar os pesos brutos de um modelo de aprendizado de máquina – literalmente uma descrição de texto do modelo contendo um monte de números de ponto flutuante. Estou brincando com um dos exemplos do artigo e tenho o prazer de compartilhar que o Qwen 3.8 27B rodando no meu laptop também pode fazer isso!
Programação Peso-Espaço
Aqui está o destaque de seu resumo, descrevendo capacidades impressionantes do GPT-6 Astra e cunhando o termo Programação Peso-Espaço para quando os LLMs analisam e modificam os pesos do modelo:
Só de olhar para os pesos brutos, o GPT-6 Astra pode dizer o que uma rede foi treinada para fazer. E sem qualquer feedback ambiental, não tem problemas em escrever, do zero, pequenas redes de jogos que superam as redes treinadas com PPO em 100 milhões de passos.
Da mesma forma, solicitado a tornar Qwen3.5-0.8B melhor em matemática sem gradientes, Astra identifica um problema em seus pesos causando loops de raciocínio sobre os quais o próprio cartão modelo de Qwen alerta, e corrige isso editando nativamente 0,016% dos pesos. Com as mesmas configurações de amostragem, essa correção de peso aumenta o MATH-500 de 7,9% para 48,1% e generaliza imediatamente para o seguimento de instruções, aumentando o IFEval em 3x.
Tudo isso é possível sem permitir que o Astra escreva loops de treinamento. Ele usa seu raciocínio para descobrir o que cada parte de uma rede neural calcula, ou deveria calcular, e altera os pesos de acordo. Chamamos isso Programação Peso-Espaço.
O artigo combina dois tópicos que penso que merecem ser tratados separadamente. A primeira é o que os modelos podem fazer com pesos brutos sem executando ferramentas ou executando código. A segunda explora até que ponto os modelos, uma vez munidos de código, podem executar operações para atualizar e melhorar outros modelos.
O autor do spaCy, Matthew Honnibal, chamou o artigo de enganoso por combinar os dois, e Sean Goedecke desconstruiu o exemplo de atualização Qwen3.5-0.8B seguindo as mesmas etapas que um pesquisador humano de ML usaria.
Vou me concentrar na questão da ausência de ferramentas, que considero a mais interessante das duas.
O artigo enquadra isso como Os LLMs podem entender o comportamento do modelo a partir dos pesos? Eles treinaram quatro redes neurais para jogar versões simplificadas de grade 10×10 de quatro jogos clássicos de computador – Breakout, Pong, Pac-Man e Freeway (tive que pesquisar esse, é um jogo do Atari 2600 de 1981). Em seguida, eles alimentaram esses pesos (como números de ponto flutuante) em um LLM junto com a seguinte pergunta:
The weights below belong to one policy network that was trained with reinforcement learning to play a game on this grid. Which game was it trained on? Work from the weights. You have no tools: no code execution, no calculator, nothing to run. This is a single response.
O repositório GitHub que acompanha o artigo é RikiyaT/lm_understand-logs. A pasta exp1_ Which_game contém os prompts usados, com pesos para os quatro jogos:
Verifiquei e, além dos pesos, cada prompt é idêntico aos outros.
Experimentando com Qwen 3.8 27B e outros modelos
Os prompts no GitHub são independentes. Minha ferramenta LLM tem um -f/--fragment opção que pode ser passada a URL para um arquivo de texto para usar como prompt, o que significa que posso executar qualquer um dos itens acima assim:
llm -f https://raw.githubusercontent.com/RikiyaT/lm_understand-logs/refs/heads/main/exp1_which_game/runs/breakout/prompt.txt
-m openrouter/moonshotai/kimi-k3.1-pro
Este exemplo requer o plugin llm-openrouter instalado e executa o prompt Breakout no Kimi K3.1 Pro via OpenRouter. Aqui está o que recebi do Kimi K3.1 Pro, que adivinhou o Breakout após 9m 41s e 19.493 tokens de raciocínio.
Mas e quanto ao Qwen 3.8 27B? Esse ainda é meu modelo favorito para rodar em meu próprio laptop – tem apenas 17 GB (eu uso esta versão) e de alguma forma parece próximo dos principais modelos proprietários de 2025.
Ativei o LM Studio, certifiquei-me de que o Qwen 3.8 27B fosse carregado com uma janela de contexto longa (o contexto padrão 8192 falhou com erros), instalei o plugin llm-lmstudio e executei este comando:
LMSTUDIO_TIMEOUT=900
llm -f https://raw.githubusercontent.com/RikiyaT/lm_understand-logs/refs/heads/main/exp1_which_game/runs/pacman/prompt.txt
-m lmstudio/qwen/qwen3.8-27b
(Tive que aumentar o tempo limite usando uma variável de ambiente, consulte este problema.)
Após 46m 12s e 43.506 tokens de raciocínio, Qwen no meu laptop retornou uma resposta que terminou assim (aqui está o rastreamento de raciocínio):
Jogo: Um mundo de grade simplificado no estilo Pac-Man: um agente se move através de um labirinto fixo de 8×8 com blocos de parede central e de canto, objetos/fantasmas em movimento e alvos/pelotas de recompensa.
Descrição: O agente navega em um tabuleiro 8×8 semelhante a um labirinto fixo, usando dicas do agente atual/objeto em movimento/quadro anterior para se mover pelos corredores, coletar células-alvo de recompensa e evitar objetos ou perigos em movimento.
Confiança: 72%
Isto é impressionante. Eu tentei em dois dos outros jogos também. Identificou Pong (raciocínio) em 1h 4m 54s:
Pong – especificamente um jogo de raquete/bola tipo Pong, onde o agente controla uma raquete vertical no lado direito e deve mover-se para cima/para baixo para interceptar ou devolver uma bola/objeto de recompensa em movimento.
Descrição:
O agente move uma raquete do lado direito verticalmente para acertar ou pegar um alvo de recompensa semelhante a uma bola em movimento através do campo 8×8, enquanto um objeto/oponente em movimento do lado esquerdo e as bordas da parede definem a jogada; a recompensa é obtida ao interceptar/devolver/marcar a bola com sucesso, e errar ou não acertar é penalizado.
Confiança:
75%
E Breakout (raciocínio) em 52m 25s:
Jogo: Breakout, ou um jogo de remo/bola/tijolo tipo Arkanoid.
Descrição: O agente é uma raquete na linha inferior e se move para a esquerda/direita para manter a bola em jogo; a bola se move ao redor da grade superior, e os tijolos/alvos de recompensa nas linhas superiores dão recompensa quando atingidos, enquanto errar a bola/bater na parede inferior encerra o episódio ou dá penalidade.
Confiança: 88%
No momento em que escrevo foi ainda agitando-se no prompt da Freeway. Tenho expectativas menores quanto a esse, já que o jogo é menos clássico.
Os traços de raciocínio são divertidos de ler e quase incompreensíveis. Aqui está um exemplo:
E o agente canal0? Vemos algumas linhas grandes do canal0 perto da linha8 col7/8 e talvez na parte inferior? Vamos listar o canal0 grande: line436 input435 (row8 col7 ch0) -2.107,1.169,0.513…; linha441 entrada440 (linha8 col8 ch0) -0,376,0,010,1,564,3,855…; linha445 entrada444 (linha8 col8 ch4) 0,142,0,491…; linha382? entrada381 ch0? Espere linha382 entrada381: 381//5=76 (linha7 col6), ch1? 381%5=1? 76 * 5 = 380, 1 corr. Então não. Canal0 grande talvez apenas em row8 col7/8. Também na linha superior? linha44 entrada43 ch3, linha49 ch3. Canal0 grande talvez não muitos. A posição do agente pode estar próxima do canto inferior direito? Se o agente normalmente estiver no canto inferior direito?
Dito isto, espero que um ser humano suficientemente experiente, armado com um bloco de notas e um lápis, consiga chegar lá com bastante esforço.
É um artigo legal, mas alguns dos comentários mais amplos que vi sobre ele não parecem justificados. Não estou pronto para declarar que a era do código-fonte acabou e que nosso futuro envolve máquinas incompreensíveis editando seus próprios pesos de modelo de maneiras incompreensíveis.






