Queria ter melhores intuições sobre como o RL funciona em LLMs. Então escrevi um script simples para ensinar o Nanochat a somar números de 5 dígitos. Fiquei surpreso com a rapidez com que aprendeu. Até que olhei para as gerações do modelo e percebi que ele apenas aprendeu a chamar sempre o interpretador Python embutido 😂. O código que escrevi é muito básico, minimal e ineficiente - sou um podcaster profissional, está bem? Mas pode ser útil se você só quiser ver o básico de como o REINFORCE ou o GRPO funcionam. Link para o gist abaixo. Fundamentalmente, não é tão complicado: gere múltiplas trajetórias por prompt. Atualize seu modelo para torná-lo mais provável que amostre todos os tokens nas trajetórias bem-sucedidas.