2021-06-27 15:24:58
Biological structure and function emerge from scaling unsupervised learning to 250 million protein sequencesAlexander Rives, Joshua Meier, View ORCID ProfileTom Sercu, Siddharth Goyal, Zeming Lin, Jason Liu, Demi Guo, Myle Ott, C. Lawrence Zitnick, Jerry Ma, and Rob FergusСтатья: https://www.pnas.org/content/118/15/e2016239118
Модель: https://github.com/facebookresearch/esm
Чего мы всё про NLP, да про NLP, давайте про биологию. Там уже тоже как и в NLP пару лет назад происходит свой “ImageNet moment”, который я бы скорее назвал “BERT moment”, ибо как раз NLP сильнее на него повлиял. Да и DeepMind вот-вот уже обещает заопенсорсить свой AlphaFold2 (https://t.co/uP7uzgGMSf), так что самое время. Вот недавно в PNAS вышла статья по уже древнему препринту.
Идея классическая: давайте возьмём все белковые последовательности (для незнакомых с биологией, белки состоят из последовательности аминокислот, здесь их 20 стандартных и 5 нестандартных) и обучим языковую модель по типу BERT’а (энкодер трансформера, восстанавливающий замаскированные токены — конкретные аминокислоты, лосс обычный MLM). Прелесть такого обучения, что оно целиком self-supervised, то есть не требует никаких размеченных данных и выучивает закономерности, наблюдаемые в самих данных. И как полагается возьмём всего побольше — трансформер поглубже, датасет побольше.
Датасет это 250M последовательностей из UniParc (UniProt Archive содержит большинство опубликованных в мире последовательносей, https://www.uniprot.org/help/uniparc), которые суммарно состоят из 86B аминокислот (ну то есть как бы 86Гб текста). Из него набирают три разных датасета, 1) low-diversity UR100 (последовательности UniRef100 получены кластеризацией идентичных последовательностей из UniParc), 2) high-diversity sparse UR50/S (репрезентативные последовательности кластеров из UniRef50, который кластеризован по 50% sequence identity), и 3) high-diversity dense UR50/D (делается равномерная выборка по кластерам из UniRef50). Для оценки модели рандомно спрятаны 10% кластеров из UniRef50 и все последовательности этих кластеров не участвуют в обучении.
Моделей в итоге обучено несколько разных (6, 12, 34 слоя), и дополнительно самая глубокая (в 652.4М параметров) потом ещё оптимизирована по своим гиперпараметрам, она называется
ESM-1b.
Главный интерес в этом, выучит ли модель чисто из данных одиночных последовательностей (но зато в огромном количестве) какие-то полезные биологически релевантные фичи. И она выучивает!
Модель работает в режиме аналогичном BERT’у, на вход подаются последовательности аминокислот, где каждый токен — это отдельная аминокислота, на выходе получаются эмбеддинги этих аминокислот, которые можно использовать для разных задач. Ну и поскольку мы знаем, что рандомные эмбеддинги тоже неплохо работают, сравниваются эмбеддинги до обучения и после.
Структура пространства неплохо отражает биохимические свойства отдельных аминокислот — ароматические, гидрофобные, заряженные и т.п. образуют отдельные кластеры.
Можно получить эмбеддинги для целого белка — например, усреднив эмбеддинги всех аминокислот (хотя по идее
токен в модели вроде как тоже есть). Ортологичные (с общим происхождением у разных видов) группы белков при этом кластеризуются. По расстоянию в пространстве эмбеддингов также неплохо определяются дальние гомологи. Плюс для позиций, которые совпали бы после множественного выравнивания, эмбеддинги после обучения оказываются сильно более близкими. То есть модель неявно выучивает и что-то про выравнивание (в обучении никакого выравнивания не было, работа идёт на индивидуальных последовательностях).
Отдельный пул задач про предсказание вторичной (спирали, листы и т.п.) и третичной структуры (контактов между аминокислотами в цепочке белка). Проверяют это традиционными методами: выучивают линейные проекции фич или строят глубокую сетку поверх них, и далее решают задачи предсказания вторичной структуры (по восьми классам) или вероятность контакта для любых пар аминокислот. Неплохо работает, не хуже более классических альтернатив.
57 views12:24