top of page

Emulador NES da Qwen Compila a Lógica da CPU da Nintendo em Cerca de 1 GB de Pesos

há 2 horas
13 min de leitura

O projeto de emulador NES da Qwen, nesformer, empacota uma CPU da Nintendo em 933 MB de pesos de modelo compilados, segundo seu repositório. Suas demonstrações incluem Super Mario Bros., mas um software externo ainda desenha a tela e controla os controles. A distinção importa: trata-se de um experimento de computação programada dentro de uma arquitetura de modelo, e não de um chatbot aprendendo jogos da Nintendo.

O desenvolvedor Drew Breunig compartilhou o projeto no Hacker News, onde a manchete descrevia um Nintendo funcional em aproximadamente 1 GB de pesos da Qwen. O repositório faz uma afirmação mais restrita e mais interessante. Um compilador constrói a lógica do processador, e tokens gerados levam sua execução adiante. Os resultados publicados precisam de reprodução independente, mas o projeto fornece código e caminhos explícitos de verificação.

O ponto de referência é o Qwenputer, experimento anterior de Divyansh Agrawal que incorpora um processador na arquitetura da Qwen. Ambos os projetos colocam uma questão para desenvolvedores que criam sistemas de IA: quais operações pertencem à computação dentro do modelo e quais devem permanecer em software convencional? O Nesformer torna essa questão visível por meio de jogos conhecidos, ao mesmo tempo que documenta limitações consideráveis de velocidade e compatibilidade.

O emulador NES da Qwen executa uma CPU, enquanto um host completa o console

A afirmação central do Nesformer diz respeito à CPU da Nintendo e à sua memória, e não a todos os componentes de um console completo. Esse limite define tanto a conquista quanto suas limitações.

O projeto afirma colocar o núcleo do processador 6502 do NES dentro de um checkpoint de modelo compatível com Qwen, uma coleção salva de parâmetros do modelo. Ele também coloca a memória de trabalho e os dados do programa do cartucho no estado interno mutável do modelo.

A distinção entre parâmetros e estado importa. Os parâmetros especificam o comportamento da máquina; o estado armazena informações que mudam enquanto o jogo roda. Chamar tudo de “pesos” comprime essas responsabilidades distintas em uma manchete atraente.

Segundo o projeto da CPU compilada, o modelo gera tokens, símbolos discretos de saída, que representam o registro de execução do processador. Esses símbolos descrevem operações, e não texto conversacional comum.

Um programa host fornece o comportamento do console ao redor. Ele renderiza gráficos, processa entradas do controle e fornece eventos associados à temporização da tela. A entrada e a saída atravessam esse limite por meio do registro de execução.

Esse arranjo dá ao modelo um papel substancial sem colocar todo o sistema Nintendo dentro dele. Uma tela em movimento, por si só, esconderia essa divisão. A descrição da arquitetura no repositório torna essa divisão disponível para inspeção.

A implementação do processador cobre todos os 151 opcodes oficiais, as instruções codificadas que dizem ao processador qual operação executar. Ela inclui aritmética, ramificações, flags do processador e comportamento da pilha.

O arranjo de memória documentado inclui 2 KB de RAM de trabalho, memória que o jogo em execução pode alterar. Também inclui 32 KB de ROM de programa do cartucho, os dados de programa armazenados.

O programa do cartucho é carregado no estado quando a execução começa. Consequentemente, o projeto afirma que jogos compatíveis podem compartilhar os mesmos pesos compilados sem reconstruir o processador para cada título.

Essa é uma distinção significativa em relação a preparar uma animação separada para cada demonstração. O artefato pretendido é uma implementação reutilizável de processador com uma faixa de compatibilidade restrita.

O exemplo publicado de Super Mario Bros. apresenta uma cena reconhecível. Os jogos de teste incluídos oferecem um ponto de partida mais útil para verificação porque seus arquivos e informações de licença acompanham o projeto.

As ações do controle podem seguir um script que especifica quando pressionar botões. A sequência documentada de Mario inicia o jogo, move-se para a direita e pula em intervalos programados.

Isso não é evidência de que um agente de IA aprendeu a jogar Mario. É uma afirmação de que a lógica compilada do processador pode executar as instruções do jogo enquanto recebe entradas prescritas.

O papel da Nintendo aqui é o de alvo de hardware e referência de jogo. O repositório apresenta um experimento independente, e não um produto da Nintendo ou uma parceria anunciada com a Qwen.

Portanto, o lançamento muda o que os desenvolvedores podem inspecionar: uma implementação pública conecta parâmetros do modelo, comportamento do processador e saída visível do jogo. Sua importância repousa nessa conexão inspecionável.

A lógica compilada muda o que a demonstração diz sobre IA

O mecanismo importante é a construção deliberada: os pesos compilados do nesformer codificam o comportamento do processador sem treinar um modelo para descobri-lo.

O treinamento normalmente ajusta parâmetros usando exemplos e um processo de otimização. A compilação traduz um projeto especificado para outra representação executável. O repositório do Nesformer afirma que seu compilador calcula os parâmetros diretamente.

Isso torna o projeto diferente de pedir a um chatbot pré-treinado que imite um processador. O compilador fornece as regras, e a arquitetura do modelo fornece a estrutura matemática que as executa.

O resultado não deve ser interpretado como evidência de que um modelo conversacional Qwen compreende secretamente o hardware da Nintendo. Tampouco a demonstração estabelece que a geração de linguagem comum se tornou um substituto exato para software.

Em vez disso, ela explora se os mesmos blocos de construção arquitetônicos podem sustentar uma máquina digital deliberadamente especificada. Trata-se de uma questão sobre representação e execução, cujas implicações mais amplas ainda exigem experimentos.

O componente-chave é o Gated DeltaNet, um mecanismo de modelo que mantém uma matriz de memória interna mutável. O Nesformer usa esse estado para armazenar informações da máquina ao longo de tokens gerados sucessivamente.

Seu projeto atribui locais de memória a linhas dentro dessas matrizes. Leituras e atualizações cuidadosamente construídas permitem que registradores do processador, memória de trabalho e dados do cartucho ocupem esses locais.

Um registrador, uma pequena posição de armazenamento usada diretamente pelo processador, precisa reter um valor exato até que uma instrução o altere. Uma lembrança aproximada corromperia a execução.

O compilador também mapeia a decodificação de instruções e a aritmética para camadas do modelo. Um forward pass, o cálculo que produz a próxima saída, faz a máquina codificada avançar por seu registro de execução.

O projeto relata que a maioria das instruções exige um único token. Algumas precisam de registros mais longos, e sua média documentada para código de jogos varia de 1,1 a 1,3 tokens por instrução.

Essa relação conecta uma medida conhecida de desempenho de modelos a uma carga de trabalho de computação convencional. Gerar tokens mais rapidamente importa porque a sequência de tokens carrega a execução do processador, em vez de apenas descrevê-la posteriormente.

O Qwenputer forneceu a base técnica imediata. O relato de Agrawal sobre computação dentro do modelo, publicado em 22 de outubro de 2026, descreve a compilação da lógica do processador e o uso do estado interno como memória.

A comparação entre Qwenputer e nesformer, portanto, começa pela continuidade. O Nesformer reutiliza o compilador e a técnica de memória anteriores, depois mira o processador do NES e o conecta ao comportamento host específico do console.

Seus projetos ao redor diferem. Agrawal descreve a retenção dos pesos linguísticos originais da Qwen enquanto adiciona mecanismos de computação. O Nesformer publica um checkpoint menor, focado no processador, com um arranjo de camadas diferente.

Essa distinção evita uma conclusão enganosa sobre tamanho. O download do Nesformer não estabelece que um modelo conversacional Qwen completo, mais um Nintendo completo, caiba na dimensão indicada pela manchete.

Ele estabelece uma proposição mais delimitada: componentes arquitetônicos selecionados da Qwen podem hospedar um projeto de processador compilado. Se isso se tornará útil dentro de produtos gerais de IA continua sendo uma questão aberta de engenharia.

A execução convencional continua sendo a referência de utilidade

O Nesformer cria uma alternativa arquitetônica, mas seu desempenho publicado mantém o software convencional como o padrão prático para executar jogos.

A comparação imediata é entre executar instruções em código de emulador comum e expressar sua execução por meio de operações de modelo. Um resultado visível não resolve qual caminho é útil.

Um emulador, software que reproduz o comportamento de outra máquina, já tem uma função clara aqui. Ele precisa executar programas compatíveis com precisão e fornecer suas saídas a uma velocidade aceitável.

O Nesformer acrescenta outro objetivo: executar o processador por meio de uma representação de parâmetros compatível com modelos. Esse objetivo explica o experimento mesmo quando a execução convencional permanece mais eficiente.

O repositório relata aproximadamente 1.650 tokens por segundo para seu motor otimizado padrão em um único núcleo de processador. Ele relata aproximadamente 210 para seu motor numérico mais simples.

Seu caminho padrão do Transformers supostamente atinge aproximadamente 10 tokens por segundo. Transformers é a biblioteca de software de execução de modelos usada para carregar e executar o checkpoint publicado.

Esses números descrevem rotas de execução diferentes. Eles não devem ser reunidos em uma única afirmação sobre o desempenho de modelos padrão nem tratados como uma comparação controlada em hardware não especificado.

O motor padrão ignora blocos cujos parâmetros são zero. Isso importa porque a maior parte dos parâmetros do checkpoint é zero, tornando sua estrutura especialmente adequada para execução especializada.

O repositório também descreve ignorar loops ociosos repetidos quando eles não realizam gravações de memória ou de entrada e saída. Esses loops aguardam o próximo evento relevante de exibição.

Essa otimização reduz trabalho desnecessário, mas deve fazer parte de qualquer explicação dos números de velocidade. O host ajuda a evitar a repetição de cálculos que não mudariam o comportamento visível.

Mesmo com essas otimizações, o projeto relata uma operação de 150 a 290 vezes mais lenta que o console original. Sua estimativa para 600 quadros é de cerca de 25 minutos.

Esses 600 quadros representam 10 segundos de tempo do NES no exemplo documentado. Portanto, a demonstração trata de execução eventual, e não de uma substituição responsiva para jogar normalmente.

Isso coloca o ônus prático sobre os defensores da computação dentro de pesos de modelo. Eles precisam identificar benefícios que justifiquem o trabalho adicional de execução e a complexidade de integração.

Os benefícios potenciais exigem medição, e não suposições. Manter uma operação dentro da computação de um modelo é uma propriedade arquitetônica; isso não melhora automaticamente latência, confiabilidade ou usabilidade.

A pressão imediata recai sobre alegações de pesquisa e projeto de avaliação, e não sobre negócios existentes de emuladores. O Nesformer não fornece evidência de que emuladores convencionais enfrentem substituição.

Um desenvolvedor que considere mecanismos semelhantes deve comparar os caminhos completos. Carregar o estado, avançar a execução, lidar com entradas e ler saídas afetam o resultado vivenciado por um usuário.

A comparação entre Qwenputer e nesformer reforça essa necessidade de precisão. Diferentes alvos de processador, componentes ao redor e motores de execução impedem classificações simples baseadas no tamanho do checkpoint ou na taxa de processamento apresentada em manchetes.

Por enquanto, a rota convencional oferece tanto a alternativa prática quanto o comportamento de referência. O Nesformer merece atenção por tornar outra rota inspecionável, sem estabelecer que ela deva substituir a existente.

Os testes são mais informativos do que a animação de Mario

A evidência mais forte é a comparação em camadas do projeto com o comportamento de referência, embora os resultados publicados continuem sendo relatados pelos autores.

Uma animação de jogo estabelece que algo reconhecível apareceu. Ela não revela se as instruções foram executadas corretamente, se um sistema de referência forneceu correções ou qual software produziu cada quadro.

A documentação do Nesformer separa essas questões. Ela descreve verificações para o processador de referência, o circuito compilado, o checkpoint salvo e sequências de execução mais longas.

A distinção começa com a CPU de referência, a implementação convencional usada como resultado esperado. Uma referência falha poderia tornar saídas correspondentes menos significativas.

O repositório relata a comparação dessa referência com nestest, um teste de conformidade de processador com registros de execução esperados. Ele afirma que a referência corresponde a 3.348 instruções dentro do escopo suportado.

Também relata a comparação com py65, outro emulador de processador, em 5,7 milhões de instruções de código de jogo. Isso fornece uma verificação adicional da implementação de referência.

O circuito compilado então recebe suas próprias comparações. A documentação relata concordância em nestest e em 283.610 posições das sequências de inicialização de dois jogos.

Esses resultados abordam o comportamento do circuito especificado. Eles não estabelecem por si só que um modelo salvo produza resultados idênticos em todos os mecanismos de execução.

Por isso, o repositório relata uma verificação separada com Transformers padrão cobrindo 2.651 posições de nestest e Full Game. Ele relata nenhuma divergência nessa amostra.

O verificador de checkpoint padrão mostra como essa comparação funciona. Ele carrega o modelo, inicializa o estado da máquina e verifica as saídas previstas em relação a uma sequência de referência fornecida.

Esse método usa teacher forcing, que alimenta a saída anterior conhecida em cada etapa de comparação. Ele testa previsões locais sem estabelecer uma execução autônoma ininterrupta de duração equivalente.

A execução livre, por sua vez, alimenta o sistema com suas próprias saídas. Um erro pode alterar o estado posterior, portanto a concordância ao longo de uma sequência sustentada responde a uma questão de verificação diferente.

O projeto relata execução livre de Thwaite cobrindo 1.916.527 tokens e 600 quadros. Ele afirma que todos os 300 quadros salvos correspondem à saída de referência.

Para Full Game, relata 2.645.885 tokens e 420 quadros. Sua documentação diz que todos os 210 quadros salvos correspondem.

Essas contagens são alegações específicas de evidência, e não uma garantia universal. Elas se referem a jogos, sequências de entrada, caminhos de execução e durações particulares.

Os testes de verificação do processador expõem comparações automatizadas para a referência, o circuito, os mecanismos de execução e a otimização de loop ocioso. Sua disponibilidade torna possível a reprodução direcionada.

No entanto, ler testes é diferente de executá-los. Esta análise examinou a implementação e a documentação publicadas; ela não executou independentemente o checkpoint nem reproduziu o desempenho relatado.

A distinção deve sobreviver à recontagem. O projeto fornece mais evidências do que uma alegação social sem suporte, mas código público e concordância relatada pelos autores não equivalem a validação independente.

Para o emulador NES da Qwen, o próximo avanço crível é uma reprodução mais ampla com mecanismos de execução claramente identificados. Uma animação maior acrescentaria menos confiança do que um rastreamento correspondente documentado.

A manchete de 1GB esconde tanto o armazenamento esparso quanto o hardware ausente

O tamanho do checkpoint é real como uma pegada de arquivo relatada, mas não descreve um console completo nem a memória total em tempo de execução.

O repositório lista 466,6 milhões de parâmetros armazenados em bfloat16, um formato numérico que usa 16 bits por valor. Ele informa a pegada resultante dos parâmetros como 933 MB.

Apenas 9,3 milhões de parâmetros são não nulos, segundo a documentação. O projeto afirma que essa regularidade permite comprimir os pesos em um arquivo de 3,3 MB.

Essas são quantidades diferentes. Um download de arquivo, um arquivo de parâmetros expandido e a memória consumida por um processo em execução respondem a questões operacionais distintas.

A descrição aproximada de 1GB do artigo refere-se aos pesos expandidos. Ela não deve se tornar uma alegação de que a aplicação completa exige apenas essa quantidade de memória.

A estrutura esparsa também altera a interpretação de desempenho. Um mecanismo especializado que evita blocos de zeros realiza um trabalho diferente de uma implementação que processa todo o layout de parâmetros.

Isso não invalida a alegação sobre o checkpoint. Significa que compatibilidade, armazenamento e eficiência de execução exigem medições separadas, em vez de uma única manchete comprimida.

O limite do hardware impõe outra ressalva. A unidade de processamento de imagem, o componente do NES responsável pelo comportamento gráfico, permanece no software do host.

A unidade de processamento de áudio, o hardware de som do console, também está fora dos pesos. O repositório afirma que a implementação atual não produz som.

A fidelidade gráfica também tem limites. O host renderiza scanlines, linhas horizontais da imagem, e não reproduz efeitos que ocorrem no meio de uma linha.

A documentação também descreve comportamento aproximado para determinadas condições de status de sprites. Um sprite é um elemento de imagem controlado separadamente, usado para personagens e outros objetos em movimento.

O suporte a cartuchos é restrito a NROM, uma configuração simples de placa sem troca de bancos de programa. A troca de bancos altera qual parte de um programa de cartucho maior o processador pode acessar.

O design documentado do Nesformer usa uma tabela de programas fixa. Dar suporte a cartuchos mais complexos exigiria estado adicional e lógica de seleção de endereços, e não apenas um novo título em uma lista de compatibilidade.

As restrições de execução vão além do formato do cartucho. Instruções não oficiais sem suporte interrompem o sistema, e o código deve ser executado a partir da memória do cartucho, em vez da RAM de trabalho.

O projeto também lista comportamentos de interrupção ausentes, sinais que fazem o processador responder a eventos de hardware. Alguns eventos suportados funcionam, mas a cobertura documentada é incompleta.

Esses limites moldam o significado de “funcionando”. Um sistema pode executar corretamente determinados jogos dentro de um escopo definido e, ainda assim, permanecer inadequado para uma biblioteca mais ampla.

Eles também impedem a generalização dos testes relatados para todo o software da Nintendo. A concordância em instruções suportadas não preenche o comportamento de hardware que a implementação omite explicitamente.

Portanto, os pesos compilados do nesformer são melhor avaliados como um artefato de processador conectado a uma implementação parcial de console. Essa descrição preserva a contribuição incomum do projeto sem ampliar suas alegações de compatibilidade.

Para desenvolvedores, a pergunta cética útil é concreta: qual comportamento observado decorre da lógica de processador compilada e qual decorre das premissas do host? O repositório oferece aos revisores um mapa inicial.

Reprodução independente, compatibilidade mais ampla e velocidade de sistema completo vêm a seguir

A próxima evidência útil deve ampliar a confiança, a cobertura e a praticidade medida, nessa ordem. Esses sinais são mais informativos do que mais uma rodada de atenção.

Primeiro, observe a reprodução independente das comparações de rastreamentos publicadas. Um relato crível deve identificar o checkpoint, as entradas do jogo, o mecanismo de execução e o método de comparação.

Reproduzir o comportamento de Transformers padrão fortaleceria a alegação de que o artefato funciona por meio da interface de modelo anunciada. Comparações mais longas de execução livre testariam a concordância sustentada além de amostras curtas alimentadas por referência.

Uma divergência exigiria diagnóstico, e não descarte imediato. Comportamento numérico, inicialização de estado, diferenças entre mecanismos e recursos sem suporte são causas possíveis distintas, com implicações diferentes.

Segundo, observe melhorias de compatibilidade respaldadas por testes de conformidade. O suporte adicional a cartuchos seria significativo se a implementação documentasse seu comportamento de memória e validasse programas representativos.

Som e temporização gráfica mais precisa abordariam lacunas separadas. Os revisores devem distinguir entre mover mais hardware para os pesos e melhorar a implementação convencional do host.

Qualquer uma das mudanças pode melhorar a aplicação, mas apenas a primeira amplia o escopo da alegação de computação dentro dos pesos. Limites claros manterão as comparações futuras interpretáveis.

Terceiro, observe medições completas de desempenho em hardware especificado. Relatos úteis cobririam inicialização, execução, trabalho do host e o tempo necessário para produzir a sequência de jogo solicitada.

Um aumento de velocidade limitado a um cálculo selecionado fortaleceria uma alegação mais restrita. Uma execução completa mais rápida nos jogos suportados forneceria evidência mais forte de progresso prático.

A discussão de desenvolvedores de Breunig oferece outra perspectiva sobre a importância do projeto. Ele atribui à documentação de referência existente, a um compilador anterior e aos testes de conformidade um papel na descrição do desenvolvimento assistido por IA.

Comentaristas favoráveis enfatizaram o valor dessas verificações de referência. Participantes céticos questionaram a eficiência de traduzir código em operações de modelo, em vez de executar diretamente código convencional.

Nenhuma das reações resolve a questão de engenharia. Juntas, elas identificam o valor imediato do projeto: um experimento com saídas visíveis, limites explícitos e comportamento que outros desenvolvedores podem verificar.

Para engenheiros, isso também destaca o valor de manter uma base de conhecimento pesquisável contendo especificações, implementações de referência e evidências de teste. Esse material apoia tanto a revisão quanto a implementação.

Comece pelo caminho de verificação, e não pela animação, ao avaliar o emulador NES da Qwen. Compare o que o checkpoint calcula com o que o host fornece e, em seguida, examine os rastreamentos de execução relatados. Mantenha separados o tamanho do arquivo, a memória em tempo de execução e a velocidade completa da aplicação. Se acompanhar o projeto, procure execuções correspondentes independentes antes de tratar os resultados publicados como estabelecidos. Depois, observe se a compatibilidade se expande por meio de comportamento testado de processador e cartucho ou principalmente por mudanças no software ao redor. Essas distinções permitem que desenvolvedores apreciem o experimento enquanto tomam decisões sólidas sobre sua relevância. Qual próximo resultado mudaria mais sua avaliação: reprodução independente, cobertura de hardware mais ampla ou uma redução medida no tempo de execução completo?

 
 

Comece grátis

Um assistente de IA local-first com gestão de conhecimento pessoal

Para oferecer uma experiência de IA melhor,

atualmente, o remio é compatível apenas com Windows 10+ (x64) e M-Chip Macs.

Seu parceiro de IA no trabalho
Faça mais com o remio

Planeje. Crie. Entregue.
Tudo em um só lugar.

bottom of page