Генерация текста — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 4: Строка 4:
 
как можно продолжить текущий отрывок текста, а в конечном итоге — уметь генерировать связный осмысленный текст.
 
как можно продолжить текущий отрывок текста, а в конечном итоге — уметь генерировать связный осмысленный текст.
  
''' Задача генерации текста ''' включает в себя задачу [http://neerc.ifmo.ru/wiki/index.php?title=Обработка_естественного_языка обработки естественного языка]</ref> (Natural Language Processing, NLP) и реализует возможность языковой модели отвечать на вопросы, на основе исходного текста предсказывать последующее слово и генерировать осмысленный текст.
+
''' Задача генерации текста ''' включает в себя задачу обработки естественного языка (Natural Language Processing, NLP) <ref>[http://neerc.ifmo.ru/wiki/index.php?title=Обработка_естественного_языка Задача обработки естественного языка (Natural Language Processing, NLP)]</ref> и реализует возможность языковой модели отвечать на вопросы, на основе исходного текста предсказывать последующее слово и генерировать осмысленный текст.
  
 
== История создания языковых моделей ==
 
== История создания языковых моделей ==
Первый алгоритм генерации текста GPT (Generative Pre-trained Transformer) выпустили в 2018 году. Его обучали на 117 миллионах параметров, что в те времена считалось хорошим показателем. На основе этой разработки, в конце 2018 года компания Google выпустила двунаправленную нейросеть <ref>[https://en.wikipedia.org/wiki/BERT_(language_model) BERT(Bidirectional Encoder Representations from Transformers)]</ref>, получившую статус state-of-the-art — высшую точку развития технологии на тот момент.
+
Первый алгоритм генерации текста GPT (Generative Pre-trained Transformer) выпустили в 2018 году. Его обучали на 117 миллионах параметров, что в те времена считалось хорошим показателем. На основе этой разработки, в конце 2018 года компания Google выпустила двунаправленную нейросеть BERT (Bidirectional Encoder Representations from Transformers) <ref>[https://en.wikipedia.org/wiki/BERT_(language_model) BERT (Bidirectional Encoder Representations from Transformers)]</ref>, получившую статус state-of-the-art — высшую точку развития технологии на тот момент.
  
 
Алгоритм GPT первого поколения был обучен на выборке массивов текстов из Wikipedia и из литературных произведений. Позже создатели поняли, что это не самый оптимальный тип данных для обучения модели. Нейросеть быстрее учится понимать естественную речь на основе простых постов в интернете. Поэтому в 2019 году OpenAI обучили GPT второго поколения на данных, собранных с обычных форумов {{---}} выборка пользователей Reddit, причем обязательно с рейтингом выше среднего (как минимум 3 кармы). Последнее учитывалось, чтобы отбросить рекламные или спам-страницы и оставить только полезные. Новая версия нейросети получила название GPT-2.
 
Алгоритм GPT первого поколения был обучен на выборке массивов текстов из Wikipedia и из литературных произведений. Позже создатели поняли, что это не самый оптимальный тип данных для обучения модели. Нейросеть быстрее учится понимать естественную речь на основе простых постов в интернете. Поэтому в 2019 году OpenAI обучили GPT второго поколения на данных, собранных с обычных форумов {{---}} выборка пользователей Reddit, причем обязательно с рейтингом выше среднего (как минимум 3 кармы). Последнее учитывалось, чтобы отбросить рекламные или спам-страницы и оставить только полезные. Новая версия нейросети получила название GPT-2.
Строка 13: Строка 13:
 
== GPT-2 ==
 
== GPT-2 ==
  
'''GPT-2 (Generative Pre-trained Transformer 2)''' — это огромная языковая модель, созданная компанией [https://openai.com/ OpenAI]. Модель основана на архитектуре <ref>[https://ru.wikipedia.org/wiki/Трансформер_(модель_машинного_обучения) Transformer]</ref>, с 1.5 млрд параметров, обученная на [https://openai.com/blog/better-language-models/#fn1 датасете], состоящем из 8 млн специально отобранных веб-страниц.
+
'''GPT-2 (Generative Pre-trained Transformer 2)''' — это огромная языковая модель, созданная компанией [https://openai.com/ OpenAI]. Модель основана на архитектуре Transformer<ref>[https://ru.wikipedia.org/wiki/Трансформер_(модель_машинного_обучения) архитектура Transformer]</ref>, с 1.5 млрд параметров, обученная на [https://openai.com/blog/better-language-models/#fn1 датасете], состоящем из 8 млн специально отобранных веб-страниц.
  
 
==== Что умеет GPT-2 ====
 
==== Что умеет GPT-2 ====
Строка 26: Строка 26:
  
 
==== Исходный код ====
 
==== Исходный код ====
OpenAI отказались выкладывать полную версию GPT-2, так как посчитали, что ей будут пользоваться для генерации фейковых новостей. В сети доступна <ref>[https://github.com/openai/gpt-2 версия GPT-2 с уменьшенным количеством параметров]</ref> (до 117 млн параметров, вместо 1.5 млрд, как в полной модели).
+
OpenAI отказались выкладывать полную версию GPT-2, так как посчитали, что ей будут пользоваться для генерации фейковых новостей. В сети доступна версия GPT-2 с уменьшенным количеством параметров <ref>[https://github.com/openai/gpt-2 Код GPT-2 с уменьшенным количеством параметров]</ref> (до 117 млн параметров, вместо 1.5 млрд, как в полной модели).
  
 
== GPT-3 ==
 
== GPT-3 ==

Версия 21:11, 21 января 2021

Задача генерации текста

Одной из методик машинного обучения являются предиктивные модели, предсказывающие значения своих будущих входов. Такие модели являются мощным средством машинного обучения языку. Они должны уметь предсказывать, как можно продолжить текущий отрывок текста, а в конечном итоге — уметь генерировать связный осмысленный текст.

Задача генерации текста включает в себя задачу обработки естественного языка (Natural Language Processing, NLP) [1] и реализует возможность языковой модели отвечать на вопросы, на основе исходного текста предсказывать последующее слово и генерировать осмысленный текст.

История создания языковых моделей

Первый алгоритм генерации текста GPT (Generative Pre-trained Transformer) выпустили в 2018 году. Его обучали на 117 миллионах параметров, что в те времена считалось хорошим показателем. На основе этой разработки, в конце 2018 года компания Google выпустила двунаправленную нейросеть BERT (Bidirectional Encoder Representations from Transformers) [2], получившую статус state-of-the-art — высшую точку развития технологии на тот момент.

Алгоритм GPT первого поколения был обучен на выборке массивов текстов из Wikipedia и из литературных произведений. Позже создатели поняли, что это не самый оптимальный тип данных для обучения модели. Нейросеть быстрее учится понимать естественную речь на основе простых постов в интернете. Поэтому в 2019 году OpenAI обучили GPT второго поколения на данных, собранных с обычных форумов — выборка пользователей Reddit, причем обязательно с рейтингом выше среднего (как минимум 3 кармы). Последнее учитывалось, чтобы отбросить рекламные или спам-страницы и оставить только полезные. Новая версия нейросети получила название GPT-2.

GPT-2

GPT-2 (Generative Pre-trained Transformer 2) — это огромная языковая модель, созданная компанией OpenAI. Модель основана на архитектуре Transformer[3], с 1.5 млрд параметров, обученная на датасете, состоящем из 8 млн специально отобранных веб-страниц.

Что умеет GPT-2

Изначально нейросеть обучали предсказывать следующее слово в предложении. Помимо основной задачи модель качественно генерирует образцы текста из-за использования трансформерной архитектуры и обучения на большом датасете. Таким образом, GPT-2 - не просто языковая модель, а мощный генератор текстов.

Что еще умеет?
  1. Краткий пересказ текста или обобщение. В качестве входных данных нужно подать не просто фрагмент, а целый текст, а модель выдаст краткое содержание рассказа.
  2. Ответы на вопросы исходя из содержания текста. На входе подается несколько примеров в виде «Вопрос-Ответ», в конце же дается реальный вопрос, на который нейросеть выдает по тому же макету ответ.
  3. Перевод текстов. Механизм работы с переводами похож на механизм работы с ответами на вопросы: на вход подается примеры в виде «Слово-Перевод», в конце подается только слово, а нейросеть выдает перевод.

Особенность GPT-2

Главной особенностью GPT-2 является то, что нейросеть не нужно дообучать под конкретную задачу, чтобы та показывала нужные пользователю результаты. Нейросеть ​​приспосабливается к стилю и содержанию текста, что позволяет ей генерировать реалистичные отрывки, продолжающие исходные фразы. Сразу после обучения нейросеть уже готова сгенерировать текст со всеми логическими вставками: повторное упоминание имен героев, цитаты, отсылки, выдержка одного стиля на протяжении всего текста, связанное повествование.

Исходный код

OpenAI отказались выкладывать полную версию GPT-2, так как посчитали, что ей будут пользоваться для генерации фейковых новостей. В сети доступна версия GPT-2 с уменьшенным количеством параметров [4] (до 117 млн параметров, вместо 1.5 млрд, как в полной модели).

GPT-3

GPT-3 (Generative Pre-trained Transformer 3) — третье поколение языковой модели от OpenAI. GPT-3 продолжает подход OpenAI, заложенный в GPT и GPT-2. По сравнению с GPT-2 количество используемых параметров увеличилось более чем в 100 раз: с 1,5 до 175 млрд. Для обучения алгоритма исследователи собрали датасет, состоящий из английской Википедии, которая охватывает около 6 миллионов статей, составляет всего 0,6 процента ее обучающих данных. Остальное - оцифрованные книги и различные веб-страницы. Это означает, что обучающие данные GPT-3 включают в себя не только новостные статьи, рецепты и стихи, но и руководства по кодированию, фанфики, религиозные пророчества, путеводители по певчим птицам Боливии и все остальное, что только можно представить.

См. также

Примечания

Источники