Sakana AI сделали опенсорсный аналог AlphaEvolve – ShinkaEvolve
Это фреймворк для оптимизации и разработки сложных алгоритмов и архитектур. И, так как Sakana везде пытаются применять идеи эволюции (см этот пост со списком их статей), здесь без этого тоже не обошлось. «Shinka» (進化) с японского и есть "эволюция".
Работает это как нечто среднее между обычным генетическим алгоритмом и LLM-ным поиском по дереву:
Оставшихся прогоняем через оценщика и лучших добавляем в архив. А дальше – все с начала. Кстати, в архиве есть «острова» (несколько независимых популяций). Если система совсем встает в тупик и разнообразие решений начинает падать – можно осуществить между ними миграцию. Интересный инженерный ход.
Тестировали в четырех разничных областях. Результаты занятные:
1. На задаче математической оптимизации всего за 150 сэмплов система вывела новое решение для задачи Circle Packing, превосходящее аналогичные подходы.
2. При проектировании ИИ-агента за ~75 поколений фреймворк "изобрел" трехчастную архитектуру, которая побила бейзлайн на AIME.
3. На задачках из спортивного программирования система добавила много полезных оптимизаций, и в итоге дотянула до уровня серебрянного медалиста.
4. И еще проверяли, насколько хорошо ShinkaEvolve сможет обучить другую LLM. Это самое интересное: примерно 30 поколений система билась с лоссом для MoE, и внезапно вывела функцию потерь, которая по эффективности превзошла многие популярные решения.
И главное: в отличие от AlphaEvolve воспользоваться фреймворком можно прямо сейчас и бесплатно. Код вот тут. Просто переписываете
Это фреймворк для оптимизации и разработки сложных алгоритмов и архитектур. И, так как Sakana везде пытаются применять идеи эволюции (см этот пост со списком их статей), здесь без этого тоже не обошлось. «Shinka» (進化) с японского и есть "эволюция".
Работает это как нечто среднее между обычным генетическим алгоритмом и LLM-ным поиском по дереву:
1. Система получает на вход Seed-программу и верификатор, который считает метрики качества (фитнес). На каждом шаге свежие полученные скрипты добавляются в единый архив (это наш "банк" родителей).
2. LLM тут выступает мутационным оператором: на каждом шаге из банка берутся один или два родителя, и модель предлагает какие-то изменения в их коде в одном из определенных режимов: diff-патч поверх родителя, полная перезапись, кроссовер (смешивание идей из двух программ). Кстати, LLM выбирается не всегда одна и та же: есть специальный многорукий бандит, который смотрит, кто чаще приносит улучшения на данном типе задач при приемлемой цене, и подстраивает приоритеты.
3. Полученных кандидатов прогоняют через верификатор, но сначала они проходят дополнительный фильтр novelty-rejection. Считаются эмбеддинги программы, проверяется похожесть на архив. Слишком похожие идеи отбраковываются ещё до рассчета метрик, это резко экономит время и деньги.
Оставшихся прогоняем через оценщика и лучших добавляем в архив. А дальше – все с начала. Кстати, в архиве есть «острова» (несколько независимых популяций). Если система совсем встает в тупик и разнообразие решений начинает падать – можно осуществить между ними миграцию. Интересный инженерный ход.
Тестировали в четырех разничных областях. Результаты занятные:
1. На задаче математической оптимизации всего за 150 сэмплов система вывела новое решение для задачи Circle Packing, превосходящее аналогичные подходы.
2. При проектировании ИИ-агента за ~75 поколений фреймворк "изобрел" трехчастную архитектуру, которая побила бейзлайн на AIME.
3. На задачках из спортивного программирования система добавила много полезных оптимизаций, и в итоге дотянула до уровня серебрянного медалиста.
4. И еще проверяли, насколько хорошо ShinkaEvolve сможет обучить другую LLM. Это самое интересное: примерно 30 поколений система билась с лоссом для MoE, и внезапно вывела функцию потерь, которая по эффективности превзошла многие популярные решения.
И главное: в отличие от AlphaEvolve воспользоваться фреймворком можно прямо сейчас и бесплатно. Код вот тут. Просто переписываете
evaluate.py
под вашу задачу, кладете initial.py
и запускаете shinka_launch variant=experiment_name
. Подробная инструкция тут.🔥93❤28👍9 9🤩7🤯3😁1🗿1
tgoop.com/data_secrets/7908
Create:
Last Update:
Last Update:
Sakana AI сделали опенсорсный аналог AlphaEvolve – ShinkaEvolve
Это фреймворк для оптимизации и разработки сложных алгоритмов и архитектур. И, так как Sakana везде пытаются применять идеи эволюции (см этот пост со списком их статей), здесь без этого тоже не обошлось. «Shinka» (進化) с японского и есть "эволюция".
Работает это как нечто среднее между обычным генетическим алгоритмом и LLM-ным поиском по дереву:
Оставшихся прогоняем через оценщика и лучших добавляем в архив. А дальше – все с начала. Кстати, в архиве есть «острова» (несколько независимых популяций). Если система совсем встает в тупик и разнообразие решений начинает падать – можно осуществить между ними миграцию. Интересный инженерный ход.
Тестировали в четырех разничных областях. Результаты занятные:
1. На задаче математической оптимизации всего за 150 сэмплов система вывела новое решение для задачи Circle Packing, превосходящее аналогичные подходы.
2. При проектировании ИИ-агента за ~75 поколений фреймворк "изобрел" трехчастную архитектуру, которая побила бейзлайн на AIME.
3. На задачках из спортивного программирования система добавила много полезных оптимизаций, и в итоге дотянула до уровня серебрянного медалиста.
4. И еще проверяли, насколько хорошо ShinkaEvolve сможет обучить другую LLM. Это самое интересное: примерно 30 поколений система билась с лоссом для MoE, и внезапно вывела функцию потерь, которая по эффективности превзошла многие популярные решения.
И главное: в отличие от AlphaEvolve воспользоваться фреймворком можно прямо сейчас и бесплатно. Код вот тут. Просто переписываете
Это фреймворк для оптимизации и разработки сложных алгоритмов и архитектур. И, так как Sakana везде пытаются применять идеи эволюции (см этот пост со списком их статей), здесь без этого тоже не обошлось. «Shinka» (進化) с японского и есть "эволюция".
Работает это как нечто среднее между обычным генетическим алгоритмом и LLM-ным поиском по дереву:
1. Система получает на вход Seed-программу и верификатор, который считает метрики качества (фитнес). На каждом шаге свежие полученные скрипты добавляются в единый архив (это наш "банк" родителей).
2. LLM тут выступает мутационным оператором: на каждом шаге из банка берутся один или два родителя, и модель предлагает какие-то изменения в их коде в одном из определенных режимов: diff-патч поверх родителя, полная перезапись, кроссовер (смешивание идей из двух программ). Кстати, LLM выбирается не всегда одна и та же: есть специальный многорукий бандит, который смотрит, кто чаще приносит улучшения на данном типе задач при приемлемой цене, и подстраивает приоритеты.
3. Полученных кандидатов прогоняют через верификатор, но сначала они проходят дополнительный фильтр novelty-rejection. Считаются эмбеддинги программы, проверяется похожесть на архив. Слишком похожие идеи отбраковываются ещё до рассчета метрик, это резко экономит время и деньги.
Оставшихся прогоняем через оценщика и лучших добавляем в архив. А дальше – все с начала. Кстати, в архиве есть «острова» (несколько независимых популяций). Если система совсем встает в тупик и разнообразие решений начинает падать – можно осуществить между ними миграцию. Интересный инженерный ход.
Тестировали в четырех разничных областях. Результаты занятные:
1. На задаче математической оптимизации всего за 150 сэмплов система вывела новое решение для задачи Circle Packing, превосходящее аналогичные подходы.
2. При проектировании ИИ-агента за ~75 поколений фреймворк "изобрел" трехчастную архитектуру, которая побила бейзлайн на AIME.
3. На задачках из спортивного программирования система добавила много полезных оптимизаций, и в итоге дотянула до уровня серебрянного медалиста.
4. И еще проверяли, насколько хорошо ShinkaEvolve сможет обучить другую LLM. Это самое интересное: примерно 30 поколений система билась с лоссом для MoE, и внезапно вывела функцию потерь, которая по эффективности превзошла многие популярные решения.
И главное: в отличие от AlphaEvolve воспользоваться фреймворком можно прямо сейчас и бесплатно. Код вот тут. Просто переписываете
evaluate.py
под вашу задачу, кладете initial.py
и запускаете shinka_launch variant=experiment_name
. Подробная инструкция тут.BY Data Secrets



Share with your friend now:
tgoop.com/data_secrets/7908