GPT-3
GPT-3 — большая языковая модель, разработанная компанией OpenAI и выпущенная в 2020 году.
Как и её предшественник, GPT-2, GPT-3 реализует глубокую нейронную сеть на базе архитектуры трансформера только с декодером[2]. Эта архитектура, в отличие от рекуррентных и свёрточных сетей, основана на механизме внимания[3], что позволяет модели избирательно фокусироваться на наиболее значимых сегментах входного текста[4]. Модель содержит 175 миллиардов параметров, каждый из которых представлен с 16-битной точностью и занимает 2 байта (итого около 350 ГБ). Размер контекстного окна — 2048 токенов. Модель хорошо проявляет способности к zero-shot и few-shot обучению при выполнении разнообразных задач[2].
22 сентября 2020 года Microsoft объявила о получении эксклюзивной лицензии на GPT-3. Другие пользователи могут получать только доступ к публичному API, в то время как сам исходный код модели доступен только Microsoft[5].
Общие сведения
| GPT-3 | |
|---|---|
| Тип | большая языковая модель, генеративный предварительно обученный трансформер, фундаментальная модель |
| Автор | OpenAI |
| Разработчик | OpenAI |
| Первый выпуск | 28 мая 2020 |
| Последняя версия |
|
| Репозиторий | github.com/openai/gpt-3 |
| Лицензия | проприетарная |
| Сайт | openai.com/blog/openai-a… |
Предпосылки
По данным The Economist, развитие алгоритмов, рост вычислительных мощностей и увеличение объёмов оцифрованных данных вызвали революцию в машинном обучении. Технологии 2010-х годов привели к «быстрому росту возможностей в задачах», включая обработку языка[6].
Программное обеспечение обучается на тысячах или миллионах примеров по принципу, схожему с нейронной архитектурой мозга[6]. Одна из применяемых архитектур в обработке естественного языка — глубокая нейронная сеть на базе трансформера, предложенного в 2017 году[7]. Современные NLP-системы способны анализировать, организовывать, связывать и сопоставлять текстовые данные, а также отвечать на вопросы[8].
11 июня 2018 года исследователи OpenAI опубликовали статью, представив первую модель генеративного предварительно обученного трансформера (GPT) — разновидность генеративных больших языковых моделей на базе архитектуры трансформер, сначала предварительно обучаемых на колоссальных разнообразных корпусах данных, а затем дообучаемых с учётом специфических задач. Ранее лучшие модели NLP основывались на обучении с учителем и требовали больших объёмов вручную размеченных данных, что существенно ограничивало масштаб[2]. Первая модель получила обозначение «GPT-1», затем в феврале 2019 года была представлена «GPT-2» с увеличенным в 10 раз количеством параметров и размером датасета (1,5 млрд параметров, обучалась на 8 миллионах интернет-страниц)[9].
В феврале 2020 года Microsoft представила Turing Natural Language Generation (T-NLG) — на тот момент крупнейшую языковую модель с 17 миллиардами параметров[10]. Она превзошла конкурентов по ряду задач, включая обобщение текстов и ответы на вопросы.
Обучение и возможности
| Датасет | Кол-во токенов | Доля в обучении |
|---|---|---|
| Common Crawl | 410 млрд | 60 % |
| WebText2 | 19 млрд | 22 % |
| Books1 | 12 млрд | 8 % |
| Books2 | 55 млрд | 8 % |
| Википедия | 3 млрд | 3 % |
28 мая 2020 года команда из 31 инженера и исследователя OpenAI опубликовала препринт, описывающий принципы, архитектуру и достижения GPT-3 — модели третьего поколения[11]. Объём модели увеличился по сравнению с GPT-2 более чем в 100 раз[12], что сделало её крупнейшей неразреженной языковой моделью своего времени[13]. Структурно GPT-3 похожа на предшественников, а рост точности объясняется увеличением числа параметров[14]. GPT-3 по своей ёмкости в 10 раз превышала Microsoft Turing NLG — следующее по размеру решение на тот момент[11].
По оценкам LambdaLabs, гипотетически обучение GPT-3 на одном GPU в 2020 году заняло бы 355 лет и стоило около 4,6 млн долларов США[15] (на практике используются массово-параллельные вычисления).
60 % веса объёма тренировочного датасета GPT-3 составил фильтрованный компонент Common Crawl, насчитывающий 410 млрд токенов (использована MinHashLSH поверх Apache Spark). Также использованы WebText2 (19 млрд токенов, 22 %), Books1 (12 млрд, 8 %), Books2 (55 млрд, 8 %) и Википедия (3 млрд, 3 %). Всего модель обучена на сотнях миллиардов слов и способна генерировать и интерпретировать код на CSS, JSX, Python и других языках.
Масштаб обучающей выборки позволяет использовать GPT-3 без дополнительного обучения для выполнения различных языковых задач. Тем не менее, в обучающих данных встречается токсичный язык, и модель может генерировать подобный текст. Исследование Университета Вашингтона показало, что уровень токсичности GPT-3 сопоставим с другими крупными языковыми моделями (GPT-2 и CTRL). OpenAI реализовала ряд методов для снижения токсичного вывода; итоговая токсичность ниже, чем у GPT-1, но выше по ряду показателей, чем у CTRL Wiki (модель, основанная только на данных Википедии)[16].
11 июня 2020 года OpenAI открыла пользователям доступ к API GPT-3 для изучения её возможностей[17][18]. Согласно отзывам ранних пользователей с приватным доступом API GPT-3, модель способна выдавать связный и осмысленный текст с минимальными подсказками[19]. В эксперименте, где 80 человек должны были отличить короткие (~200 слов) тексты, написанные GPT-3 и людьми, точность угадывания составила лишь 52 % — немногим выше случайного выбора.
18 ноября 2021 года OpenAI объявила о снятии очереди на доступ к API[20] и внедрила инструмент для модерации сгенерированных текстов. С января 2022 года по умолчанию используются модели семейства InstructGPT, которые лучше следуют инструкциям пользователя и меньше генерируют нежелательного (например, вымышленных) или токсичных данных[21].
Семейство моделей GPT-3
Существует множество моделей GPT-3, отличающихся размером и задачами. В первоначальной статье OpenAI приводились восемь основных конфигураций GPT-3 (см. таблицу):
| Название модели | Число параметров | Число слоёв | Размер слоя, d_model | Кол-во голов внимания | Размер головы внимания | Batch Size | Learning Rate | API-имя |
|---|---|---|---|---|---|---|---|---|
| GPT-3 Small | 125 млн | 12 | 768 | 12 | 64 | 0,5 млн | 6,0×10⁻⁴ | |
| GPT-3 Medium | 350 млн | 24 | 1024 | 16 | 64 | 0,5 млн | 3,0×10⁻⁴ | ada |
| GPT-3 Large | 760 млн | 24 | 1536 | 16 | 96 | 0,5 млн | 2,5×10⁻⁴ | |
| GPT-3 XL | 1,3 млрд | 24 | 2048 | 24 | 128 | 1 млн | 2,0×10⁻⁴ | babbage |
| GPT-3 2.7B | 2,7 млрд | 32 | 2560 | 32 | 80 | 1 млн | 1,6×10⁻⁴ | |
| GPT-3 6.7B | 6,7 млрд | 32 | 4096 | 32 | 128 | 2 млн | 1,2×10⁻⁴ | curie |
| GPT-3 13B | 13 млрд | 40 | 5140 | 40 | 128 | 2 млн | 1,0×10⁻⁴ | |
| GPT-3 175B | 175 млрд | 96 | 12288 | 96 | 128 | 3,2 млн | 0,6×10⁻⁴ | davinci |
Часть крупных моделей доступны через API (medium, xl, 6.7B, 175B), и в OpenAI они носят имена ada, babbage, curie, davinci соответственно. Сопоставление размеров и API-имён изначально было раскрыто сторонними исследователями[22] и позже подтверждено OpenAI[23].
| Модель | Параметров | Описание | Линейка |
|---|---|---|---|
| ada | 350 млн | Для простейших задач, самая быстрая модель, минимальная стоимость | Base GPT-3 |
| babbage / babbage-002 | 1,3 млрд | Для типовых задач, очень быстрый отклик, невысокая стоимость | Base GPT-3 |
| curie | 6,7 млрд | Высокие возможности, быстрее и дешевле, чем Davinci | Base GPT-3 |
| davinci / davinci-002 | 175 млрд | Самая мощная базовая модель GPT-3, максимальное качество | Base GPT-3 |
| text-ada-001 | 350 млн | Для простых задач; быстрая модель, минимальная стоимость | InstructGPT |
| text-babbage-001 | 1,3 млрд | Простые задачи, быстрый отклик, невысокая стоимость | InstructGPT |
| text-curie-001 | 6,7 млрд | Высокие возможности, быстрее и дешевле, чем Davinci | InstructGPT |
| text-davinci-001 | 175 млрд | Старая версия самой мощной модели GPT-3; поддерживает меньше контекста | InstructGPT |
| text-davinci-002 / code-davinci-002 | не раскрыто | Похожие возможности, что и text-davinci-003, но обучена через супервизированное дообучение | GPT-3.5 |
| text-davinci-003 | не раскрыто | Любые языковые задачи, поддерживает длинный вывод, качественно следует инструкциям | GPT-3.5 |
| gpt-3.5-turbo / gpt-3.5-turbo-instruct / gpt-3.5-turbo-16k | не раскрыто | Самая быстрая и эффективная модель GPT-3.5, оптимизирована для чата | GPT-3.5 |
GPT-3.5
GPT-3.5 — подкласс моделей GPT-3, выпущенный компанией OpenAI в 2022 году.
15 марта 2022 года OpenAI представила новые версии GPT-3 и Codex (text-davinci-002, code-davinci-002) с поддержкой редактирования и вставки текста через API[24]. Они были обучены на данных до июня 2021 года. 28 ноября 2022 года была представлена text-davinci-003. 30 ноября 2022 года эти модели были объединены под общим названием GPT-3.5, тогда же появилась ChatGPT, которая основана на модели семейства GPT-3.5[25]. OpenAI официально отделяет GPT-3.5 от GPT-3.
Модели GPT-3.5:
- Chat — gpt-3.5-turbo
- Генерация текста — text-davinci-003, text-davinci-002
GPT-3.5 с доступом к интернету
10 апреля 2023 года компания OpenAI представила вариант GPT-3.5 с поддержкой поиска (GPT-3.5 with Browsing, ALPHA). Эта версия строится на успехах text-davinci-002 и code-davinci-002 и обеспечивает доступ к актуальной информации в интернете в момент работы модели.
Применение
- Модель Codex на базе GPT-3 легла в основу GitHub Copilot, инструмента автодополнения и генерации кода в IDE и редакторах[26][27].
- Сервис CodexDB использует GPT-3 для генерации SQL по текстовым вопросам[30].
- Jason Rohrer создал чат-бот «Project December» с использованием GPT-3[31].
- The Guardian опубликовала статью, полностью написанную GPT-3[32].
- GPT-3 ранее использовалась в AI Dungeon, но позже была заменена конкурентной моделью после смены политики OpenAI[33].
Примечания
- ↑ Brown T., Brown T. B., Mann B., Ryder N., Kaplan J. D., Kaplan J., Neelakantan A., Subbiah M., Dhariwal P., Neelakantan A. et al. Language Models are Few-Shot Learners (англ.) // ArXiv.org — 2020. — 75 p. — ISSN 2331-8422 — doi:10.48550/ARXIV.2005.14165 — arXiv:2005.14165
- ↑ 1 2 3 Radford, Alec; Narasimhan, Karthik; Salimans, Tim; Sutskever, Ilya Improving Language Understanding by Generative Pre-Training 12 (11 июня 2018). Дата обращения: 31 июля 2020. Архивировано 26 января 2021 года.
- ↑ Vaswani, Ashish; Shazeer, Noam; Parmar, Niki; Uszkoreit, Jakob; Jones, Llion; Gomez, Aidan N; Kaiser, Łukasz; Polosukhin, Illia (2017). “Attention is All you Need” (PDF). Advances in Neural Information Processing Systems. Curran Associates, Inc. 30.
- ↑ Bahdanau, Dzmitry; Cho, Kyunghyun & Bengio, Yoshua (1 September 2014), Neural Machine Translation by Jointly Learning to Align and Translate, arΧiv:1409.0473 [cs.CL].
- ↑ Hao, Karen (23 сентября 2020). “OpenAI предоставляет Microsoft эксклюзивный доступ к своей языковой модели GPT-3”. MIT Technology Review [англ.]. Архивировано из оригинала 5 февраля 2021. Дата обращения 25 сентября 2020.
Компания OpenAI продолжит предоставлять публичный API, однако только Microsoft получит полный доступ к исходному коду и возможность изменять модель.
Используется устаревший параметр|url-status=(справка) - ↑ 1 2 Осознание ограничений ИИ начинает укореняться (11 июня 2020). Архивировано 31 июля 2020. Дата обращения: 31 июля 2020.
- ↑ Polosukhin, Illia; Kaiser, Lukasz; Gomez, Aidan N.; Jones, Llion; Uszkoreit, Jakob; Parmar, Niki; Shazeer, Noam & Vaswani, Ashish (12 июня 2017), Attention Is All You Need, arΧiv:1706.03762 [cs.CL].
- ↑ Обработка естественного языка. Дата обращения: 31 июля 2020. Архивировано 22 августа 2020 года.
- ↑ Language Models are Unsupervised Multitask Learners. Дата обращения: 28 апреля 2023. Архивировано 6 февраля 2021 года.
- ↑ Sterling, Bruce (13 февраля 2020). “Web Semantics: Microsoft Project Turing introduces Turing Natural Language Generation (T-NLG)”. Wired. ISSN 1059-1028. Архивировано из оригинала 4 ноября 2020. Дата обращения 31 июля 2020. Используется устаревший параметр
|url-status=(справка) - ↑ 1 2 Sagar, Ram (3 июня 2020). “OpenAI Releases GPT-3, The Largest Model So Far”. Analytics India Magazine. Архивировано из оригинала 4 августа 2020. Дата обращения 31 июля 2020. Используется устаревший параметр
|url-status=(справка) - ↑ Language Models are Unsupervised Multitask Learners. openai.com. — «"GPT-2, is a 1.5B parameter Transformer"». Дата обращения: 4 декабря 2019. Архивировано 12 декабря 2019 года.
- ↑ Shead, Sam. Why everyone is talking about the A.I. text generator released by an Elon Musk-backed lab, CNBC (23 июля 2020). Архивировано 30 июля 2020. Дата обращения: 31 июля 2020.
- ↑ Ray, Tiernan Огромная GPT-3 от OpenAI указывает на пределы языковых моделей для ИИ. ZDNet (1 июня 2020). Дата обращения: 31 июля 2020. Архивировано 1 июня 2020 года.
- ↑ Li, Chuan (3 июня 2020), OpenAI's GPT-3 Language Model: A Technical Overview, <https://lambdalabs.com/blog/demystifying-gpt-3>. Проверено 27 марта 2023.
- ↑ Gehman, Samuel; Gururangan, Suchin; Sap, Maarten & Choi, Yejin (16–20 ноября 2020), REALTOXICITYPROMPTS: Evaluating Neural Toxic Degeneration in Language Models, Association for Computational Linguistics, с. 3356–3369
- ↑ OpenAI API. OpenAI (11 июня 2020). Дата обращения: 31 июля 2020. Архивировано 11 июня 2020 года.
- ↑ Coldewey, Devin OpenAI запускает универсальное API для своих языковых моделей. TechCrunch (11 июня 2020). — «API позволяет обращаться к языковым инструментам OpenAI для практически любых задач на английском языке.» Дата обращения: 31 июля 2020. Архивировано 27 октября 2021 года.
- ↑ Arram GPT-3: ИИ, который пугающе хорошо пишет почти всё. Arram Sabeti (9 июля 2020). Дата обращения: 31 июля 2020. Архивировано 20 июля 2020 года.
- ↑ OpenAI API теперь доступен без ожидания (англ.). OpenAI (18 ноября 2021). Дата обращения: 5 ноября 2022. Архивировано 5 ноября 2022 года.
- ↑ Aligning Language Models to Follow Instructions (англ.). OpenAI (27 января 2022). Дата обращения: 5 ноября 2022. Архивировано 5 ноября 2022 года.
- ↑ Gao, Leo On the Sizes of OpenAI API Models. EleutherAI Blog. EleutherAI (24 мая 2021). Дата обращения: 23 ноября 2023. Архивировано 28 апреля 2025 года.
- ↑ Model index for researchers. OpenAI. Дата обращения: 23 ноября 2023. Архивировано 2 декабря 2022 года.
- ↑ New GPT-3 Capabilities: Edit & Insert (англ.). OpenAI (15 марта 2022). Дата обращения: 13 января 2023. Архивировано 13 января 2023 года.
- ↑ ChatGPT: оптимизация языковых моделей для диалога (англ.). OpenAI (30 ноября 2022). Дата обращения: 13 января 2023. Архивировано 30 ноября 2022 года.
- ↑ OpenAI Codex (англ.). OpenAI (10 августа 2021). Дата обращения: 23 декабря 2022. Архивировано 3 февраля 2023 года.
- ↑ Thompson, Clive (15 марта 2022). “Как ИИ стал моим волшебным помощником по написанию кода”. Wired. Архивировано из оригинала 23 декабря 2022. Дата обращения 23 декабря 2022. Используется устаревший параметр
|url-status=(справка) - ↑ Microsoft: первые продуктовые функции на базе GPT-3 и Azure. The AI Blog (25 мая 2021). Дата обращения: 26 мая 2021. Архивировано 26 мая 2021 года.
- ↑ Microsoft выпустила автодополнение кода на базе GPT-3, The Verge (25 мая 2021). Архивировано 23 декабря 2022. Дата обращения: 23 декабря 2022.
- ↑ CodexDB — SQL на базе GPT-3. CodexDB - SQL Processing Powered by GPT-3. Дата обращения: 7 декабря 2022. Архивировано 7 декабря 2022 года.
- ↑ Fagone, Jason. The Jessica Simulation: Любовь и утрата в эпоху ИИ, San Francisco Chronicle (23 июля 2021). Архивировано 28 июля 2021. Дата обращения: 29 июля 2021.
- ↑ GPT-3. Робот написал эту статью. Вы уже боитесь, человек?, The Guardian (8 сентября 2020). Архивировано 8 сентября 2020. Дата обращения: 15 сентября 2020.
- ↑ Обновление языковых моделей и Dragon. Latitude blog (8 декабря 2021). Дата обращения: 22 марта 2022. Архивировано 25 апреля 2022 года.