GPT для чайников: от токенизации до файнтюнинга

К моему удивлению, в открытом доступе оказалось не так уж много подробных и понятных объяснений того как работает модель GPT от OpenAI. Поэтому я решил всё взять в свои руки и написать этот туториал.

Компьютерный анализ и синтез естественных языков

К моему удивлению, в открытом доступе оказалось не так уж много подробных и понятных объяснений того как работает модель GPT от OpenAI. Поэтому я решил всё взять в свои руки и написать этот туториал.

Текст написан иностранным агентом – лицом, проживающим за пределами России (в Канаде). Иллюстрации взяты из открытых источников - если не указано иное, из Википедии.
В предыдущей статье речь шла о том, как не имея параллельных текстов, методом структурно-логического анализа удалось дешифровать тексты Линейным письмом В бронзового века с острова Крит и материковой Греции. Косвенную помощь оказала и дешифровка надписей острова Кипр. Обе этих письменности – дальние родственницы, разделённые во времени несколькими сотнями лет – передавали тексты на греческом языке. Но Линейное письмо В было забыто вскоре после гибели дворцов микенского периода, а кипрское так и прозябало на периферии, пока не исчезло – место обоих занял со временем известный нам нынче греческий алфавит.
Однако дешифровка оказалась лишь верхушкой айсберга неразрешённых проблем. Во-первых, до сих пор непонятны догреческие надписи Крита и Кипра. Во-вторых, в Линейном В тоже не всё было просто.

Текст написан иностранным агентом – лицом, проживающим за пределами России (в Канаде). Иллюстрации взяты из открытых источников - если не указано иное, из Википедии.
В этой статье будет немного про компьютерные методы, чуть побольше – про комбинаторику, но в основном – про то, что оба подхода не всесильны и у обоих есть свои ограничения.
Это хорошо видно на примере изучения древних письменностей острова Крит, из которых была дешифрована только одна – наиболее позднее Линейное письмо В (и то не до конца). Что же касается более ранних надписей, то тут есть многочисленные нюансы…

Текст написан иностранным агентом – лицом, проживающим за пределами России (в Канаде)
За пару дней до Рождества на Хабре появился пост про транслитерацию польского языка кириллицей. Хотя идея на первый взгляд выглядит всего лишь как занимательное развлечение, на практике с задачами подобного рода периодически сталкиваются лингвисты. Когда лингвисту необходимо сравнить лексику родственных языков (особенно когда речь идёт о массовом сравнении в рамках корпусной лингвистики), сравниваемые языки нужно для начала «привести к общему знаменателю», то есть передать в единой графике, чаще всего латинице, чтобы облегчить сравнение. Даже с учётом неизбежных расхождений между орфографией и произношением (как в английском и французском языках) единая система письма сильно упрощает задачу сравнения. И не только сравнения, но и изучения. Скажем, если Вы начали учить язык с совершенно незнакомой системой письма (корейский, китайский, санскрит и т.п.), наверняка первые изученные Вами слова и фразы будут записаны в транслитерации латиницей (а то и кириллицей).
Ни кириллица, ни латиница не является единой унифицированной системой письма. В каждом языке, использующем кириллицу или латиницу, есть свои правила произношения того или иного знака, весьма отличные друг от друга. Но кроме того, существуют многочисленные дополнительные знаки для звуков, присутствующих в одном языке, но отсутствующих в другом. К примеру, звук «ш» существует во многих европейских языках, но создать единую букву для него в латинице так и не сподобились. Где-то обходятся сочетаниями (sh в английском и албанском, sch в немецком, ch во французском, sz в польском, sc в итальянском, sj в шведском, si или se – в ирландском), где-то под этот звук «переопределили» базовые буквы латиницы (x в португальском, старая знакомая s – в венгерском), где-то изобрели новые буквы путём добавления надстрочных или подстрочных значков к старым (š в чешском, словацком и балтийских, ş в турецком, ș в румынском – приглядевшись под микроскопом, увидите, что знак немного отличается от турецкого; и даже в искусственном языке эсперанто придумали свой знак ŝ). Некоторым языкам повезло – в них этого звука вообще нет, как не было его в латыни (отчего, собственно, и возникли эти проблемы с изобретением дополнительного символа).

Привет! Меня зовут Максим Бондарев, я работаю младшим разработчиком в компании Digital Design и заканчиваю обучение на математико-механическом факультете СПбГУ. В рамках своей исследовательской работы я занимался решением задачи по автоматической генерации протоколов совещаний в составе команды научной лаборатории (aka Конструкторское Бюро) под руководством Максима Панькова. Что из этого получилось, и над чем еще предстоит поработать, расскажу в этой статье.

Початково рыцер Еди, под вплывем Дартха Сидиоуса прешедл на цемна стронэ Моцы и прыял тытул „Дартх Вадер”.
Вы поняли что-то из предыдущего предложения? Это польский язык. Это не перевод, не какой-то интернет-сленг, это польский язык как он есть, просто записаный кириллицей. Вчера, я случайно оказался на польском сайте, там всё было написано по-польски, ничего не понятно, и мне вдруг стало любопытно, что если конвертировать польский текст в кириллицу, смогу ли я, внезапно, понимать его? Ну хоть на сколько-то понимать. Готового такого конвертера я нигде не нашел, ни на гитхабе ни в переводчиках типа Гугла. Пришлось написать самому.

Близится Новый год, а это значит, что работа над конференцией по компьютерной лингвистике, NLP и интеллектуальным технологиям «Диалог» уже в разгаре. О том, что это такое и почему ABBYY его основной организатор, можно прочитать тут.
Одно из важнейших событий для NLP-комьюнити в рамках «Диалога» — проведение shared tasks на Dialogue Evaluation (DE), или «соревнований», посвященных разным практическим задачам из области NLP для русского языка. И это уже тринадцатый сезон DE! Совсем скоро мы объявим задания для участников следующего года.
Мы стараемся регулярно писать про итоги DE, но еще никогда не рассказывали о том, как все устроено изнутри: кто придумывает задания, как готовятся «соревнования», кто и как их проводит, сколько нужно времени, чтобы подготовить одно соревнование (спойлер: это дело не быстрое), и многое-многое другое. Обо всем об этом и многом другом расскажем в нашем новом посте. Добро пожаловать под кат!

Эта статья посвящена основным современным моделям для генерирующего реферирования и генерации текста в целом: BertSumAbs, GPT, BART, T5 и PEGASUS, и их использованию для русского языка.
В отличие от извлекающих моделей, которые рассмотрены в предыдущих двух статьях, эти модели создают новые тексты, а не только выделяют предложения из оригинального документа. Из-за этого они могут нетривиально изменять исходный текст: удалять слова или заменять их на синонимы, сливать и упрощать предложения, а значит делать ровно то, что делают люди при составлении рефератов.
Ещё десять лет назад методы из этой категории казались фантастикой. Развитие систем нейросетевого машинного перевода сделало генерирующее автоматическое реферирование намного более лёгкой задачей.
Серьёзные методы оценки качества реферирования будут в следующих частях цикла. Сейчас же для наглядности мы испытаем алгоритмы на одной конкретной новости про секвенирование РНК клеток коры головного мозга. Это свежая новость, то есть модели заведомо не могли её видеть. К тому же она довольно сложная: 5.7 баллов по шкале N+1.
Кстати говоря, заголовок к этой статье написан одной из описываемых моделей.

Статья написана по мотивам работы "Forecasting SQL Query Cost at Twitter", 2021 («Прогнозирование стоимости SQL-запросов в Twitter»), представленной на IX Международной конференции IEEE по облачной инженерии (IC2E). Подробностями делимся, пока у нас начинается курс по Machine Learning и Deep Learning.

Наше семейство моделей ruGPT-3 уже нашло множество применений у сообщества: кто-то генерирует гороскопы, кто-то — факты о лягушках, статьи нейроуголовного кодекса, нейроновости и прочее. Модели накопили в себе массу знаний о нашем мире и способны подстроиться практически под любую задачу. Тем не менее, в данный момент подобная подгонка (fine-tuning) часто требует значительных вычислительных затрат, что не всегда позволяет использовать достаточно большие модели. В этом посте мы предлагаем сообществу новый инструмент для того, чтобы дообучать ruGPT-3 под свои нужды и делиться своими результатами с другими.

И снова всем привет!
На этот раз рассмотрим извлекающие методы, которым нужны эталонные рефераты для обучения. При этом эти методы всё ещё могут лишь выбирать предложения из оригинального текста. К методам этой группы и относятся описываемые ниже SummaRuNNer и BertSumExt.
Статьи цикла:
1) Постановка задачи автоматического реферирования и методы без учителя
2) Извлекающие методы автоматического реферирования ⬅️
3) Секреты генерирующего реферирования текстов

Всем привет!
ФГАУ «Ресурсный центр универсального дизайна и реабилитационных технологий» и наша компания «Наносемантика» 7–9 декабря 2021 провели всероссийский хакатон по разработке решений с использованием искусственного интеллекта в сфере медицины. За три дня участники разработали программы-тренажёры для пациентов с нарушениями речи. За подробностями – добро пожаловать под кат.

Всем привет!
Для написания кандидатской диссертации я недавно составил обзор различных методов автоматического реферирования, суммаризации. Обзор получился субъективно хорошим, поэтому я публикую его и здесь. Он очень объёмный, и я разбил его на несколько частей, которые и буду постепенно выкладывать. По мере публикации ниже будут появляться ссылки на остальные части цикла.
Статьи цикла:
1) Постановка задачи автоматического реферирования и методы без учителя ⬅️
2) Извлекающие методы автоматического реферирования
3) Секреты генерирующего реферирования текстов
Это первая статья цикла, посвящённая самой задаче и методам без учителя, которым не нужен эталонный корпус рефератов: методу Луна, TextRank, LexRank, LSA и MMR.

После релиза нашей первой модели, расставляющей знаки препинания и большие буквы, было много пожеланий доработать её, чтобы она могла обрабатывать тексты целиком, а не отдельные предложения. Это коллективное пожелание и было осуществлено в нашей новой версии модели.

В целом, архитектура и датасеты остались прежними. Что изменилось:
В процессе создания курса английской грамматики для “продвинутых” уровней я не могла избавиться от смутного ощущения, что английская видовременная система (то, что в обиходе называют английскими “временами”) базируется на несложной математике.
О том, что меня заставило прийти к этому выводу, затем комбинаторика, механика, математика и немного про музыку.
Я рассматриваю английскую видовременную систему как систему, состоящую из четырёх подъязыков в составе одного.
На когнитивном уровне английский язык распознаёт четыре аспекта (грани, феномена) реальности. Для описания каждого аспекта реальности выделен свой подъязык:
Simple (S),
Progressive (P),
Perfect Simple (PS), и
Perfect Progressive (PP).
Каждый подъязык является полноценным и описывает определённый аспект с помощью базовой формулы:
S = to X
P = to be Xing
PS = to have Xed / Х3
PP = to have been Xing ,
где X Xing Xed Х3 - известные формы английских глаголов.
На 4 базовые формулы “накручиваются” маркеры настоящего, прошедшего и будущего времени, образуя тем самым полный грамматический набор из 12 видовременных форм.
Каждая из формул несёт в себе определенную смысловую информацию, которая сохраняется неизменной независимо от лексики. По несложному формальному рассчёту смысловая нагрузка на грамматическую формулу может достигать 60% от общего смысла фразы.
Эту информацию, заключённую в грамматической формуле помимо слов, я назвала “метасмысл”. Четыре выделенных мною метасмысла:

В Тинькофф—журнале вышла статья «Что и зачем пишут в интернете противники вакцинации», в которой мы рассказали о результатах исследования почти трёх миллионов постов и комментариев из ВКонтакте на тему вакцинации. Самая сложная часть работы — определить, как авторы сообщений относятся к прививкам. В этой статье мы хотим рассказать о том, как мы это делали.

Пошаговое руководство написания чат-бота на языке Python.
Установим Python и библиотеки на Debian, подключим PostgreSQL, получим вопросы и ответы, подключим морфологию и нормализуем слова, запустим чат-бота в Telegram.
Голая практика и полный листинг с комментариями.

Всем привет! ФГАУ «Ресурсный центр универсального дизайна и реабилитационных технологий» и компания «Наносемантика» приглашают всех желающих 7-9 декабря 2021 года принять участие во всероссийском хакатоне по медицинскому искусственному интеллекту, который мы помогаем организовать.
Разработчики смогут посоревноваться в разработке технологически полезного решения – тренажёра для пациентов с дизартрией – и получить ценные призы.
Под катом – задача, правила, ссылка на регистрацию и расписание хакатона.