Все новости

Созданный нейросетью алгоритм впервые включили в библиотеку языка C++

Научная команда Deepmind уже много лет лидирует в разработке систем искусственного интеллекта

ТАСС, 7 июня. Специалисты британской компании Deepmind применили созданную ими систему ИИ AlphaZero для создания рекордно быстрого алгоритма сортировки, который был официально включен в библиотеку языка C++, используемую популярным набором компиляторов LLVM. Выводы ученых и описание алгоритма были опубликованы в статье в журнале Nature.

"Сортировка и другие фундаментальные алгоритмы используются триллионы раз каждый день. Нам удалось показать, что системы ИИ способны самостоятельно разрабатывать более совершенные версии подобных алгоритмов, чем те, которые удалось создать людям за многие десятилетия работы и оптимизации. Это удалось сделать благодаря преобразованию этой задачи в аналог однопользовательской компьютерной игры", - пишут исследователи.

Научная команда Deepmind уже много лет лидирует в разработке систем искусственного интеллекта. За последние пять лет им удалось создать нейросети, способные играть на гроссмейстерском уровне в различные компьютерные и настольные игры. Недавно ученые приспособили разработанную ими нейросеть AlphaFold2 для решения гораздо более сложной задачи, определения трехмерной формы белков, а также они создали совместно с математиками еще одну нейросеть, способную искать доказательства к теоремам.

Группа ученых под руководством сооснователя Deepmind Дэвида Сильвера нашла неожиданное применение для одного из первых созданных ими нейросетевых алгоритмов, системы ИИ AlphaZero. Она была создана учеными для игры в шахматы, го, Starcraft, Quake III Arena и другие популярные игры, в которых она значительно превзошла человека и другие алгоритмы.

Нейросетевая оптимизация алгоритмов

Во всех этих случаях AlphaZero самостоятельно осваивает наборы правил, характерные для этих игр, и постепенно учится принимать все более оптимальные решения, которые ведут к выигрышу. Сильвер и его коллеги заинтересовались, можно ли заставить AlphaZero таким же образом оптимизировать компьютерные алгоритмы, которые также составляются по определенным наборам правил, принятым в языках программирования.

Руководствуясь этой идеей, ученые разработали своеобразную компьютерную игру AlphaDev, в рамках которой ее участник, роль которого играет нейросеть, должен шаг за шагом добавлять новые инструкции к программе, подобно игре в тетрис. После каждого такого хода игра проверяет корректность работы составляемого алгоритма, а также замеряет скорость его работы. При правильной и быстрой работе программы игра поощряет игрока, что стимулирует нейросеть создавать все более быстрые алгоритмы.

Работу этой системы ученые проверили на одной из самых сложных и фундаментальных задач программирования - на разработке алгоритмов быстрой сортировки чисел. Существующие для этого подходы почти не менялись в последние десятилетия из-за их высокой оптимизированности, однако нейросети за очень короткое время, порядка нескольких часов, удалось создать новые варианты, которые оказались на 4-13% быстрее самых быстрых существующих алгоритмов.

Как отмечают Сильвер и его коллеги, эти варианты алгоритмов сортировки недавно были включены в официальную библиотеку языка C++, которая используется в рамках популярного набора компиляторов LLVM. Аналогичным образом, как считают ученые, можно ускорить работу других алгоритмов, которые постоянно используются всеми компьютерами Земли в их повседневной работе.