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

Материал из Викиконспекты
Перейти к: навигация, поиск
 
(не показаны 3 промежуточные версии этого же участника)
Строка 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 млрд параметров, обученная на <ref>[https://openai.com/blog/better-language-models/#fn1 датасете]</ref>, состоящем из 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 ====
 
Изначально нейросеть обучали предсказывать следующее слово в предложении. Помимо основной задачи модель качественно генерирует образцы текста из-за использования трансформерной архитектуры и обучения на большом датасете. Таким образом, 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 ==
Строка 42: Строка 42:
 
   
 
   
 
* [https://openai.com/blog/better-language-models/ OpenAI article]
 
* [https://openai.com/blog/better-language-models/ OpenAI article]
* [https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf Language Models are Unsupervised Multitask Learners by Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever]
+
* [https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf "Language Models are Unsupervised Multitask Learners" by Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever]
 
* [https://tjournal.ru/tech/195331-neyroset-gpt-3-ot-openai-pishet-stihi-muzyku-i-kod-pochemu-ona-poka-daleka-ot-nastoyashchego-ii-no-sposobna-pomenyat-mir Neural network GPT-3]
 
* [https://tjournal.ru/tech/195331-neyroset-gpt-3-ot-openai-pishet-stihi-muzyku-i-kod-pochemu-ona-poka-daleka-ot-nastoyashchego-ii-no-sposobna-pomenyat-mir Neural network GPT-3]
 
* [https://ru.wikipedia.org/wiki/GPT-3 GPT-3 Wikipedia article]
 
* [https://ru.wikipedia.org/wiki/GPT-3 GPT-3 Wikipedia article]

Текущая версия на 21:13, 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 включают в себя не только новостные статьи, рецепты и стихи, но и руководства по кодированию, фанфики, религиозные пророчества, путеводители по певчим птицам Боливии и все остальное, что только можно представить.

См. также[править]

Примечания[править]

Источники[править]