Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Интересно, что иногда ограничение числа подстраиваемых в ходе дообучения параметров может приводить к улучшению результатов модели при решении целевой задачи. Например, авторы работы «Воспитайте ребёнка в большой языковой модели: на пути к эффективному и обобщаемому дообучению» [Raise a Child in Large Language Model: Towards Effective and Generalizable Fine-tuning] [2575] разработали подход, позволяющий выбирать подсеть большой сети, наиболее важную для дообучения модели под конкретную задачу. Иногда специалисты в области машинного обучения предпочитают использовать и другие, более экономные, чем полноценное дообучение модели, методы, такие как ансамблирование [ensembling] [2576] , пробинг («зондирование») [probing] [2577] , [2578] , [2579] , [2580] , заморозку слоёв [layer freezing] [2581] или подстройку затравки [prompt tuning, prefix tuning, p-tuning] [2582] , [2583] , [2584] , [2585] .
2575
Xu R., Luo F., Zhang Z., Tan C., Chang B., Huang S., Huang F. (2021). Raise a Child in Large Language Model: Towards Effective and Generalizable Fine-tuning // https://arxiv.org/abs/2109.05687
2576
Duan Z., Zhang H., Wang C., Wang Z., Chen B., Zhou M. (2021). EnsLM: Ensemble Language Model for Data Diversity by Semantic Clustering / Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), pp. 2954—2967 // https://doi.org/10.18653/v1/2021.acl-long.230
2577
Conneau A., Kruszewski G., Lample G., Barrault L., Baroni M. (2018). What you can cram into a single vector: Probing sentence embeddings for linguistic properties // https://arxiv.org/abs/1805.01070
2578
Sahin G. G., Vania C., Kuznetsov I., Gurevych I. (2019). LINSPECTOR: Multilingual Probing Tasks for Word Representations // https://arxiv.org/abs/1903.09442
2579
Kim N., Patel R., Poliak A., Wang A., Xia P., McCoy R. T., Tenney I., Ross A., Linzen T., Durme B. V., Bowman S. R., Pavlick E. (2019). Probing What Different NLP Tasks Teach Machines about Function Word Comprehension // https://arxiv.org/abs/1904.11544
2580
Shi X., Padhi I., Knight K. (2016). Does String-Based Neural MT Learn Source Syntax? / Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pp. 1526—1534 // https://doi.org/10.18653/v1/D16-1159
2581
Lee J., Tang R., Lin J. (2019). What Would Elsa Do? Freezing Layers During Transformer Fine-Tuning // https://arxiv.org/abs/1911.03090
2582
Li X. L., Liang P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation // https://arxiv.org/abs/2101.00190
2583
Liu X., Zheng Y., Du Z., Ding M., Qian Y., Yang Z., Tang J. (2021). GPT Understands, Too // https://arxiv.org/abs/2103.10385
2584
Lester B., Al-Rfou R., Constant N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning // https://arxiv.org/abs/2104.08691
2585
Конодюк Н. (2021). Управляем генерацией ruGPT-3: библиотека ruPrompts / Хабр, 17 декабря 2021 // https://habr.com/ru/company/sberdevices/blog/596103/
Идея ансамблирования заключается в том, чтобы комбинировать выход большой предобученной модели с выходом сравнительно небольшой модели, обученной решению целевой задачи на небольшом датасете. Например, маленькую версию GPT-3 можно обучить генерации текста в стиле определённого автора, а затем в качестве распределения вероятностей токенов при генерации текста использовать усреднённое распределение двух моделей — предобученной на огромном наборе разнообразных текстов гигантской версии GPT-3 и маленькой «авторской» версии. При этом оценки моделей можно сочетать и более умным образом, чем путём простого усреднения: например, можно использовать взвешенное усреднение или вовсе приспособить для генерации итогового распределения отдельную модель.
Идея пробинга заключается в том, чтобы обучить маленькую модель, решающую целевую задачу, отталкиваться от представлений, выученных большой предобученной моделью. По сути, этот подход похож на послойное обучение нейронной сети. Более того, нередко глубокие трансформерные модели действительно обучают послойно, «замораживая» веса в части слоёв предобученной модели. Но пробинг нередко имеет более изощрённую форму, когда на вход обучаемой модели-«надстройки» могут подаваться активации (выходы) из разных слоёв предобученной сети. Часто в качестве «надстройки» применяются простые линейные модели, такую разновидность пробинга называют линейным пробингом [Linear Probing или Linear Probe].
И наконец, последний подход, подстройка затравки, получил популярность именно благодаря развитию генеративных текстовых моделей. В рамках этого подхода развиваются алгоритмы, позволяющие разными автоматизированными способами модифицировать затравку при генерации, чтобы добиться от модели нужного поведения.
В конце 2020 г. в результате совместных усилий нескольких исследовательских команд «Сбера» (в числе которых было и моё Управление экспериментальных систем машинного обучения департамента SberDevices) на свет появилась русскоязычная версия GPT-3 под названием ruGPT-3. Используя суперкомпьютер «Кристофари», мы обучили несколько версий модели (с числом весов от 125 млн до 13 млрд).
В обучающую выборку, помимо традиционного для GPT-3 подмножества корпуса Common Crawl (результата сплошного сканирования интернет-сайтов), вошла солидная подборка книг на русском языке, русскоязычная «Википедия», огромные коллекции новостей, научных статей и диалогов, подборки вопросов и ответов на различные темы и множество других наборов текстовых данных. Первые эксперименты с моделью показывают, что она довольно хорошо справляется с задачей генерации текстов самой различной тематики.
< image l:href="#"/>Рекламные тексты, гороскопы и жёлтые статьи [2586] в исполнении ruGPT-3 ничем не уступают настоящим. Впрочем, подобные тексты и при написании их людьми редко относятся к разряду шедевров. Однако ruGPT-3 неплохо подходит и для генерации образцов художественной литературы. Вот, например, литературный анекдот в стиле Хармса, сочинённый нейросетью:
2586
* Чего стоит хотя бы такой пассаж: «Кроме того, Пугачёва раскрыла подробности своей биографии, в которой оказалось немало скандальных эпизодов. Например, она утверждала, что в молодости была гейшей, а также что у неё в шкафу хранился сухой паёк на случай атомной войны, а её зять Г. Л. Рамазанов открыл для себя ясновидение».
Навсегда запомнилось Пушкину, как Гоголь стал матросом. Он вышел из кабака и заглянул в один кабак, заглянул в другой, потом пошел домой, постучал в свою мазанку и сказал: «Я матрос!»
В мае 2022 г. издательство Individuum выпустило весьма примечательный сборник рассказов под названием «Пытаясь проснуться». Его соавторами стали писатель Павел Пепперштейн и нейросеть «Нейропепперштейн», представлявшая собой специальную версию ruGPT-3, дообученную на текстах самого Пепперштейна с небольшой примесью текстов других авторов (оказавших, по мнению экспертов, влияние на авторский стиль писателя). Двенадцать рассказов в сборнике принадлежат перу человека и ещё двенадцать написаны нейросетью. Хотя эта книга и не стала первым примером содружества искусственных и «органических» писателей (в качестве иллюстрации можно привести вышедшую ещё в 2013 г. книгу Дарби Ларсона «Раздражитель» [Irritant] [2587] , в которой писатель использовал фрагменты текста, написанные генеративной LSTM-сетью, или созданную уже в трансформерную эпоху книгу Олли Грина «Робот Боб: Исследование Вселенной — Уютная сказка на ночь, созданная искусственным интеллектом» [Bob The Robot: Exploring the Universe — A Cozy Bedtime Story Produced by Artificial Intelligence] [2588] , написанную в 2020 г. в соавторстве с GPT-3 [2589] ); она, по всей видимости, стала первой книгой, написанной человеком в соавторстве с нейросетью-«двойником», обучавшейся имитировать стиль своего белкового соавтора. Читателям предлагается самостоятельно угадать: какие тексты были написаны машиной, а какие — человеком [2590] , [2591] .
2587
Larson D. (2013). Irritant. Blue Square Press // https://books.google.ru/books?id=lOdOmwEACAAJ
2588
Green O. (2020). Bob The Robot: Exploring the Universe — A Cozy Bedtime Story Produced by Artificial Intelligence. Kindle Edition // https://www.amazon.com/Bob-Robot-Exploring-Artificial-Intelligence-ebook/dp/B08GL2YWGY
2589
Green O. (2020). How to write and publish a book using Machine Learning (GPT-3) // https://www.youtube.com/watch?v=oKh_Jxfeae0
2590
Пепперштейн Н., Пепперштейн П. (2022). Пытаясь проснуться // https:///book/neyro-peppershteyn/pytayas-prosnutsya-68292629/
2591
Шаврина Т. (2022). Это наконец произошло: нейросеть и человек написали книгу. Вместе! Рассказываем, как им помогали разработчики. / Хабр, 25 мая 2022 // https://habr.com/ru/companies/sberdevices/articles/667582/
Сегодня в содружестве с генеративными языковыми моделями созданы уже десятки, если не сотни книг [2592] , [2593] .
Наследниками ruGPT-3 стали модели ruGPT-3.5 [2594] , [2595] , [2596] и mGPT [2597] . Первая представляет собой усовершенствованную версию модели (с более современной реализацией блоков внимания), дообученную на расширенной версии датасета (в него, в частности, вошли обширные библиотеки правовых текстов и программного кода), вторая — многоязычную версию модели, способную работать с текстами на 61 языке. Многоязычность сегодня стала одним из важных направлений развития языковых моделей [2598] — многоязычные версии в наши дни можно найти практически для любых трансформерных архитектур. Например, многоязычными аналогами BERT являются модели mBERT [2599] (обученная авторами оригинальной модели) и XLM-R [2600] , а среди множества многоязычных GPT помимо нашей mGPT можно отметить модель XGLM [2601] от исследователей из Meta AI.
2592
Thompson D. A. (2022). Books by AI (GPT-3, GPT-3.5, ChatGPT) / LifeArchitect.ai // https://lifearchitect.ai/books-by-ai/
2593
Branwen G. (2020). GPT-3 Creative Fiction // https://www.gwern.net/GPT-3
2594
Аверкиев С. (2023). Сбер открывает доступ к нейросетевой модели ruGPT-3.5 / Хабр, 20 июля 2023 // https://habr.com/ru/companies/sberbank/articles/746736/
2595
Аверкиев С. (2023). Это не чат, это GigaChat. Русскоязычная ChatGPT от Сбера / Хабр, 24 апреля 2023 // https://habr.com/ru/companies/sberbank/articles/730108/
2596
Zmitrovich D., Abramov A., Kalmykov A., Tikhonova M., Taktasheva E., Astafurov D., Baushenko M., Snegirev A., Shavrina T., Markov S., Mikhailov V., Fenogenova A. (2023). A Family of Pretrained Transformer Language Models for Russian // https://arxiv.org/abs/2309.10931
2597
Shliazhko O., Fenogenova A., Tikhonova M., Mikhailov V., Kozlova A., Shavrina T. (2022). mGPT: Few-Shot Learners Go Multilingual // https://arxiv.org/abs/2204.07580
2598
Ruder S. (2023). The State of Multilingual AI // https://www.ruder.io/state-of-multilingual-ai/
2599
Devlin J., Chang M.-W., Lee K., Toutanova K. (2018). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding // https://arxiv.org/abs/1810.04805
2600
Conneau A., Khandelwal K., Goyal N., Chaudhary V., Wenzek G., Guzman F., Grave E., Ott M., Zettlemoyer L., Stoyanov V. (2019). Unsupervised Cross-lingual Representation Learning at Scale // https://arxiv.org/abs/1911.02116
2601
Lin X. V., Mihaylov T., Artetxe M., Wang T., Chen S., Simig D., Ott M., Goyal N., Bhosale S., Du J., Pasunuru R., Shleifer S., Koura P. S., Chaudhary V., O'Horo B., Wang J., Zettlemoyer L., Kozareva Z., Diab M., Stoyanov V., Li X. (2021). Few-shot Learning with Multilingual Language Models // https://arxiv.org/abs/2112.10668
Модели семейства GPT на сегодняшний день являются не единственными представителями класса NLP-моделей, претендующих на универсальность при решении широкого спектра задач, связанных с обработкой естественного языка. Ещё в октябре 2019 г. в статье под названием «Исследование пределов переноса знаний при помощи унифицированного трансформера вида „текст-в-текст“» [Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer] публике была представлена модель T5 (Text-to-Text Transfer Transformer, Основанный на переносе трансформер вида «текст-в-текст») от исследователей из Google. Эта модель содержит равное количество блоков трансформера в кодирующей и декодирующей частях сети. Самый большой обученный создателями модели вариант T5 содержит 11 млрд параметров. Для обучения использовался корпус объёмом около 750 Гб, получивший название C4 (Colossal Clean Crawled Corpus, Колоссальный, очищенный, собранный в интернете корпус), являющийся отфильтрованной версией корпуса Common Crawl. T5 успешно справляется с такими задачами, как классификация высказываний, ответы на вопросы, перевод текста или его реферирование, показывая на ряде задач SOTA-результаты [2602] . В октябре 2020 г. исследователи из Google выложили в общий доступ многоязычную версию своей модели, получившую название mT5. Для её обучения был использован гигантский датасет mC4, включающий в себя 6,6 млрд веб-страниц на 101 языке. Суммарный объём файлов датасета составляет почти 27 терабайт, что соответствует 6,3 млрд токенов [2603] .
2602
Raffel C., Shazeer N., Roberts A., Lee K., Narang S., Matena M., Zhou Y., Li W., Liu P. J. (2019). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer // https://arxiv.org/abs/1910.10683
2603
Xue L., Constant N., Roberts A., Kale M., Al-Rfou R., Siddhant A., Barua A., Raffel C. (2020). mT5: A massively multilingual pre-trained text-to-text transformer // https://arxiv.org/abs/2010.11934
В ноябре 2021 г. свет увидела ещё одна усовершенствованная версия модели T5, получившая название ExT5. В данном случае фокус был сделан на экстремальной многозадачности модели. Датасет для её обучения, получивший название ExMix (Extreme Mixture, Экстремальная смесь), включает в себя тексты заданий и решений для 107 различных задач, относящихся к разным доменам и семействам. ExT5 смогла заметно превзойти свою прародительницу на задачах из набора SuperGLUE и других сборниках тестов [2604] .
2604
Aribandi V., Tay Y., Schuster T., Rao J., Zheng H. S., Mehta S. V., Zhuang H., Tran V. Q., Bahri D., Ni J., Gupta J., Hui K., Ruder S., Metzler D. (2021). ExT5: Towards Extreme Multi-Task Scaling for Transfer Learning // https://arxiv.org/abs/2111.10952
Модели, подобные GPT-3 или T5, нередко генерируют тексты хотя и грамматически корректные, но не слишком достоверные с фактической точки зрения. Скормив в ruGPT-3 список «интересных фактов», взятых с одного из развлекательных интернет-сайтов, для затравки, я однажды получил среди прочих такие «факты»:
• В Австралии бытует мнение, что если на тебя пристально смотрит лев, то это значит, что у тебя в руках морковка.
• В Арктике нет почтовых голубей. Все письма для белых медведей доставляет летчик-истребитель по радио.