Como ensinar um modelo de IA a pintar aquarelas escrevendo código
Pesquisador treinou modelo de linguagem para gerar pinturas em aquarela através de código JavaScript, usando aprendizado por reforço guiado por preferências estéticas humanas
Um pesquisador treinou um modelo de linguagem para gerar aquarelas escrevendo código JavaScript que, ao ser executado, pinta a imagem. O treinamento usou aprendizado por reforço (técnica que recompensa ou penaliza o modelo conforme o resultado) guiado por preferências estéticas, combinando um juiz pareado que compara pinturas contra referências curadas à mão e o modelo HPSv3 (que prevê preferências humanas baseado em milhares de escolhas).

Em agosto, um vídeo de aquarelas pintadas por um modelo de linguagem viralizou com mais de 1,5 milhão de visualizações. A ideia original é de Surya Narreddi, que vem do design e das artes: em vez de gerar imagens diretamente, o modelo escreve cerca de 150 linhas de código JavaScript que, quando executadas, pintam a aquarela. O código usa a biblioteca p5.brush (uma extensão da plataforma p5.js, usada para criar arte interativa na web, que adiciona ferramentas de pintura que imitam pincéis reais), restrita a apenas dez métodos da biblioteca para forçar um estilo específico. Agora, um engenheiro publicou no blog da Hugging Face (plataforma onde desenvolvedores compartilham e baixam modelos de IA) uma reprodução completa e aberta do processo, com todos os artefatos disponíveis.
O diferencial técnico está no treinamento. O modelo aprende por aprendizado por reforço (RL, técnica em que o modelo recebe recompensas ou penalidades conforme o resultado de suas ações, em vez de aprender apenas com exemplos rotulados) guiado por preferências estéticas. A recompensa que orienta o aprendizado combina quatro elementos: uma porta de entrada que verifica se o código compila e não faz trapaças (peso 0,05), um incentivo suave para trechos de código mais longos (peso 0,05), um juiz pareado que compara cada pintura candidata contra quatro referências selecionadas de um conjunto curado à mão (peso 0,60) e o modelo HPSv3 (um modelo aberto de 7 bilhões de parâmetros treinado para prever preferências estéticas humanas com base em milhares de escolhas entre pares de imagens, peso 0,30). O juiz pareado é o Qwen3-VL-30B-A3B-Instruct (um modelo de visão multimodal, capaz de processar tanto texto quanto imagens), chamado através dos Inference Providers da Hugging Face, que avalia características como bordas suaves, aquarelas translúcidas e sangramentos naturais da tinta.
A questão central do projeto é se você consegue fazer aprendizado por reforço sobre gosto pessoal. A maior parte do trabalho recente com RL em modelos de linguagem usa recompensas verificáveis — problemas de matemática com resposta conhecida, código que passa em testes. Aqui não existe resposta correta. O conjunto de imagens curado à mão, avaliado um a um pelo autor, define o que é bonito. Quanto mais peso o juiz pareado carrega em relação ao HPSv3 (que representa a preferência média de muitas pessoas), mais a recompensa reflete o gosto individual do curador em vez da média geral, e mais difícil deveria ser para o modelo subir na métrica.
O autor treinou três execuções com pesos diferentes: judge-led (a mistura original, com juiz pareado a 0,60 e HPSv3 a 0,30), hps-led (ponto médio, com juiz a 0,30 e HPSv3 a 0,60) e hps-only (validação, sem juiz pareado, HPSv3 a 0,90). Todas aprenderam. O conjunto curado à mão conseguiu direcionar a política do modelo, pelo menos até onde as métricas e as pinturas finais mostram. O pipeline completo roda na Hugging Face de ponta a ponta: treinamento em Jobs (serviço de computação em nuvem da plataforma), o ambiente de RL e o modelo de avaliação como Spaces (aplicações hospedadas na plataforma que rodam código em containers), o juiz pareado através de Inference Providers (serviço que permite chamar modelos hospedados via API) e todos os artefatos no Hub (repositório central da Hugging Face onde ficam modelos, datasets e código), reunidos numa coleção pública.
As pinturas parecem soltas, imperfeitas, feitas à mão, num momento em que modelos de imagem produzem figuras perfeitas (estatisticamente médias). Esse contraste provavelmente explica parte da viralização. O projeto lembra os primeiros dias da arte com IA generativa — DeepDream em 2015, uma ferramenta de depuração que virou arte; Edmond de Belamy em 2018, feito com uma GAN (rede adversarial generativa, arquitetura em que dois modelos competem, um gerando imagens e outro tentando distingui-las de imagens reais); artistas como Mario Klingemann e Anna Ridler explorando o que as redes neurais podiam fazer. A diferença é o meio: o modelo não gera pixels, gera código que você pode ler, editar e rodar de novo, e a decisão por trás de cada pincelada fica visível.


