Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Впрочем, в этой бочке мёда оказалась изрядная ложка дёгтя. Выход ChatGPT ознаменовал очередной этап роста закрытости исследований в области ИИ. Компания OpenAI, изначально декларировавшая миссию расширения и демократизации доступа к технологиям искусственного интеллекта, сегодня отказалась не только от публикации обученных моделей или хотя бы кода для их обучения в открытом доступе, но и вообще от раскрытия любых архитектурных деталей создаваемых моделей. Даже спустя несколько месяцев после запуска ChatGPT сообщество получило очень мало подробностей о моделях, лежащих в основе этого сервиса. Было известно лишь, что в основе ChatGPT лежит нейросеть GPT-3.5 (с неизвестным количеством параметров). А Технический отчёт о создании нейросети GPT-4 [2644] , пришедшей вскоре на смену GPT-3.5, впервые не содержал сведений ни о числе параметров модели, ни о количестве слоёв, ни о способах кодирования позиций токенов в последовательности; в отчёте вообще не было ничего, что могло бы пригодиться другим командам, работающим над созданием конкурирующих моделей. Кроме того, OpenAI в пользовательском соглашении ChatGPT объявила о том, что запрещает использовать ответы, полученные с помощью этого сервиса, для обучения систем-конкурентов.
2644
OpenAI (2023). GPT-4 Technical Report // https://arxiv.org/abs/2303.08774
К счастью, OpenAI не была компанией, обладающей монополией на знания в области создания генеративных языковых моделей. Работами в этом направлении активно занимались и другие исследовательские коллективы. Кроме того, некоторые подсказки содержались в статьях OpenAI, увидевших свет до появления на свет ChatGPT (например, таких, как вышеупомянутая статья, посвящённая InstructGPT). Именно поэтому вскоре свет увидели и Bard от Google [2645] , и Claude от Antropic AI [2646] , и BLOOMChat [2647] от SambaNova Systems и Together Computer, и Stanford Alpaca [2648] от Стэнфордского университета, и наш, сберовский GigaChat, и YandexGPT от наших коллег из Яндекса.
2645
Pichai S. (2023). An important next step on our AI journey // https://blog.google/technology/ai/bard-google-ai-search-updates/
2646
Anthropic PBC (2023). Introducing Claude // https://www.anthropic.com/index/introducing-claude
2647
SambaNova Systems, Together Computer (2023). BLOOMChat: a New Open Multilingual Chat LLM // https://huggingface.co/sambanovasystems/BLOOMChat-176B-v1
2648
Taori R., Gulrajani I., Zhang T, Dubois Y., Li X., Guestrin C., Liang P., Hashimoto T. B. (2023). Stanford Alpaca: An Instruction-following LLaMA model // https://github.com/tatsu-lab/stanford_alpaca
Отдельного внимания заслуживает история модели LLaMA (Large Language Model Meta AI, Большая языковая модель от Meta AI) от исследователей из компании Meta [2649] . Эта модель увидела свет в феврале 2023 г. и была представлена сразу в нескольких вариантах, насчитывавших от 7 до 65 млрд весов (размеры предыдущей большой модели от Meta AI под названием OPT [2650] , появившейся годом ранее, варьировались от 125 млн до 175 млрд параметров). Создатели модели сообщали, что версия модели с 13 млрд весов в большинстве тестов не уступала самой большой версии GPT-3 (175 млрд весов) и что самая большая версия LLaMA не уступает другим современными моделям, таким как PaLM и Chinchilla. На момент публикации LLaMA самые современные языковые модели были, как правило, либо недоступны широкой публике, либо доступ был возможен ограниченному числу пользователей через сильно лимитированные программные интерфейсы. Meta предоставила исследователям веса моделей LLaMA под некоммерческой лицензией, но уже в течение недели после выпуска модели её веса были выложены в открытый доступ анонимными пользователями. С этого момента количество моделей для инструктивной генерации в стиле ChatGPT, полученных путём дообучения LLaMA, начинает расти едва ли не в геометрической прогрессии, благодаря чему в сообществе исследователей появляется множество забавных локальных мемов. Вполне ожидаемо, что поначалу дообученные версии LLaMA получали имена в честь других животных рода лам (Alpaca [2651] , Vicuna [2652] , Guanaco [2653] ), но поскольку ламы быстро кончились, пришлось задействовать и других животных. Так появились, например, Koala [2654] , Gorilla [2655] и даже Orca [2656] и Stable Beluga [2657] .
2649
Touvron H., Lavril T., Izacard G., Martinet X., Lachaux M.-A., Lacroix T., Roziere B., Goyal N., Hambro E., Azhar F., Rodriguez A., Joulin A., Grave E., Lample G. (2023). LLaMA: Open and Efficient Foundation Language Models // https://arxiv.org/abs/2302.13971
2650
Zhang S., Roller S., Goyal N., Artetxe M., Chen M., Chen S., Dewan C., Diab M., Li X., Lin X. V., Mihaylov T., Ott M., Shleifer S., Shuster K., Simig D., Koura P. S., Sridhar A., Wang T., Zettlemoyer L. (2022). OPT: Open Pre-trained Transformer Language Models // https://arxiv.org/abs/2205.01068
2651
Taori R., Gulrajani I., Zhang T, Dubois Y., Li X., Guestrin C., Liang P., Hashimoto T. B. (2023). Stanford Alpaca: An Instruction-following LLaMA model // https://github.com/tatsu-lab/stanford_alpaca
2652
Vicuna Team (2023). Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality // https://lmsys.org/blog/2023-03-30-vicuna/
2653
Dettmers T., Pagnoni A., Holtzman A., Zettlemoyer L. (2023). QLoRA: Efficient Finetuning of Quantized LLMs // https://arxiv.org/abs/2305.14314
2654
Geng X., Gudibande A., Liu H., Wallace E., Abbeel P., Levine S., Song D. (2023). Koala: A Dialogue Model for Academic Research // https://bair.berkeley.edu/blog/2023/04/03/koala/
2655
Patil S. G., Zhang T., Wang X., Gonzalez J. E. (2023). Gorilla: Large Language Model Connected with Massive APIs // https://arxiv.org/abs/2305.15334
2656
Mukherjee S., Mitra A., Jawahar G., Agarwal s., Palangi H., Awadallah A. (2023). Orca: Progressive Learning from Complex Explanation Traces of GPT-4 // https://arxiv.org/abs/2306.02707
2657
Stability AI (2023). Meet Stable Beluga 1 and Stable Beluga 2, Our Large and Mighty Instruction Fine-Tuned Language Models. // https://stability.ai/blog/stable-beluga-large-instruction-fine-tuned-models
В июле 2023 г. свет увидела вторая версия модели (Llama 2), доступная сегодня в трёх вариантах: с 7, 13 и 70 млрд параметров [2658] .
Популярными альтернативами LLaMA при создании аналогов ChatGPT являются модели семейства MPT [2659] от компании MosaicML и уже упомянутая нами модель Falcon [2660] , [2661] от Института технологических инноваций (Technology Innovation Institute). Большой интерес с прикладной точки зрения представляют также модели Qwen от исследователей из Alibaba Cloud (7 млрд параметров, обучалась на 2,2 трлн токенов) [2662] , Baichuan 2 (две версии: 7 и 13 млрд параметров, обучались на 2,6 трлн токенов) [2663] , Mistral от стартапа Mistral AI (7 млрд параметров; обучалась на неизвестном наборе данных) [2664] , Persimmon от исследователей из компании Adept (8 млрд параметров, обучалась на 737 млрд токенов) [2665] и Yi [2666] от китайского стартапа 01.ai (6 и 34 млрд параметров, обучалась на 3 млрд токенов). Несмотря на небольшой размер, в ряде тестов они показывают весьма достойные результаты. Например, модель Mistral с 7 млрд параметров почти на 5 процентных пунктов (60,1% против 55,6%) обгоняет на наборе тестов MMLU версию модели LLaMA с 13 млрд параметров. Не менее впечатляющих результатов удалось добиться группе исследователей из компании Microsoft, разработавших модель phi-1.5 (новую версию модели phi-1) с 1,3 млрд параметров. При обучении модель прошла только 150 млрд токенов (5 проходов по датасету из всего лишь 30 млрд токенов, что очень мало по сравнению со многими другими языковыми моделями), однако благодаря тщательному отбору данных для предобучения phi-1.5 в ряде тестов обгоняет трансформерные модели с 7 и даже с 13 млрд параметров, что показывает исключительную важность использования качественных данных при разработке фундаментальных моделей. Создатели phi неслучайно озаглавили свои статьи «Всё, что нужно, — это учебники» [Textbooks Are All You Need] [2667] и «Всё, что нужно, — это учебники II: технический отчёт по модели phi-1.5» [Textbooks Are All You Need II: phi-1.5 technical report] [2668] .
2658
Anil R., Dai A. M., Firat O., Johnson M., Lepikhin D., Passos A., Shakeri S., Taropa E., Bailey P., Chen Z., Chu E., Clark J. H., Shafey L. E., Huang Y., Meier-Hellstern K., Mishra G., Moreira E., Omernick M., Robinson K., Ruder S., Tay Y., Xiao K., Xu Y., Zhang Y., Abrego G. H., Ahn J., Austin J., Barham P., Botha J., Bradbury J., Brahma S., Brooks K., Catasta M., Cheng Y., Cherry C., Choquette-Choo C. A., Chowdhery A., Crepy C., Dave S., Dehghani M., Dev S., Devlin J., Diaz M., Du N., Dyer E., Feinberg V., Feng F., Fienber V., Freitag M., Garcia X., Gehrmann S., Gonzalez L., Gur-Ari G., Hand S., Hashemi H., Hou L., Howland J., Hu A., Hui J., Hurwitz J., Isard M., Ittycheriah A., Jagielski M., Jia W., Kenealy K., Krikun M., Kudugunta S., Lan C., Lee K., Lee B., Li E., Li M., Li W., Li Y., Li J., Lim H., Lin H., Liu Z., Liu F., Maggioni M., Mahendru A., Maynez J., Misra V., Moussalem M., Nado Z., Nham J., Ni E., Nystrom A., Parrish A., Pellat M., Polacek M., Polozov A., Pope R., Qiao S., Reif E., Richter B., Riley P., Ros A. C., Roy A., Saeta B., Samuel R., Shelby R., Slone A., Smilkov D., So D. R., Sohn D., Tokumine S., Valter D., Vasudevan V., Vodrahalli K., Wang X., Wang P., Wang Z., Wang T., Wieting J., Wu Y., Xu K., Xu Y., Xue L., Yin P., Yu J., Zhang Q., Zheng S., Zheng C., Zhou W., Zhou D., Petrov S., Wu Y. (2023). Llama 2: Open Foundation and Fine-Tuned Chat Models // https://arxiv.org/abs/2307.09288
2659
The MosaicML NLP Team (2023). MPT-30B: Raising the bar for open-source foundation models // https://www.mosaicml.com/blog/mpt-30b
2660
Penedo G., Malartic Q., Hesslow D., Cojocaru R., Cappelli A., Alobeidli H., Pannier B., Almazrouei E., Launay J. (2023). The RefinedWeb Dataset for Falcon LLM: Outperforming Curated Corpora with Web Data, and Web Data Only // https://arxiv.org/abs/2306.01116
2661
Almazrouei E., Alobeidli H., Alshamsi A., Cappelli A., Cojocaru R., Alhammadi M., Mazzotta D., Heslow D., Launay J., Malartic Q., Noune B., Pannier B., Penedo G. (2023). The Falcon Series of Language Models: Towards Open Frontier Models // https://huggingface.co/tiiuae/falcon-180B
2662
Qwen-7B (2023). // https://github.com/QwenLM/Qwen-7B/
2663
Yang A., Xiao B., Wang B., Zhang B., Bian C., Yin C., Lv C., Pan D., Wang D., Yan D., Yang F., Deng F., Wang F., Liu F., Ai G., Dong G., Zhao H., Xu H., Sun H., Zhang H., Liu H., Ji J., Xie J., Dai J., Fang K., Su L., Song L., Liu L., Ru L., Ma L., Wang M., Liu M., Lin M., Nie N., Guo P., Sun R., Zhang T., Li T., Li T., Cheng W., Chen W., Zeng X., Wang X., Chen X., Men X., Yu X., Pan X., Shen Y., Wang Y., Li Y., Jiang Y., Gao Y., Zhang Y., Zhou Z., Wu Z. (2023). Baichuan 2: Open Large-scale Language Models // https://arxiv.org/abs/2309.10305
2664
Mistral AI team (2023). Mistral 7B. The best 7B model to date, Apache 2.0 // mistral.ai, September 27, 2023 // https://mistral.ai/news/announcing-mistral-7b/
2665
Elsen E., Odena A., Nye M., Tas?rlar S., Dao T., Hawthorne C., Moparthi D., Somani A. (2023). Releasing Persimmon-8B / Adept, September 7, 2023 // https://www.adept.ai/blog/persimmon-8b
2666
Yi (2023). // https://github.com/01-ai/Yi
2667
Gunasekar S., Zhang Y., Aneja J., Mendes C. C. T., Giorno A. D., Gopi S., Javaheripi M., Kauffmann P., de Rosa G., Saarikivi O., Salim A., Shah S., Behl H. S., Wang X., Bubeck S., Eldan R., Kalai A. T., Lee Y. T., Li Y. (2022). Textbooks Are All You Need // https://arxiv.org/abs/2306.11644
2668
Li Y., Bubeck S., Eldan R., Giorno A. D., Gunasekar S., Lee Y. T. (2023). Textbooks Are All You Need II: phi-1.5 technical report // https://arxiv.org/abs/2309.05463
Впрочем, некоторые исследователи отнеслись к результатам коллег из Microsoft с недоверием. Через два дня после выхода работы, посвящённой phi-1.5, аспирант из Стэнфордского университета Райлан Шеффер выложил на arXiv пародийный препринт под названием «Предобучение на тестовом наборе — это всё, что вам нужно» [Pretraining on the Test Set Is All You Need] [2669] , в котором рассказал о создании модели Phi-CTNL (читается как fictional, т. е. «вымышленный»). По словам автора, модель достигает 100%-ной точности на ряде публичных тестовых наборов задач благодаря... качеству данных! [2670] А именно — добавлению в обучающую выборку всех вопросов из публичных тестов, а также правильных ответов к ним! Таким образом Шеффер намекнул, что специально подготовленные обучающие данные моделей phi очень уж похожи на тесты, использованные для их оценки. Шеффер не был первым из специалистов в области машинного обучения, привлекших внимание к проблеме «протечки» [leakage] тестовых заданий в обучающие выборки фундаментальных моделей [2671] . Причём такого рода протечки обычно бывают неумышленными — такие задания могут оказаться в обучающей выборке в процессе автоматического сбора информации в Сети. Чтобы исключить подобное, в тестовые наборы данных часто включают какую-либо уникальную длинную последовательность символов, и если обученная модель «помнит» эту последовательность — это верный признак «протечки».
2669
Schaeffer R. (2023). Pretraining on the Test Set Is All You Need // https://arxiv.org/abs/2309.08632
2670
Schaeffer R. (2023). // https://twitter.com/RylanSchaeffer/status/1702346986329108703
2671
Riccio D. (2023). Five Hidden Causes of Data Leakage You Should Be Aware of / Towards Data Science, Apr 11, 2023 // https://towardsdatascience.com/five-hidden-causes-of-data-leakage-you-should-be-aware-of-e44df654f185
Впрочем, с самой идеей важности использования качественных данных для обучения фундаментальных моделей вряд ли кто-то может поспорить. Она подтверждается многочисленными экспериментами в области обучения современных LLM [2672] , [2673] . В последнее время исследователи уделяют большое внимание созданию качественных публичных датасетов для обучения больших языковых моделей, подобных, например, Slim Pajama [2674] и CulturaX [2675] .
2672
Tirumala K., Simig D., Aghajanyan A., Morcos A. S. (2023). D4: Improving LLM Pretraining via Document De-Duplication and Diversification // https://arxiv.org/abs/2308.12284
2673
Dai X., Hou J., Ma C., Tsai S., Wang J., Wang R., Zhang P., Vandenhende S., Wang X., Dubey A., Yu M., Kadian A., Radenovic F., Mahajan D., Li K., Zhao Y., Petrovic V., Singh M. K., Motwani S., Wen Y., Song Y., Sumbaly R., Ramanathan V., He Z., Vajda P., Parikh D. (2023). Emu: Enhancing Image Generation Models Using Photogenic Needles in a Haystack // https://arxiv.org/abs/2309.15807
2674
Soboleva D., Al-Khateeb F., Myers R., Steeves J. R., Hestness J., Nolan D. (2023). SlimPajama: A 627B token cleaned and deduplicated version of RedPajama // https://www.cerebras.net/blog/slimpajama-a-627b-token-cleaned-and-deduplicated-version-of-redpajama
2675
Nguyen T., Nguyen C. V., Lai V. D., Man H., Ngo N. T., Dernoncourt F., Rossi R. A., Nguyen T. H. (2023). CulturaX: A Cleaned, Enormous, and Multilingual Dataset for Large Language Models in 167 Languages // https://arxiv.org/abs/2309.09400
Итак, рецепт изготовления вашего собственного аналога ChatGPT выглядит следующим образом:
1. Взять предобученную языковую модель. Это может быть LLaMA или, например, наша ruGPT-3.5 (если для вас важно, чтобы ответы модели на русском языке были более грамотными и точными).
На этом этапе модель уже очень много знает о мире, но пока ещё недостаточно хорошо умеет отвечать вам в правильной форме — то есть при помощи диалоговых реплик, содержащих по возможности наиболее полные решения поставленных перед моделью задач.
2. Выполнить процесс дообучения модели, который обычно называют SFT (Supervised fine-tuning, Дообучение с учителем). Это весьма ответственная задача, поскольку для её реализации требуется собрать очень качественный набор обучающих данных в инструктивной форме. Они могут выглядеть примерно так:
Вопрос: Дай ответ на главный вопрос жизни, Вселенной и всего такого.
Ответ: Ответ на главный вопрос жизни, Вселенной и всего такого был представлен в научно-фантастическом романе Дугласа Адамса «Автостопом по галактике». В книге суперкомпьютер по имени «Глубокий мыслитель» (Deep Thought) вычислил этот ответ, и он равен 42. Однако сам вопрос, на который отвечает число 42, так и остался неизвестным. Это стало источником юмора и символом парадокса в поиске смысла жизни и Вселенной.
Инструктивные данные не только задают форму ответов модели, настраивая её отвечать подобным образом, но и влияют на её «систему ценностей». Например, для того, чтобы модель не грубила в ответ на грубости пользователя, в инструктивный датасет специально добавляют примеры с вежливыми ответами на невежливые реплики пользователя. Задача разработки специализированного этического подмножества для инструктивного датасета — одна из важнейших задач при проектировании генеративной модели, предназначенной для массового применения. Некоторые ответы модели могут быть не такими уж и безобидными. Например, модель может дать некорректную медицинскую рекомендацию, что может обернуться вредом для здоровья беспечного пользователя. Поэтому важно составить детальную структуру рискованных тем и покрыть каждый из выявленных таксонов достаточно представительным набором примеров выверенных ответов. Вообще для того, чтобы инструктивные данные были максимально качественными, нужно обеспечить их тщательную проверку, в том числе с привлечением экспертов по различным областям человеческих знаний.
3. Обучить модель-оценщик. Обычно это отдельная классификационная модель, которая умеет предсказывать, какой из вариантов, сгенерированных языковой моделью, больше понравится пользователю. Чтобы обучить эту модель, нужна соответствующая разметка.
4. Финальное выравнивание. Теперь нужно пропускать через модель результаты генерации и обновлять её веса при помощи алгоритма оптимизации на базе аппроксимации политики (PPO) [2676] , [2677] , [2678] .
2676
*** В настоящее время исследователи активно изучают и другие формы обучения с подкреплением для языковых моделей, например прямую оптимизацию политики (Direct Policy Optimization, DPO) и даже обучение с обратной связью от ИИ (RL from AI Feedback, RLAIF).
2677
Rafailov R., Sharma A., Mitchell E., Ermon S., Manning C. D., Finn C. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model // https://arxiv.org/abs/2305.18290
2678
Bai Y., Kadavath S., Kundu S., Askell A., Kernion J., Jones A., Chen A., Goldie A., Mirhoseini A., McKinnon C., Chen C., Olsson C., Olah C., Hernandez D., Drain D., Ganguli D., Li D., Tran-Johnson E., Perez E., Kerr J., Mueller J., Ladish J., Landau J., Ndousse K., Lukosuite K., Lovitt L., Sellitto M., Elhage N., Schiefer N., Mercado N., DasSarma N., Lasenby R., Larson R., Ringer S., Johnston S., Kravec S., Showk S. E., Fort S., Lanham T., Telleen-Lawton T., Conerly T., Henighan T., Hume T., Bowman S. R., Hatfield-Dodds Z., Mann B., Amodei D., Joseph N., McCandlish S., Brown T., Kaplan J. (2022). Constitutional AI: Harmlessness from AI Feedback // https://arxiv.org/abs/2212.08073
Примерно таким образом были обучены модели, лежащие в основе сервиса GigaChat, запущенного для ограниченной аудитории 24 апреля 2023 г. GigaChat чем-то похож на дирижёра большого оркестра, с той лишь разницей, что управляет он не музыкантами, а нейросетями. Основу нейросетевого ансамбля составляют модели ruGPT-3.5 (в более поздних версиях — ruGPT-4) и Kandinsky 2.1 (в более поздних версиях — Kandinsky 2.2 и Kandinsky 3.0). Функцию генератора ответа берёт на себя сеть ruGPT, при этом ответы могут содержать динамические блоки, необходимые для вызовов других нейросетей и алгоритмов (например, калькулятора). Набор моделей, входящих в ансамбль, получил название NeONKA (NEural Omnimodal Network with Knowledge-Awareness, Нейронная омнимодальная сеть, базирующаяся на знаниях). Это название отсылает к «Сказке о Тройке» братьев Стругацких и описанной там эвристической машине «для отвечания на все вопросы». Её ушлый изобретатель утверждал, что секрет машины именно в мистической «неонке», благодаря которой «ротор поля наподобие дивергенции градуирует себя вдоль спина и там, внутре, обращает материю вопроса в спиритуальные электрические вихри, из коих и возникает синекдоха отвечания…». Правда, для работы машины нужен был сам изобретатель, который собственноручно печатал ответы на печатной машинке. Современная же нейросетевая NeONKA позволяет одновременно вести сотни тысяч диалогов, не прибегая к помощи человека. Таким образом, научно-технический прогресс превзошёл сегодня даже самые смелые ожидания фантастов.