Разбор доступным языком конкурса по решению олимпиадных задач по математике с помощью нейросетейХочу объяснить доступным языком
победное решение с прошедшего недавно завершившегося соревнования на Kaggle
AI Mathematical Olympiad. Andrej Karpathy говорил, что если проводить параллели с работой мозга, то текущие LLM - это скорее быстрое интуитивное мышление, а вот медленное логическое мышление AI пока не умеет. И как раз решение математических задач - путь к медленному мышлению.
Победное решение смогло решить 29 задач из 50. Результат очень крутой. Сейчас расскажу как это решение устроено.
💎 Решение - это не одна нейросеть, а достаточно сложная система, построенная вокруг нейросети. Опять сошлюсь на Karpathy - LLM это как процессор в компьютере. В качестве нейросети-процессора взяли некую LLM DeepSeekMath-7B, созданную для решения математических задач. Нейросеть дообучили, чтобы она генерила решения в виде текстового ответа плюс код на питон (основано на работах
1 и
2).💎 Как используется базовая модель. Над моделью реализуется подход Chain of Thoughts. Сеть прогоняют на своих же ответах несколько раз. Т.е. подали на вход задачу, сеть сгенерировала текст ответа и код. Код запускается и его вывод добавляется к ответу (если выполнение выдало ошибку добавляется код ошибки). Ответ добавляется ко входу и все вместе опять подается в нейросеть.
💎 Как решение доводится до стабильного результата. Ответы LLM на один и тот же вопрос отличаются от раза к разу. Поэтому стабильный результат получается за счет того, что Chain of Thought запускается 48 раз и после этого выбирается самый частый ответ.
Решение очень круто описано, выложены модели и код. У меня родилась идея, что можно устроить ML тренировку - реализовать часть с Chain of Thoughts с нуля.
#tech