Гпт что это
Перейти к содержимому

Гпт что это

Генератор постоянного тока ГПТ: основные понятия.

ads

В процессе работы генератора постоянного тока в обмотке якоря индуцируется ЭДС Ea. При подключении к генератору нагрузки в цепи якоря возникает ток, а на выводах генератора устанавливается напряжение, определяемое уравнением напряжений для цепи якоря генератора:

сумма сопротивлений всех участков цепи якоря: обмотки якоря ra , обмотки добавочных полюсов rД , компенсационной обмотки rк., последовательной обмотки возбуждения и переходного щеточного контакта rщ.

При отсутствии в машине каких-либо из указанных обмоток в (28.2) не входят соответствующие слагаемые.

Якорь генератора приводится во вращение приводным двигателем, который создает на валу генератора вращающий момент М1 Если к генератору не подключена нагрузка (работает в режиме х.х. Ia=0 ), то для вращения его якоря нужен сравнительно небольшой момент холостого хода M0. Этот момент обусловлен тормозными моментами, возникающими в генераторе при его работе в режиме х.х.: моментами от сил трения и вихревых токов в якоре.

При работе генератора с подключенной нагрузкой в проводах обмотки якоря появляется ток, который, взаимодей­ствуя с магнитным полем возбуждения, создает на якоре электромагнитный момент М. В генераторе этот момент направлен встречно вра­щающему моменту приводного двигателя ПД (рис. 28.1), т. е. он является нагрузочным (тормозящим).

clip_image002

Рис. 28.1. Моменты, действующие в генераторе постоянного тока

При неизменной частоте вращения n = const вра­щающий момент приводного двигателя M1 уравнове­шивается суммой противодействующих моментов: мо­ментом х.х. M0 и электромагнитным моментом М, т. е.

Выражение (28.3) —называется уравнением моментов для генератора при постоянной частоте нагрузки. Умножив члены уравнения (28.3) на угловую скорость вращения якоря ω, получим уравнение мощностей:

где P1 = M1ω — подводимая от приводного двигателя к генератору мощность (меха­ническая); P0 = M0ω мощность х.х., т. е. мощность, подводимая к генератору в режиме х.х. (при отключен­ной нагрузке); PЭМ = Mω— электромагнитная мощность генератора.

Согласно (25.27), получим

или с учетом (28.1)

где P2 — полезная мощность генератора (электрическая), т. е. мощ­ность, отдаваемая генератором нагрузке; PЭa — мощность потерь на нагрев обмоток и щеточного контакта в цепи якоря .

Учитывая потери на возбуждение генератора PЭВ, получим уравнение мощностей для генератора постоянного тока:

Следовательно, механическая мощность, развиваемая приводным двигателем P1, преобразуется в генераторе в полезную электрическую мощность P2, передаваемую нагрузке, и мощ­ность, затрачиваемую на покрытие потерь

Так как генераторы обычно работают при неизменной частоте вращения, то их характеристики рассматривают при условии n = const.

Рассмотрим основные характеристики генераторов посто­янного тока.

Характеристика холостого хода — зависимость напряжения на выходе генератора в режиме х.х. U0 от тока возбуждения IВ:

Нагрузочная характеристика зависимость напряжения на выходе генератора U при работе с нагрузкой от тока возбу­ждения IВ:

Внешняя характеристика — зависимость напряжения на выходе генератора U от тока нагрузки I:

Регулировочная характеристика — зависимость тока возбуж­дения IВ от тока нагрузки I при неизменном напряжении на выходе генератора

Вид перечисленных характеристик определяет рабочие свой­ства генераторов постоянного тока которые во многом зависят от способа включения генератора в схему, поэтому мы рассмотрим каждый способ включения по отдельности.

Гпт что это

Значения аббревиатуры ГПТ

.. Поиск значений сокращения ГПТ ..

Случайная аббревиатура

Случайная аббревиатура

Случайная аббревиатура

Случайная аббревиатура

Случайная аббревиатура

Случайная аббревиатура

Случайная аббревиатура

Случайная аббревиатура

Случайная аббревиатура

Случайная аббревиатура

Случайная аббревиатура

Случайная аббревиатура

Случайная аббревиатура

Всего значений: 8 (показано 5)

Случайная аббревиатура

Случайная аббревиатура

Добро пожаловать в словарь сокращений русского языка!

У нас собрано более 48000 аббревиатур с более чем 102000 способами их расшифровки.

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

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

Откуда взялась GPT и какую задачу она решает

Внутреннее устройство GPT

Методы генерации текста

У этой статьи есть google colab версия, где можно сразу в интерактивном режиме запустить все примеры.

Картинка с сайта OpenAI.

Картинка с сайта OpenAI.

Небольшая историческая справка

Сначала миром NLP правили рекуррентные сети (RNN, LSTM), потом появился механизм внимания — attention, который, применительно к рекуррентным сетям, давал огромный буст на всех тестах. Далее ребята из гугла предположили, что attention настолько крутой, что справится и без RNN — так появился первый трансформер в статье Attention Is All You Need. Тот трансформер состоял из энкодера и декодера и умел только переводить текст, но делал это очень круто.

Потом произошёл великий раскол: в OpenAI решили, что от трансформера надо оставить только декодер, а Google решил сконцентрироваться на энкодере. Так появились первые GPT и BERT, породив целый зоопарк себе подобных моделей.

Так что же такое GPT?

Короткий ответ — это нейронная сеть для генерации (продолжения) текста. Если чуть подробнее и сложнее, то это — языковая модель, основанная на архитектуре трансформер и обученная в self-supervised режиме на куче текстовых данных.

Оригинальные статьи про три поколения GPT:

Hugging Face — лучшая библиотека для работы с трансформерами

Для работы с GPT нам нужно будет скачать предобученную модель. Лучший выбор для работы с трансформерами — это библиотеки от Hugging Face: transformers , tokenizers , datasets — самые любимые библиотеки любого нлпшника. Все они разработаны стартапом Hugging Face, который стремится стандартизировать архитектурные решения для работы с transformer-based моделями. Также они выполняют функцию своеобразного хаба предобученных весов огромного количества трансформеров.

В данном туториале мы будем работать только с библиотекой transformers и, для наглядности, с русскоязычной моделью ruGPT3 от Сбера.

Языковое моделирование

Чтобы разобраться, как работает GPT, нужно понять, какую задачу пытается решать эта модель. Языковое моделирование — это предсказание следующего слова (или куска слова) с учётом предыдущего контекста. На картинке пример того, как с задачей языкового моделирования справляется поиск Яндекса.

Языковое моделирование в поисковой строке

Языковое моделирование в поисковой строке

Для того чтобы «всего лишь» дописывать текст, модель должна очень хорошо понимать его смысл и даже иметь какие-то свои знания о реальном мире. Внутренние знания модели можно попытаться вытащить наружу, модифицируя «левый контекст» текста. Это позволяет решать множество задач: отвечать на вопросы, суммаризировать текст и даже создавать диалоговые системы!

Например, если мы хотим при помощи языковой модели ответить на вопрос «Сколько будет 2+2?», то можно подать на вход модели следующий текст «Вопрос: Сколько будет 2+2? Ответ: … » и самым естественным продолжением такого текста будет именно ответ на вопрос, поэтому хорошая языковая модель допишет «4» .

Подбор модификаций текста называется «Prompt Engineering». Такая простая идея позволяет решать практически неограниченное количество задач. Именно поэтому многие считают GPT-3 подобием сильного искусственного интеллекта.

Похожим способом можно кратко пересказывать тексты, если в конце дописывать «TL;DR» , потому что модель во время обучения запомнила, что после этих символов идёт краткое содержание. А ещё можно сделать переводчик с русского на английский:

Токенизация

Машинное обучение лучше справляется с числами, чем с текстом, поэтому нам необходима процедура токенизации — преобразование текста в последовательность чисел.

Самый простой способ сделать это — назначить каждому уникальному слову своё число — токен, а затем заменить все слова в тексте на эти числа. Но есть проблема: слов и их форм очень много (миллионы) и поэтому словарь таких слов — чисел получится чересчур большим, а это будет затруднять обучение модели. Можно разбивать текст не на слова, а на отдельные буквы (char-level tokenization), тогда в словаре будет всего несколько десятков токенов, НО в таком случае уже сам текст после токенизации будет слишком длинным, а это тоже затрудняет обучение.

Пример BPE токенизации

Пример BPE токенизации

Обычно предпочтительнее выбрать что-то среднее, например, можно разбивать слова на наиболее общие части и представлять их полные версии как комбинации этих кусков (см. картинку). Такой способ токенизации называется BPE (Byte Pair Encoding). Но даже это иногда не самый оптимальный выбор. Чтобы сжать словарь ещё сильнее для обучения GPT OpenAI использовали byte-level BPE токенизацию. Эта модификация BPE работает не с текстом, а напрямую с его байтовым представлением. Использование такого трюка позволило сжать словарь до всего-лишь

50k токенов при том, что с его помощью всё ещё можно выразить любое слово на любом языке мира (и даже эмодзи).

Так как GPT использует byte-level токенизатор, то не для любого токена найдется существующий символ или слово. Некоторые токены существуют только в комбинациях. Такое случается редко, но я нашёл для вас пример таких токенов:

Архитектура GPT

Если коротко, то при генерации продолжения текста с помощью GPT происходит следующее:

Входной текст токенизируется в последовательность чисел (токенов).

Список токенов проходит через Embedding Layer (линейный слой) и превращается в список эмбеддингов (очень похоже на word2vec).

К каждому эмбеддингу прибавляется positional embedding, о котором я расскажу в сл. секции.

Далее список эмбеддингов начинает своё путешествие через несколько одинаковых блоков (Transformer Decoder Block), о которых я тоже расскажу потом.

После того как список эмбеддингов пройдёт через последний блок, эмбеддинг, соответствующий последнему токену матрично умножается на всё тот же входной, но уже транспонированный Embedding Layer и после применения SoftMax получается распределение вероятностей следующего токена.

Из этого распределения выбираем следующий токен (например с помощью функции argmax).

Добавляем этот токен к входному тексту и повторяем шаги 1-6.

Positional encoding

Так уж получилось, что в отличие от рекурентных сетей архитектура трансформера не чувствительна к порядку входных токенов, то есть даже если перемешать слова местами, то аутпут будет получаться всё равно одинаковым (permutation invarience).

Но ведь в языке порядок слов критически важен! Чтобы его учитывать пришлось придумать костыль — positional encoding. Этот механизм позволяет трансформерам «видеть» порядок входных токенов. Грубо говоря, positional encoding — это любой способ кодирования позиции слова внутри эмбеддинга. Самый простой способ это сделать — просто конкатенировать к эмбеддингу номер позиции слова, но это работает очень плохо. Поэтому в GPT используется кодирование позиции в виде вектора, который прибавляется к эмбеддингу токена. Эти позиционные эмбеддинги можно зафиксировать заранее как в оригинальном трансформере (они на картинке), либо обучать, как в случае GPT.

Позиционные эмбеддинги оригинального трансформера.

Позиционные эмбеддинги оригинального трансформера.

Transformer Decoder Block

Вот так выглядит главная структурная часть GPT: self-attention, нормализация, feed-forward и residual connections. Не будем останавливаться подробно, но если вам очень интересны технические детали, то рекомендую посмотреть эту статью на хабре (тык).

Схема Decoder блока трансформера.

Схема Decoder блока трансформера.

Методы генерации текста

Как я говорил выше, языковая модель выдаёт распределение вероятностей следующего токена, а эту информацию можно по-разному использовать для генерации текста.

Для наглядности применим все основные методы для продолжения следующего текста: ‘Определение: «Нейронная сеть» — это’

Greedy Search

Самый простой способ — это аргмаксная генерация (greedy search), когда мы каждый раз выбираем токен, у которого максимальная вероятность. Это не самый лучший метод, так как в таком случае генерация застревает в локальных минимумах и часто выдаёт повторяющиеся фрагменты, например the the the the .

Beam search

Чуть более сложный и качественный способ сэмплирования — это beam search. В этом случае на каждом шаге мы выбираем не только один самый вероятный токен, а сразу несколько ( beam-size ), и дальше продолжаем поиск для каждого из выбранных токенов. Таким образом мы разветвляем пути генерации, получая несколько вариантов сгенерированного текста. В итоге можно выбрать тот вариант, у которого лучшая перплексити (уверенность модели в реалистичности текста). Такая генерация обладает хорошей когерентностью (связностью), но обычно у них не хватает «человечности», они кажутся сухими и скучными. Также это не полностью решает проблему повторяющихся фрагментов генерации.

Пример дерева beam-search. Числа — это вероятности токенов.

Пример дерева beam-search. Числа — это вероятности токенов.

Сэмплирование с температурой

Чтобы добавить тексту непредсказуемости и человечности можно использовать вероятностное сэмплирование с температурой. При такой генерации мы берём не самый вероятный токен, а выбираем его «случайно» с учётом распределения вероятностей. Параметр температуры позволяет контролировать степень рандомности. При нулевой температуре этот метод совпадает с аргмаксным сэмплированием, а при очень большой температуре токены будут выбираться совсем наугад. Обычно хорошо работает температура в диапазоне 0.8 — 2.0 . Формула модификации распределения вероятностей очень похожа на формулу распределения Больцмана. Чем выше температура системы тем больше «размазывается» распределение вероятностей её возможных состояний, отсюда слово «температура».

Но у этого метода есть и минусы, ведь случайная природа генерации будет иногда приводить к совсем уж некорректным результатам, хоть и редко.

Распределение Больцмана позволяет контролировать "рандомность" сэмплирования.

Распределение Больцмана позволяет контролировать «рандомность» сэмплирования.

Сэмплирование с ограничением маловероятных токенов (Nucleus Sampling)

Для запрета сэмплирования совсем уж некорректных токенов вводят top-k или top-p ограничения. В этом случае генерация тоже происходит случайным образом, но мы заранее отсекаем все маловероятные токены. В случае top-k мы просто зануляем все вероятности кроме k самых больших. А в случае top-p мы оставляем такой минимальный сет токенов, чтобы сумма их вероятностей была не больше p . Ограничение top-p иногда называют nucleus sampling.

Сравнение поколений GPT

GPT — Generative Pretraining of Transformers. Первая версия этой модели состояла из 12 слоёв и была обучена на 7000 книг. Как языковая модель она работала не очень хорошо (длинные тексты генерировались плохо), но при файнтюнинге на отдельных задачах эта модель выбила несколько SOTA результатов. Собственно, статья была про то, что usupervised language modeling pretraining улучшает качество дальнейшего файнтюнинга. Максимальный размер контекста у GPT-1 — 512 токенов.

SOTA результаты первой GPT держались недолго, так как появился BERT. В OpenAI психанули и решили значительно прокачать свою модель. Во-первых, они её сделали в 10 раз больше: 48 слоёв

1.5B параметров. А во вторых, обучили на невероятно большом объёме данных — к книгам добавили 8 миллионов сайтов (с хорошим рейтингом на реддите). Суммарно получилось 40 гб текста. Архитектурно модель изменилась не сильно — только немного переместили слои нормализации. В итоге оказалось, что GPT-2 настолько стала лучше, что научилась писать длинные связные тексты и даже решать при помощи prompt engineering множество новых задач! Максимальный размер контекста у GPT-2 — 1024 токенов.

Опять же модель сделали в 10 раз больше (175B параметров) и обучили на ещё большем количестве данных (570GB текста). Из архитектурных изменений — только немного оптимизировали attention. После такого апгрейда модель стала настолько крутой, что научилась писать рабочий программный код (так появился CODEX) и решать ещё больше почти сверхъестественных задач (воскрешать мёртвых). Максимальный размер контекста у GPT-3 — 2048 токенов.

Файнтюнинг

Процесс обучения GPT

Обучающий текст нарезается на случайные куски, которые составляются в последовательности из 1024 (2048 у GPT-3) токенов, разделяясь специальным <|endoftext|> символом. Во время обучения, модель учится предсказывать (классифицировать) каждый токен в последовательности один за другим при помощи CrossEntropy Loss.

Так как входная последовательность всегда заполнена до конца, padding не используется. Но во время инференса, длина входного текста может быть произвольной, поэтому надо явно указывать чем паддить оставшиеся позиции. По дефолту используется тот же <|endoftext|> .

В кастомных версиях GPT вышесказанное может модифицироваться. Например, в ruGPT3 гораздо больше специальных токенов: <s> , <\s> , <pad> , <unk> .

Обучающие данные

Будем учить GPT генерировать стихи Пушкина. В качестве обучающих данных возьмём всего лишь один всем известный стих.

Training

Для файнтюнинга нам понадобится объект класса Trainer, который сделает всё грязную работу за нас (посылаем лучи добра Hugging Face). Далее нужно будет всего-навсего запустить trainer.train()

Результат дообучения

Готово! Теперь давайте посмотрим что же сочинит GPT в стиле Пушкина если на вход подать такую строчку: ‘Как же сложно учить матанализ!’

Заключение

Несмотря на то, что в обучающей выборке было всего лишь одно стихотворение, модель смогла уловить стиль Пушкина, хотя и остаются небольшие проблемы с рифмой.

Надеюсь, что после прочтения этой статьи вам стало понятнее, как работает знаменитая модель GPT и как с её помощью можно генерировать текст. Если вам понравилось, то загляните в мой телеграм канал, там я стараюсь оперативно разбирать свежие научные публикации по NLP и Computer Vision.

Полезные ссылки

GPT в картинках — очень подробный разбор внутренней архитектуры GPT-2 с акцентом на иллюстрации.

Трансформер в картинках — очень подробный разбор архитектуры Transformer с акцентом на иллюстрации.

Tokenizers tutorial — краткий разбор всех типов токенизаторов от Huggingface с примерами.

Как генерировать текст — обзор способов сэмплирования текста с помощью языковых моделей (бимсёрч и тд).

Гпт что это

генератор постоянного тока

грабли поперечные тракторные

Гватемальская партия труда

Гватемала, полит.

Словарь: С. Фадеев. Словарь сокращений современного русского языка. — С.-Пб.: Политехника, 1997. — 527 с.

гусеничный плавающий транспортёр

Словарь: С. Фадеев. Словарь сокращений современного русского языка. — С.-Пб.: Политехника, 1997. — 527 с.

городской пассажирский транспорт
городской пассажирский общественный транспорт

организация, транспорт

Источник: http://www.garant.ru/hview.php?pid=61587&ssid=32&dt=federal&mail

в маркировке

организация, транспорт, энерг.

Пример использования

Словарь сокращений и аббревиатур . Академик . 2015 .

Полезное

Смотреть что такое «ГПТ» в других словарях:

ГПТ — ГПТ: Гарант Парк Телеком Гватемальская партия труда Генератор постоянного тока Глутаматпируваттрансаминаза Городской пассажирский транспорт Грабли поперечные тракторные Гусеничный плавающий транспортёр … Википедия

ГПТ — Гватемальская партия труда глутаматпируваттрансаминаза грабли поперечные тракторные гусеничный плавающий транспортёр … Словарь сокращений русского языка

ГОРОДСКОЙ ПАССАЖИРСКИЙ ТРАНСПОРТ (ГПТ) — система трансп. и инж. коммуникаций, подвижного состава, зданий и сооружений, обеспечивающая массовые внутригородские пасс. перевозки. Включает автобус, электро транспорт (трамвай, троллейбус), метрополитен, такси (в т.ч. маршрутное). Набор видов … Екатеринбург (энциклопедия)

АСОП ГПТ — автоматизированная система оплаты проезда на городском пассажирском транспорте транспорт Источник: http://e rus.ru/site.shtml?id=10&n … Словарь сокращений и аббревиатур

ГВАТЕМАЛЬСКАЯ ПАРТИЯ ТРУДА — (ГПТ) осн. в г. Гватемале 28 сент. 1949 (до II съезда, состоявшегося в дек. 1952, именовалась Коммунистич. партией Гватемалы). Является преемницей лучших традиций Коммунистич. партии Гватемалы, созданной в 1922 и прекратившей существование в 30 х … Советская историческая энциклопедия

Гватемальская партия труда — (ГПТ; El Partido Guatemalteco del Trabajo) основана в г. Гватемала 28 сентября 1949. До 2 го съезда, состоявшегося в декабре 1952, именовалась Коммунистической партией Гватемалы; является преемницей лучших традиций Коммунистической партии … Большая советская энциклопедия

Гватемальская партия труда — Partido Guatemalteco del Trabajo Дата основания: 28 сентября 1949 года Идеология: марксизм ленинизм … Википедия

Гватемальская партия труда — (ГПТ; Partido Guatemalteco del Trabajo), основана 28 сентября 1949. До 2 го съезда (декабрь 1952) именовалась Коммунистической партией Гватемалы; является преемницей лучших традиций Коммунистической партии Гватемалы (создана в 1922; в 1932 в… … Энциклопедический справочник «Латинская Америка»

Гватемала. Исторический очерк — Город Антигуа в середине XIX в. Рисунок. 1859. Гватемала. Исторический очерк Индейские племена на территории Гватемалы до начала XVI в. В древности территорию Г. населяли многочисленные индейские племена, которые занимались охотой и рыболовством … Энциклопедический справочник «Латинская Америка»

Гватемала (государство в Центр. Америке) — Гватемала (Guatemala), Республика Гватемала (República de Guatemala), государство в Центральной Америке. Граничит на З. и С. с Мексикой, на С. В. с Гондурасом Британии, на Ю. В. с Гондурасом и Сальвадором. На В. омывается Карибским морем, на Ю. и … Большая советская энциклопедия

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *