Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Первые результаты не заставили себя ждать. Когда в конце ноября 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] .
3009
Ford C. T. (2021). Protein Structure Prediction of the new B.1.1.529 SARS-CoV-2 Spike Variant with AlphaFold2 / Colby T. Ford, PhD, Nov 27, 2021 // https://colbyford.medium.com/protein-structure-prediction-of-b-1-1-529-sars-cov-2-spike-variant-with-alphafold2-39c5bf9cf9ed
3010
Ford C. T., Machado D. J., Janies D. A. (2021). Predictions of the SARS-CoV-2 Omicron Variant (B.1.1.529) Spike Protein Receptor-Binding Domain Structure and Neutralizing Antibody Interactions // https://doi.org/10.1101/2021.12.03.471024
3011
Simonite T. (2022). This AI Software Nearly Predicted Omicron’s Tricky Structure / Wired, 01.10.2022 // https://www.wired.com/story/ai-software-nearly-predicted-omicrons-tricky-structure/
3012
Hassabis D. (2022). AlphaFold reveals the structure of the protein universe / DeepMind blog, July 28, 2022 // https://www.deepmind.com/blog/alphafold-reveals-the-structure-of-the-protein-universe
В
3013
Jiang J. W., Songhori E., Wang S., Lee Y.-J., Johnson E., Pathak O., Nazi A., Pak J., Tong A., Srinivasa K., Hang W., Tuncer E., Le Q. V., Laudon J., Ho R., Carpenter R., Dean J. (2021). A graph placement methodology for fast chip design / Nature, Vol. 594, pp. 207—212 // https://doi.org/10.1038/s41586-021-03544-w
«Разработка лекарств, белков, квантовая химия, новые материалы — только подумайте, возможно, не за горами появление сверхпроводника, работающего при комнатной температуре, — говорит Демис Хассабис, глава DeepMind. — Я мечтал о таком с тех пор, как был ребёнком и читал книги по физике» [3014] .
Генеративные модели создают новые молекулы, новые структуры композитных материалов [3015] , проектируют инженерные конструкции [3016] , верстают сайты [3017] , придумывают дизайн промышленных изделий [3018] и интерьера помещений [3019] , логотипы [3020] и даже новые архитектуры нейросетевых моделей [3021] . За последние годы исследователи Google опубликовали сразу несколько работ [3022] , [3023] , [3024] , [3025] , посвящённых этому направлению — обычно его называют AutoML (Automated machine learning, автоматическое машинное обучение).
3014
Gershgorn D. (2017). DeepMind has a bigger plan for its newest Go-playing AI / Quartz, October 18, 2017 // https://qz.com/1105509/deepminds-new-alphago-zero-artificial-intelligence-is-ready-for-more-than-board-games/
3015
Ren F., Ward L., Williams T., Laws K. J., Wolverton C., Hattrick-Simpers J., Mehta A. (2018). Accelerated discovery of metallic glasses through iteration of machine learning and high-throughput experiments / Science Advances, Vol. 4, No. 4 // https://doi.org/10.1126/sciadv.aaq1566
3016
Hornby G. S., Globus A., Linden D. S., Lohn J. D. (2006). Automated antenna design with evolutionary algorithms // https://doi.org/10.2514/6.2006-7242
3017
Robinson A. (2019). Sketch2code: Generating a website from a paper mockup // https://arxiv.org/abs/1905.13750
3018
Dosovitskiy A., Springenberg J. T., Tatarchenko M., Brox T. (2014). Learning to Generate Chairs, Tables and Cars with Convolutional Networks // https://arxiv.org/abs/1411.5928
3019
Spilka D. (2018). What Does AI mean for Interior Design? / MIPIM World Blog, May 3, 2018 // https://blog.mipimworld.com/innovation/ai-artificial-intelligence-mean-interior-design/
3020
Злобин А. (2020). Студия Лебедева больше года выдавала искусственный интеллект за реального дизайнера / Forbes, 26.06.2020 // https://www.forbes.ru/newsroom/tehnologii/403795-studiya-lebedeva-bolshe-goda-vydavala-iskusstvennyy-intellekt-za-realnogo
3021
Jin H., Song Q., Hu X. (2018). Auto-Keras: An Efficient Neural Architecture Search System // https://arxiv.org/abs/1806.10282
3022
Zoph B., Le Q. V. (2016). Neural Architecture Search with Reinforcement Learning // https://arxiv.org/abs/1611.01578
3023
Kaiser L., Gomez A. N., Shazeer N., Vaswani A., Parmar N., Jones L., Uszkoreit J. (2017). One Model To Learn Them All // https://arxiv.org/abs/1706.05137
3024
Howard A., Sandler M., Chu G., Chen L.-C., Chen B., Tan M., Wang W., Zhu Y., Pang R., Vasudevan V., Le Q. V., Adam H. (2019). Searching for MobileNetV3 // https://arxiv.org/abs/1905.02244v5
3025
Xiong Y., Liu H., Gupta S., Akin B., Bender G., Kindermans P.-J., Tan M., Singh V., Chen B. (2020). MobileDets: Searching for Object Detection Architectures for Mobile Accelerators // https://arxiv.org/abs/2004.14525v2
Успехи нейросетевых моделей в области обработки естественного языка привели к тому, что исследователи попытались повторить эти успехи в смежной области — обработке языков программирования (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] .
3026
Ahmad W. U., Chakraborty S., Ray B., Chang K.-W. (2021). Unified Pre-training for Program Understanding and Generation // https://arxiv.org/abs/2103.06333
3027
Lewis M., Liu Y., Goyal N., Ghazvininejad M., Mohamed A., Levy O., Stoyanov V., Zettlemoyer L. (2019). BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension // https://arxiv.org/abs/1910.13461
3028
Feng Z., Guo D., Tang D., Duan N., Feng X., Gong M., Shou L., Qin B., Liu T., Jiang D., Zhou M. (2020). CodeBERT: A Pre-Trained Model for Programming and Natural Languages // https://arxiv.org/abs/2002.08155
3029
Svyatkovskiy A., Deng S. K., Fu S., Sundaresan N. (2020). IntelliCode Compose: Code Generation Using Transformer // https://arxiv.org/abs/2005.08025
3030
Alon U., Zilberstein M., Levy O., Yahav E. (2018). code2vec: Learning Distributed Representations of Code // https://arxiv.org/abs/1803.09473
3031
kite. Code Faster. Stay in Flow // https://www.kite.com/
3032
TabNine. Code faster with AI completions // https://www.tabnine.com/
3033
Copilot. Your AI pair programmer // https://copilot.github.com/
3034
Li Y., Choi D., Chung J., Kushman N., Schrittwieser J., Leblond R., Eccles T., Keeling J., Gimeno F., Lago A. D., Hubert T., Choy P., de Masson d’Autume C., Babuschkin I., Chen X., Huang P.-S., Welbl J., Gowal S., Cherepanov A., Molloy J., Mankowitz D. J., Robson E. S., Kohli P., de Freitas N., Kavukcuoglu K., Vinyals O. (2022). Competition-Level Code Generation with AlphaCode // https://storage.googleapis.com/deepmind-media/AlphaCode/competition_level_code_generation_with_alphacode.pdf
3035
Perez L., Ottens L., Viswanathan S. (2021). Automatic Code Generation using Pre-Trained Language Models // https://arxiv.org/abs/2102.10535
3036
Langston J. (2021). From conversation to code: Microsoft introduces its first product features powered by GPT-3 / Microsoft/The AI Blog, May 25, 2021 // https://blogs.microsoft.com/ai/from-conversation-to-code-microsoft-introduces-its-first-product-features-powered-by-gpt-3/
3037
Hasan M., Mehrab K. S., Ahmad W. U., Shahriyar R. (2021). Text2App: A Framework for Creating Android Apps from Text Descriptions // https://arxiv.org/abs/2104.08301
3038
Lin G., Wen S., Han Q.-L., Zhang J., Xiang Y. (2020). Software Vulnerability Detection Using Deep Neural Networks: A Survey / Proceedings of the IEEE, Vol. 108, Iss. 10, pp. 1825—1848 // https://doi.org/10.1109/JPROC.2020.2993293
3039
Wu J. (2021). Literature review on vulnerability detection using NLP technology // https://arxiv.org/abs/2104.11230
3040
Ziems N., Wu S. (2021). Security Vulnerability Detection Using Deep Learning Natural Language Processing // https://arxiv.org/abs/2105.02388
В
Впрочем, не стоит предаваться чрезмерному оптимизму и думать, что с появлением таких моделей, как BERT, T5 или GPT-3, все творческие задачи в областях, где данные по своей структуре напоминают текст, уже решены или будут решены в ближайшее время. Точно так же не следует думать, что генеративно-состязательные сети в сочетании с глубокими свёрточными сетями раз и навсегда сделали творческие задачи, связанные со всем, что напоминает изображения, тривиальными. Ограничения реального мира в виде нехватки данных или вычислительных мощностей остаются серьёзными препятствиями на пути эффективного машинного творчества. Например, существующие базы данных расшифрованных последовательностей ДНК людей в сумме составляют немногим больше миллиона записей. Медицинская и биологическая информация нередко разбросана по сотням и тысячам относительно небольших баз данных, доступ исследователей к которым ограничен действующими законами и коммерческой тайной. С расшифрованными последовательностями ДНК других организмов дела обстоят не многим лучше — стоимость секвенирования пока что достаточно высока, и не все лаборатории стремятся предоставить открытый доступ к собранным ими данным. Если бы эта информация была столь же доступной, как фотографии или тексты, это могло бы помочь в создании генеративных моделей для разработки новых лекарств, генной терапии, генно-модифицированных организмов (для медицинских и других целей) и так далее. Но люди, к большому сожалению исследователей, выкладывают в социальные сети фотографии своих котиков, а не результаты секвенирования ДНК. Большие модели, подобные GPT-3, требуют при обучении не только гигантских объёмов данных, но и выдающихся вычислительных затрат, которые в наши дни по карману лишь крупным корпорациям. Кроме того, эти модели требуют больших объёмов вычислений не только на этапе обучения, но и на этапе использования.
3041
Fried D., Aghajanyan A., Lin J., Wang S., Wallace E., Shi F., Zhong R., Yih W.-T., Zettlemoyer L., Lewis M. (2022). InCoder: A Generative Model for Code Infilling and Synthesis // https://arxiv.org/abs/2204.05999
3042
Nijkamp E., Pang B., Hayashi H., Tu L., Wang H., Zhou Y., Savarese S., Xiong C. (2022). CodeGen: An Open Large Language Model for Code with Multi-Turn Program Synthesis // https://arxiv.org/abs/2203.13474
3043
Allal L. B., Li R., Kocetkov D., Mou C., Akiki C., Ferrandis C. M., Muennighoff N., Mishra M., Gu A., Dey M., Umapathi L. K., Anderson C. J., Zi Y., Poirier J. L., Schoelkopf H., Troshin S., Abulkhanov D., Romero M., Lappert M., Toni F. D., de Rio B. G., Liu Q., Bose S., Bhattacharyya U., Zhuo T. Y., Yu I., Villegas P., Zocca M., Mangrulkar S., Lansky D., Nguyen H., Contractor D., Villa L., Li J., Bahdanau D., Jernite Y., Hughes S., Fried D., Guha A., de Vries H., von Werra L. (2023). SantaCoder: don't reach for the stars! // https://arxiv.org/abs/2301.03988
3044
Li R., Allal L. B., Zi Y., Muennighoff N., Kocetkov D., Mou C., Marone M., Akiki C., Li J., Chim J., Liu Q., Zheltonozhskii E., Zhuo T. Y., Wang T., Dehaene O., Davaadorj M., Lamy-Poirier J., Monteiro J., Shliazhko O., Gontier N., Meade N., Zebaze A., Yee M., Umapathi L. K., Zhu J., Lipkin B., Oblokulov M., Wang Z., Murthy R., Stillerman J., Patel S. S., Abulkhanov D., Zocca M., Dey M., Zhang Z., Fahmy N., Bhattacharyya U., Yu W., Singh S., Luccioni S., Villegas P., Kunakov M., Zhdanov F., Romero M., Lee T., Timor N., Ding J., Schlesinger C., Schoelkopf H., Ebert J., Dao T., Mishra M., Gu A., Robinson J., Anderson C. J., Dolan-Gavitt B., Contractor D., Reddy S., Fried D., Bahdanau D., Jernite Y., Ferrandis C. M., Hughes S., Wolf T., Guha A., von Werra L., de Vries H. (2023). StarCoder: may the source be with you! // https://arxiv.org/abs/2305.06161
3045
Roziere B., Gehring J., Gloeckle F., Sootla S., Gat I., Tan X. E., Adi Y., Liu J., Remez T., Rapin J., Kozhevnikov A., Evtimov I., Bitton J., Bhatt M., Ferrer C. C., Grattafiori A., Xiong W., Defossez A., Copet J., Azhar F., Touvron H., Martin L., Usunier N., Scialom T., Synnaeve G. (2023). Code Llama: Open Foundation Models for Code // https://arxiv.org/abs/2308.12950
3046
Luo Z., Xu C., Zhao P., Sun Q., Geng X., Hu W., Tao C., Ma J., Lin Q., Jiang D. (2023). WizardCoder: Empowering Code Large Language Models with Evol-Instruct // https://arxiv.org/abs/2306.08568
3047
Replit, Inc. (2023). replit-code-v1-3b // https://huggingface.co/replit/replit-code-v1-3b
Конечно, все эти трудности преодолимы, хотя всякий раз, когда развитие технологии предполагает необходимость дать ответ на существующие вызовы, почти всегда возникает хор пессимистов, спешащих заявить: «Этот барьер не преодолеть!» В действительности история науки показывает, что в большинстве случаев непреодолимые препятствия существуют только в головах людей. В исследовательских лабораториях уже сейчас создаются новые модели машинного обучения, в том числе более вычислительно эффективные и менее требовательные к объёмам используемых данных. Продолжается и прогресс в области вычислительной техники, в том числе и в создании специализированных устройств для задач машинного обучения. Стремясь поддержать исследователей, государства во всём мире ищут способы упростить доступ к данным для учёных. Продолжается развитие краудсорсинговых платформ. Всё это значит, что прогресс в области машинного решения творческих задач будет продолжаться и уже в ближайшем будущем нас ждёт множество новых результатов и удивительных открытий.
7 Легенда о големе: ИИ, захватывающий мир
Существует предание, что однажды три человека спустились в царство тьмы, один сошёл с ума, другой ослеп, и только третий, Рабби-бен-Акиба, вернулся невредимым и рассказал, что он встретил самого себя.
Тема опасности ИИ красной нитью проходит через многие популярные статьи, посвящённые достижениям науки и технологий в этой области. Один из надёжных способов привлечь внимание человека — напугать его, поэтому для деятелей искусства, журналистов и блогеров тема опасности ИИ вряд ли в ближайшее время потеряет актуальность. Конечно, можно было бы попробовать просто отмахнуться от этой проблемы как от назойливой мухи, признав, что просто невозможно вычерпать океан чепухи, высказанной на эту тему в публичном пространстве. Наверное, примерно так же Архимед пытался отмахнуться от римского легионера, мешавшего ему решать важную математическую задачу. Если верить этой легенде, такое отношение к опасностям не сулит ничего хорошего. Кроме того, всегда существует риск выплеснуть с грязной водой ребёнка. Применение продвинутых технологий нередко сопряжено со вполне реальными, а не выдуманными рисками. Изменение производственного уклада в истории человечества нередко приводило к социальным катаклизмам. Войны, в ходе которых находили применение многие новинки науки и техники, приводили к массовому истреблению людей. Выходит, страхи, порождаемые мыслями об угрозах, таящихся в новых технологиях, не всегда были такими уж беспочвенными? Давайте попробуем разобраться в этом вопросе.
7.1 Насколько опасен ИИ?
7.1.1 История человеческих страхов перед машинами
Интересно, что страхи людей перед «умными машинами» возникли задолго до того, как человечеству удалось приблизиться к возможности их создания.
Знаменитая легенда о големе имеет истоки в раннем иудаизме. В Талмуде (трактат «Сангедрин» [??????????], от греч. ????????? — собрание) создание голема [????] является одним из этапов создания человека: «В первый час собрал Всевышний прах со всей Земли. Во второй час — сделал голема (грубую форму). В третий — оформил части тела. В четвёртый — вдохнул в него душу…» и так далее [3048] .
3048
Эссас Э. (2001). О Трактате Санѓедрин / Еврейский сайт из Ерусалима. Ежедневный лист Талмуда // https://evrey.com/sitep/talm/index.php3?trkt=list&menu=37_43
Создание голема (как прислуги для работы по дому) в XI в. приписывают еврейскому поэту и философу Шломо бен Иехуде ибн Гвиролю, а в конце XII – начале XIII в. в трактате «Секреты таинств» (????? ????, Sodei Razaya) [3049] , написанном раввином Элеазаром бен Иудой бен Калонимосом из Вормса, приводится самое раннее письменное руководство по созданию голема.
Но наиболее известна история (впервые встречающаяся в анонимном манускрипте первой половины XVII в.) о том, как рабби Элияху бен Аарон Иегуда из Хелма создал голема. Начертанное на лбу глиняного существа слово «эмет» (???, в переводе с иврита — «истина») оживляло голема, а для «отключения» нужно было стереть первую букву алеф — тогда «эмет» превращалось в «мет» (??, что означает «мёртвый») [3050] , [3051] . Созданный рабби голем всё увеличивался и увеличивался в размерах, и тогда создатель испугался, что голем может уничтожить весь мир, и стер букву алеф, но не успел вовремя отскочить в сторону. Голем обрушился на рабби и убил его (согласно другому варианту легенды лишь травмировал, оставив на лице шрам).
3049
???? ????
– ????? ?? ?????, ??????? / HebrewBooks.org // https://www.hebrewbooks.org/pdfpager.aspx?req=39230&st=&pgnum=18
3050
Kerstein B. (2010). The Golem: Universal and Particular / Jewish Ideas Daily, September 14, 2010 // https://www.jewishideasdaily.com/718/features/the-golem-universal-and-particular/
3051
Zucker R. (2011). “Sefer Yetsirah” and Jewish Mysiticsm Time Line // http://www.emol.org/kabbalah/seferyetzirah/timeline/16to20thcentury.html
По другой версии, для оживления голема использовался тетраграмматон (четырёхбуквенное непроизносимое имя бога), который нужно было написать на листе бумаги и либо поместить в рот голема, либо приложить ко лбу, тем самым оживив его. Именно поэтому рабби Элияху и получил почётное имя Ба’ал-Шем («владеющий именем», «шем» [??????] значит «имя», это одно из слов, используемое для замены тетраграмматона). Это «канонический» способ оживления голема — им же пользовался и ибн Гвироль.
Также создание голема приписывается мыслителю и мистику Йехуде Лёву бен Бецалелю из Праги и другим авторитетным раввинам [3052] .
3052
Blau L., Jacobs J., Eisenstein J. D. (1906). Golem / Jewish Encyclopedia // http://jewishencyclopedia.com/articles/6777-golem