Шрифт:
Интервал:
Закладка:
Благодаря нейросетевым моделям удалось значительно продвинуться в решении задачи предсказания пространственной структуры белков [protein structure prediction] — одной из самых важных целей теоретической химии и биоинформатики. Информация о структуре белка используется в медицине (например, в фармацевтике) и биотехнологиях (например, при создании новых ферментов).
В ноябре 2020 г. в Nature вышла статья «Это изменит всё: ИИ DeepMind совершает гигантский скачок в решении [задачи предсказания] белковых структур» (‘It will change everything’: DeepMind’s AI makes gigantic leap in solving protein structures)[3006], написанная по результатам прошедших в августе того же года соревнований CASP14 (14th Community Wide Experiment on the Critical Assessment of Techniques for Protein Structure Prediction, 14-й общественный эксперимент по критической оценке методов прогнозирования структуры белка). Система AlphaFold, разработанная специалистами DeepMind, уже становилась победительницей предыдущих соревнований CASP двумя годами ранее, но в 2020 г. результаты новой версии системы оказались потрясающими. AlphaFold 2 практически достигла точности, соответствующей возможностям современных дорогостоящих лабораторных методов. «Это меняет правила игры», — говорит Андрей Лупас, биолог-эволюционист из Института биологии развития Общества Макса Планка в Тюбингене, который оценивал эффективность команд, участвовавших в CASP. AlphaFold уже помог ему найти структуру белка, над которой его лаборатория билась в течение десяти лет. «Это изменит медицину. Это изменит исследования. Это изменит биоинженерию. Это всё изменит», — добавляет Лупас.
После успеха AlphaFold 2 многие команды постарались на основе доступной информации создать собственную версию системы и получили неплохие результаты (здесь можно отметить, например, проект RoseTTAFold[3007]). А в июле 2021 г. авторы AlphaFold наконец опубликовали исходный код своей системы и статью с её детальным описанием: «Высокоточное предсказание структуры белка с помощью AlphaFold» (Highly accurate protein structure prediction with AlphaFold)[3008].
Первые результаты не заставили себя ждать. Когда в конце ноября 2021 г. Всемирная организация здравоохранения объявила о присвоении новому варианту SARS-CoV-2 под кодовым названием B.1.1.529 наименования Omicron, исследователь Колби Форд из Университета Северной Каролины применил AlphaFold 2 к последовательности аминокислот этого вируса и опубликовал полученные результаты в Сети. Форд поделился предсказанной AlphaFold 2 формой S-белка вируса, а также высказал соображения о том, что Omicron, по всей видимости, должен быть более устойчив ко многим имеющимся на данный момент вакцинам и лекарствам[3009], [3010]. После того как были получены лабораторные результаты исследования структуры белков вируса, выяснилось, что предсказания AlphaFold 2 были весьма точны: позиции центральных атомов в построенной модели отличались от реальных на совсем небольшие величины, приблизительно равные радиусу атома водорода[3011]. В конце июля 2022 г. DeepMind опубликовала огромную базу данных (AlphaFold Protein Structure Database, База данных структур белков AlphaFold), включающую в себя предсказанные AlphaFold 2 трёхмерные структуры около 200 миллионов белков (т. е. практически всех известных нам белков на планете)[3012].
В середине 2021 г. исследователи из Google рассказали в журнале Nature об успешном применении системы, основанной на обучении с подкреплением, для автоматической разработки новых интегральных схем. Новая система может менее чем за шесть часов спроектировать чип, на разработку которого у людей уходят месяцы, причём данный способ был с успехом опробован на практике при разработке нового TPU четвёртой версии от Google. По мнению создателей системы, достигнутый прогресс может серьёзно повлиять на весь полупроводниковый сектор[3013], позволив компаниям проводить крупномасштабные архитектурные исследования.
«Разработка лекарств, белков, квантовая химия, новые материалы — только подумайте, возможно, не за горами появление сверхпроводника, работающего при комнатной температуре, — говорит Демис Хассабис, глава DeepMind. — Я мечтал о таком с тех пор, как был ребёнком и читал книги по физике»[3014].
Генеративные модели создают новые молекулы, новые структуры композитных материалов[3015], проектируют инженерные конструкции[3016], верстают сайты[3017], придумывают дизайн промышленных изделий[3018] и интерьера помещений[3019], логотипы[3020] и даже новые архитектуры нейросетевых моделей[3021]. За последние годы исследователи Google опубликовали сразу несколько работ[3022], [3023], [3024], [3025], посвящённых этому направлению — обычно его называют AutoML (Automated machine learning, автоматическое машинное обучение).
Успехи нейросетевых моделей в области обработки естественного языка привели к тому, что исследователи попытались повторить эти успехи в смежной области — обработке языков программирования (Programming language processing, PLP). Практически для любой задачи из области NLP можно найти аналог в мире PLP. Например, задача машинного перевода соответствует задачам трансляции текста программы в псевдокод или машинный код, перевода текста программ с одного языка программирования на другой, а также декомпиляции. Задача генерации текста на естественном языке в мире PLP становится задачей генерации текста программы (например, автозавершение вводимого текста программы или даже генерация текста программы по его описанию на естественном языке). Сентимент-анализу соответствует поиск дефектов в программном коде (например, ошибок или уязвимостей) и так далее. Неудивительно, что в мире PLP сегодня господствуют родственники популярных NLP-моделей. Например, основанная на трансформерах модель PLBART[3026] приходится ближайшей родственницей модели BART[3027], модель CodeBERT[3028] основана на BERT, GPT-C[3029] — на GPT-2, code2vec[3030] отсылает нас к word2vec и так далее. В последние годы на основе подобных моделей появился целый ряд инструментов разработки, быстро завоевавших популярность, например Kite[3031], TabNine[3032] или Copilot[3033]. В начале февраля 2022 г. собственную модель для генерации кода, получившую название AlphaCode, представила и DeepMind. Модель справляется с решением задачек на сайте соревнований по спортивному программированию Codeforces на уровне, не уступающем средним программистам[3034]. Сегодня генеративные трансформерные модели, получая на вход текстовые описания, справляются с генерацией кода[3035], [3036] и даже с созданием несложных приложений[3037], а в задаче поиска дефектов и уязвимостей в коде они уже превосходят статические анализаторы кода, основанные на обширных наборах правил[3038], [3039], [3040].
В последнее время появилось и несколько открытых моделей, предназначенных для работы с программным кодом, например: InCoder[3041], CodeGen[3042], SantaCoder[3043], StarCoder[3044], Code Llama[3045], WizardCoder[3046] и Replit Code[3047].
Впрочем, не стоит предаваться чрезмерному оптимизму и думать, что с появлением таких моделей, как BERT, T5 или GPT-3, все творческие задачи в областях, где данные по своей структуре напоминают текст, уже решены или будут решены в ближайшее время. Точно так же не следует думать, что генеративно-состязательные сети в сочетании