Хотел лучше понять, как работает RL на LLM. Поэтому я написал простой скрипт, чтобы научить Nanochat складывать 5-значные числа. Я был удивлён, как быстро он научился. Пока я не посмотрел на генерации модели и не понял, что она просто научилась всегда вызывать встроенный интерпретатор Python 😂. Код, который я написал, очень примитивный, минималистичный и неэффективный - я профессиональный подкастер, ладно? Но это может быть полезно, если вы просто хотите увидеть основы того, как работают REINFORCE или GRPO. Ссылка на gist ниже. В основном, это не так уж и сложно: генерируйте несколько траекторий на каждый запрос. Обновите свою модель, чтобы сделать более вероятным выбор всех токенов в успешных траекториях.