Обработка естественного языка

Материал из MachineLearning.

Перейти к: навигация, поиск
Статья написана с использованием LLM ChatGPT-5.5 и проверена участником Artem Abdulmanov 18:40, 17 июля 2026 (MSD)

Промпт приводится полностью в Обсуждение:Обработка естественного языка


Содержание

Введение

Обработка естественного языка (англ. Natural Language Processing, NLP) — область искусственного интеллекта, машинного обучения и компьютерной лингвистики, изучающая методы автоматического анализа, понимания, преобразования и генерации текстов и речи на естественных языках. Центральная задача обработки естественного языка состоит в построении вычислительных моделей, которые способны сопоставлять языковую форму с её смыслом, контекстом, намерением автора и требуемым действием системы.

Формально текст часто рассматривается как последовательность дискретных единиц — токенов x_{1:T}=(x_1,\ldots,x_T), принадлежащих словарю \mathcal V. Модель с параметрами \theta должна оценивать распределения вида p_\theta(y\mid x_{1:T}) для предсказания метки y, ответа, перевода, следующего токена или иной целевой структуры. В отличие от задач, где исходные признаки заданы численно, естественный язык дискретен, неоднозначен, контекстно зависим и содержит сложные явления: синонимию, омонимию, эллипсис, анафору, имплицитные знания и прагматику.

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

Мотивировка и историческая справка

Потребность в обработке естественного языка возникла одновременно с развитием вычислительной техники. Уже в 1950-х годах пионеры компьютерной лингвистики, включая Уоррена Уивера и Артура Самуэля, осознали, что компьютеры можно обучить обрабатывать и анализировать текст. В этот период доминировал символьный подход: использовались регулярные выражения, конечные автоматы, словари, экспертные правила и формальные грамматики. Теория порождающих грамматик Ноама Хомского, предложенная в конце 1950-х годов, оказала огромное влияние на представления о синтаксисе и формальной структуре языка.

Ранние системы машинного перевода, разработанные в 1950-1960-х годах под эгидой программы ARPA, использовали словари и морфосинтаксические правила. Однако первые попытки на автоматический перевод с русского на английский показали, что простой подход замены слов неэффективен. Проблема была признана столь сложной, что в 1966 году был выпущен отчёт ALPAC (Automatic Language Processing Advisory Committee), который значительно сокращает финансирование NLP на десятилетие.

В 1960-х–1980-х годах развивались методы синтаксического разбора, включая алгоритмы Кока–Янгера–Касами и Эрли, а также фреймворки типа семантических сетей и логических представлений. Система ELIZA, разработанная Джозефом Вайценбаумом в 1960-х, демонстрировала, что даже поверхностные шаблоны и простая подстановка текста могут создавать иллюзию понимания и диалога, хотя она и не обладала настоящим семантическим пониманием.

Символьные подходы были интерпретируемыми, но плохо масштабировались: для каждого языка, домена и жанра требовалось вручную описывать большое количество исключений и лингвистических правил. С ростом доступных текстовых корпусов и вычислительных ресурсов, начиная с 1980-х годов, в обработке естественного языка всё более прочно утверждался статистический подход. Появились скрытые марковские модели для морфологического анализа и разметки частей речи, вероятностные контекстно-свободные грамматики, байесовские сети и методы максимального правдоподобия. n-граммные языковые модели обеспечивали хорошее масштабирование на больших текстах, хотя и не могли моделировать дальние зависимости.

Параллельно развивались информационно-поисковые методы: TF-IDF, косинусное сходство документов, инвертированные индексы. Статистический машинный перевод на основе выравнивания фраз (phrase-based SMT) показал, что можно автоматически обучать модели перевода по двуязычным параллельным корпусам, хотя качество оставалось далеким от человеческого.

Важный переход произошёл с открытием распределительной семантики. Идея «слово известно по его окружению» (дистрибютивная гипотеза, предложенная Харрисом в 1954 году, но широко применённая только спустя десятилетия) привела к методам латентно-семантического анализа (LSA) и впоследствии к нейронным моделям Word2Vec (Мikolov et al., 2013), GloVe и fastText. В таких моделях слово w получает плотный вектор v_w\in\mathbb R^d, а семантическая близость измеряется геометрически. Word2Vec показал, что компактные векторные представления можно эффективно обучать на больших корпусах и использовать как признаки для широкого круга задач [1]. Это открыло эпоху глубокого обучения в обработке естественного языка.

В 2010-е годы произошёл быстрый переход к глубоким последовательностным моделям. Рекуррентные нейронные сети, особенно LSTM и GRU, позволили обрабатывать последовательности переменной длины и сохранять информацию на больших расстояниях благодаря механизму вентилей. Архитектура кодировщик-декодировщик (encoder-decoder), предложенная Сутскевером, Виецеля и Чо, позволила применять RNN к задачам трансформации последовательностей, таким как машинный перевод.

Решающий прорыв произошёл введением механизма внимания. Бахданау и соавторы (2014) показали, что модель-декодер может селективно фокусироваться на разных частях входной последовательности на каждом шаге, резко улучшив качество машинного перевода. Однако RNN-подход остаётся процедурным: обработка последовательности требует последовательных шагов, что плохо параллелизуется на современном GPU-оборудовании.

В 2017 году статья Vaswani et al. «Attention Is All You Need» представила архитектуру трансформера, которая полностью заменила рекуррентность на механизм самовнимания и полносвязные слои. Трансформер обрабатывает всю последовательность параллельно, благодаря чему хорошо масштабируется на GPU и TPU. Это стало основой для почти всех современных успехов в обработке естественного языка [1].

После появления BERT (Devlin et al., 2019) и GPT (Radford et al., 2018) произошла парадигма-шифт к предобучению больших моделей на общих текстовых корпусах и последующему дообучению под конкретные задачи. BERT ввёл эффективную схему маскированного языкового моделирования для двунаправленного кодировщика [1], позволяя модели видеть как левый, так и правый контекст одновременно. Семейство GPT показало масштабируемость авторегрессионных декодеров и возможность решения задач по инструкции без классического обучения на размеченной выборке [1].

В 2020-х годах произошло экспоненциальное увеличение масштаба моделей: от BERT с 340 млн параметров к GPT-3 с 175 млрд параметров, Chinchilla, PaLM и GPT-4. Работа Hoffmann et al. показала оптимальный баланс между размером модели и количеством токенов обучающих данных. Одновременно развивались методы эффективной адаптации больших моделей под новые задачи без полного переобучения: LoRA, QLoRA, адаптеры, prompt engineering и few-shot learning.

В современный период обработка естественного языка всё чаще объединяется с поиском (RAG), базами знаний, мультимодальными входами (текст + изображения в CLIP, DALL-E, GPT-4V), инструментальным выполнением действий и принципами конституционного обучения. Растут требования к безопасности, надёжности, интерпретируемости и соответствию правовым ограничениям, таким как защита персональных данных и борьба с дискриминацией в моделях.

Основные задачи обработки естественного языка

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

Задачи уровня токенов и слов.
  • Морфологический анализ. Определение морфологических свойств слова: части речи, падежа, числа, времени, вида и т.д. Особенно важна для синтетических языков с богатой морфологией (русский, финский, турецкий), менее актуальна для аналитических языков (английский, китайский).
  • Лемматизация. Приведение слова к его базовой форме (лемме). Например, слова «читал», «читать», «читают» лемматизируются в «читать». Используется в информационном поиске и документировании.
  • Стемминг. Приведение слова к его корню путём удаления суффиксов и префиксов. Проще лемматизации, но менее точно. Алгоритмы Porter Stemmer для английского языка широко распространены.
Задачи синтаксического анализа.
  • Синтаксический анализ. Определение грамматической структуры предложения. Включает построение дерева зависимостей (dependency tree), где каждое слово связано со своим главным словом, или дерева составляющих (constituency tree), представляющего иерархическую структуру фраз. Решается с помощью алгоритмов типа перехода (transition-based) или графовых (graph-based) методов.
  • Разрешение анафоры. Определение того, на какую сущность в тексте ссылается местоимение или дефинитный артикль. Например, в предложении «Мария встретила Джона, и он улыбнулся», нужно понять, что «он» относится к Джону. Решается с помощью методов графовых нейронных сетей и кандидатского ранжирования.
Задачи семантического анализа.
  • Анализ тональности (sentiment analysis). Определение эмоционального подтекста текста: позитивное, негативное или нейтральное отношение. Может выполняться на уровне документа, предложения или аспекта (aspect-based sentiment analysis). Широко используется для анализа отзывов, комментариев в социальных сетях и репутационного мониторинга.
  • Поиск по смыслу (semantic similarity). Определение семантической близости между двумя текстами. Используется в информационном поиске, дедупликации документов, рекомендательных системах. Решается с помощью обучения общих представлений через контрастные функции потерь.
  • Информационный поиск (information retrieval). Поиск релевантных документов в большой коллекции по запросу. Классические методы основаны на TF-IDF и косинусном сходстве; современные системы используют BERT и другие модели для семантического поиска.
Задачи преобразования текста.
  • Автоматическое реферирование (automatic summarization). Создание сжатого пересказа текста, сохраняющего ключевую информацию. Может быть экстрактивным (выбор ключевых фраз из исходного текста) или абстрактивным (генерация нового текста). Метрики: ROUGE, METEOR.
  • Исправление ошибок. Автоматическое исправление орфографических и грамматических ошибок в тексте. Современные модели основаны на трансформерах и способны исправлять сложные ошибки в контексте.
  • Парафразирование (paraphrasing). Переформулировка текста с сохранением смысла. Используется в генерации вариантов текстов, увеличении обучающей выборки, улучшении разнообразия ответов в диалоговых системах.
Задачи вопросно-ответного взаимодействия.
  • Вопросно-ответная система (question answering, QA). Поиск ответа на вопрос в текстовом контексте или ответ на базе знаний. Может быть открытого типа (нет готового контекста) или закрытого (ответ в документе). Наборы данных: SQuAD, Natural Questions, MS MARCO.
  • Информационное извлечение (information extraction). Выделение структурированной информации из неструктурированного текста. Может включать извлечение отношений между сущностями, событий, фактов, параметров (например, цены и рейтинги из описания товара).
Задачи диалога и генерации.
  • Диалоговые системы (dialogue systems). Системы, способные поддерживать диалог с пользователем. Включают task-oriented диалоговые системы (бронирование, поддержка клиентов) и open-domain чат-боты (общее общение). Современные системы основаны на больших языковых моделях.
  • Языковое моделирование (language modeling). Предсказание следующего токена по предыдущему контексту. Основа для генерации текста, автодополнения и многих других задач. Метрика: перплексия.
  • Текстогенерация (text generation). Генерация нового текста, отвечающего определённым критериям. Примеры: генерация описания изображения, генерация кода, творческое письмо. Решается с помощью декодеров трансформера и различных стратегий декодирования.
Задачи многоязычного анализа.
  • Определение языка (language identification). Автоматическое определение того, на каком языке написан текст. Обычно решается как многоклассовая классификация.
  • Кроссязычный перенос знаний (cross-lingual transfer). Использование моделей, обученных на одном языке, для задач на другом языке. Особенно важно для низкоресурсных языков. Мультиязычные модели типа mBERT и XLM-R обучаются на текстах многих языков одновременно.
Задачи интеграции знаний.
  • Связь с базами знаний. Связывание упомянутых в тексте сущностей с записями в структурированных базах знаний (например, Wikidata). Решается с помощью методов эмбеддирования сущностей и ранжирования кандидатов.
  • RAG (retrieval-augmented generation). Объединение поиска документов с генерацией ответа. Модель сначала извлекает релевантные документы из большой коллекции, а затем генерирует ответ с учётом найденного контекста.
Многомодальные задачи.
  • Визуальное вопросно-ответное взаимодействие (visual question answering, VQA). Ответ на вопросы о содержимом изображения.
  • Описание изображения (image captioning). Автоматическое создание текстового описания изображения.
  • Совместное обучение текста и изображений. Модели типа CLIP, ALIGN, которые учат совместное представление текста и изображений для поиска и классификации.

Математический аппарат и Архитектура

Представление текста и токенизация.

Пусть s — исходная строка, а \tauтокенизатор. Токенизация отображает строку в последовательность индексов словаря:

\tau(s)=x_{1:T},\qquad x_t\in\mathcal V.

В классической постановке токеном может быть слово, символ или морфема. В современных трансформерах обычно применяются подсловные токенизаторы: Byte Pair Encoding, WordPiece или SentencePiece. Они уменьшают проблему OOV, поскольку редкое слово раскладывается на более частые подсловные элементы. После токенизации индекс x_t кодируется one-hot-вектором e_{x_t}, который умножается на матрицу эмбеддингов E:

h_t^{(0)}=E^\top e_{x_t}+p_t,\qquad E\in\mathbb R^{|\mathcal V|\times d}.

Здесь h_t^{(0)} — начальное скрытое представление токена, d — размерность эмбеддинга, а p_t — позиционное представление, необходимое для учёта порядка токенов.

Мешок слов, TF-IDF и n-граммные модели.

Классическая модель мешка слов игнорирует порядок токенов и представляет документ как вектор частот. Для слова w, документа r и корпуса D вес TF-IDF обычно записывается как

\operatorname{tfidf}(w,r)=\operatorname{tf}(w,r)\log\frac{|D|}{1+\operatorname{df}(w)}.

Здесь \operatorname{tf}(w,r) — частота слова w в документе r, а \operatorname{df}(w) — число документов, содержащих это слово. Такой подход хорошо работает в информационном поиске и линейной классификации, но не моделирует дальние зависимости и смысловую многозначность.

В n-граммной языковой модели вероятность следующего токена приближается вероятностью, зависящей только от конечного контекста длины n-1:

p(x_t\mid x_{<t})\approx p(x_t\mid x_{t-n+1},\ldots,x_{t-1}).

При сглаживании Лапласа для истории h, следующего слова w, счётчика c(h,w) и параметра \alpha получается оценка

\hat p(w\mid h)=\frac{c(h,w)+\alpha}{c(h)+\alpha|\mathcal V|}.

Эти модели интерпретируемы и быстры, но страдают от разреженности: число возможных контекстов растёт экспоненциально с увеличением n.

Распределительная семантика и Word2Vec.

В распределительных моделях каждому слову соответствует плотный вектор. В задаче Skip-Gram с negative sampling модель максимизирует близость целевого слова w и контекстного слова c, одновременно отталкивая случайные отрицательные контексты \tilde c_j:

\mathcal L_{\mathrm{SGNS}}=-\log\sigma(u_w^\top v_c)-\sum_{j=1}^{m}\mathbb E_{\tilde c_j\sim P_n}\log\sigma(-u_w^\top v_{\tilde c_j}).

Здесь u_w и v_c — обучаемые векторы, m — число отрицательных примеров, P_n — шумовое распределение, а \sigmaлогистическая функция. Близость векторов часто измеряется косинусной мерой:

\operatorname{cos}(a,b)=\frac{a^\top b}{\|a\|_2\|b\|_2}.

Главное ограничение статических эмбеддингов состоит в том, что слово имеет один вектор независимо от контекста. Например, слово «ключ» в значениях «ключ от двери» и «ключ к задаче» требует разных представлений. Контекстные эмбеддинги, такие как ELMo и BERT, решают эту проблему путём вычисления представления слова на основе окружающего контекста.

Последовательностные нейронные модели.

Рекуррентная нейронная сеть обрабатывает последовательность слева направо и обновляет скрытое состояние h_t по предыдущему состоянию h_{t-1} и текущему токену x_t:

h_t=\phi(W_x e_{x_t}+W_hh_{t-1}+b),\qquad \hat y=\operatorname{softmax}(W_oh_T+b_o).

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

Самовнимание и трансформер.

В трансформере входная матрица скрытых состояний H\in\mathbb R^{T\times d_{\mathrm{model}}} преобразуется в матрицы запросов Q, ключей K и значений V:

Q=HW_Q,\qquad K=HW_K,\qquad V=HW_V.

Механизм scaled dot-product attention вычисляет веса взаимодействия всех токенов друг с другом:

\operatorname{Attention}(Q,K,V)=\operatorname{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right)V.

Деление на \sqrt{d_k} стабилизирует масштаб скалярных произведений. В многоголовом внимании используется несколько независимых проекций, что позволяет разным головам моделировать разные типы зависимостей:

\operatorname{head}_i=\operatorname{Attention}(HW_i^Q,HW_i^K,HW_i^V),\qquad \operatorname{MHA}(H)=\operatorname{Concat}(\operatorname{head}_1,\ldots,\operatorname{head}_m)W^O.

Каждый блок трансформера также включает остаточные связи, нормализацию слоёв и позиционно-независимую полносвязную сеть:

\tilde H=\operatorname{LayerNorm}(H+\operatorname{MHA}(H)),\qquad H'=\operatorname{LayerNorm}(\tilde H+\operatorname{FFN}(\tilde H)).
\operatorname{FFN}(h)=\sigma(hW_1+b_1)W_2+b_2.

Для авторегрессионной генерации используется каузальная маска, запрещающая позиции i смотреть на будущие позиции j:

A_{ij}=-\infty\quad\text{при}\quad j>i.

Именно самовнимание делает трансформер универсальной архитектурой для кодировщиков, декодировщиков и кодировщик-декодировщик моделей. Кодировщики, такие как BERT и RoBERTa, особенно полезны для понимания текста; декодировщики, такие как GPT и GPT-2, — для генерации; модели типа T5 и BART удобны для перевода, реферирования и преобразования текста в текст.

Функции потерь.

Для классификации с C классами обычно используется кросс-энтропия:

\mathcal L_{\mathrm{CE}}(\theta)=-\frac{1}{N}\sum_{i=1}^{N}\sum_{c=1}^{C}y_{ic}\log \hat y_{ic}.

В авторегрессионном языковом моделировании модель предсказывает следующий токен по предыдущим:

\mathcal L_{\mathrm{CLM}}(\theta)=-\sum_{t=1}^{T}\log p_\theta(x_t\mid x_{<t}).

В маскированном языковом моделировании, применяемом в BERT-подобных кодировщиках, восстанавливаются токены из множества масок M:

\mathcal L_{\mathrm{MLM}}(\theta)=-\sum_{t\in M}\log p_\theta(x_t\mid x_{\setminus M}).

Для задач преобразования последовательности x_{1:T_x} в последовательность y_{1:T_y} используется условная отрицательная логарифмическая правдоподобность:

\mathcal L_{\mathrm{seq2seq}}(\theta)=-\sum_{t=1}^{T_y}\log p_\theta(y_t\mid y_{<t},x_{1:T_x}).
Метрики качества.

Для классификации применяются accuracy, macro-averaging, micro-averaging и F_1-мера:

F_1=2\frac{\operatorname{precision}\cdot\operatorname{recall}}{\operatorname{precision}+\operatorname{recall}}.

Для языкового моделирования стандартной метрикой является перплексия:

\operatorname{PPL}=\exp\left(-\frac{1}{T}\sum_{t=1}^{T}\log p_\theta(x_t\mid x_{<t})\right).

Чем ниже \operatorname{PPL}, тем выше средняя вероятность правильных токенов, хотя низкая перплексияне гарантирует фактическую полезность ответа.

Для машинного перевода часто используется BLEU — геометрическое среднее модифицированных точностей по n-граммам с штрафом за слишком короткий перевод:

\operatorname{BLEU}=\operatorname{BP}\cdot\exp\left(\sum_{n=1}^{N}w_n\log p_n\right),\qquad \operatorname{BP}=\begin{cases}1,& l_{\mathrm{cand}}>l_{\mathrm{ref}},\\ \exp(1-l_{\mathrm{ref}}/l_{\mathrm{cand}}),& l_{\mathrm{cand}}\le l_{\mathrm{ref}}.\end{cases}

Для реферирования используется ROUGE, измеряющая покрытие эталонных N-грамм:

\operatorname{ROUGE}\text{-}N=\frac{\sum_{s\in S_{\mathrm{ref}}}\sum_{g\in G_N(s)}\min(C_{\mathrm{cand}}(g),C_{\mathrm{ref}}(g))}{\sum_{s\in S_{\mathrm{ref}}}\sum_{g\in G_N(s)}C_{\mathrm{ref}}(g)}.

Для вопросно-ответных систем используются точные совпадения (exact match) и F1-мера, основанная на перекрытии токенов между предсказанным и эталонным ответом. Автоматические метрики удобны для массового сравнения моделей, но в задачах генерации их необходимо дополнять человеческой оценкой, проверкой фактической корректности, устойчивости и безопасности.


Схема обучения и рекомендации

Полный NLP-пайплайн обычно включает сбор данных, очистку, разбиение на выборки, токенизацию, обучение или адаптацию модели, валидацию, анализ ошибок, деплой и мониторинг. На каждом этапе возможны ошибки, которые существенно искажают итоговую оценку качества.

  • Разбиение данных. Нельзя допускать утечку между train, validation и test. Для новостных, юридических и медицинских корпусов особенно опасны дубликаты, пересечения авторов, цитируемые фрагменты и временная утечка. Если будущие документы отличаются от прошлых, предпочтительно временное разбиение.
  • Очистка и нормализация. Необходимо сохранять те элементы текста, которые несут сигнал для задачи. Например, пунктуация и регистр могут быть важны для анализа тональности, а удаление чисел может ухудшить извлечение фактов.
  • Токенизация и OOV. Подсловные методы уменьшают число неизвестных токенов, но могут дробить редкие имена и термины на длинные цепочки. Для доменных задач полезны адаптация токенизатора, добавление специальных токенов и продолжение предобучения на доменном корпусе.
  • Контекстное окно. Модель с максимальной длиной L не видит токены за пределами окна. Простая обрезка может удалить ключевой контекст. Для длинных документов применяются скользящие окна, иерархические модели, retrieval-подходы и архитектуры с разреженным вниманием.
  • Дисбаланс классов. В задачах классификации редкие классы требуют стратифицированного разбиения, взвешенной функции потерь, переоценки порога решения и анализа macro-метрик.
  • Катастрофическое забывание. При агрессивном дообучении большая модель может потерять общие знания. Рекомендуются малая скорость обучения \eta, ранняя остановка, заморозка части слоёв, адаптеры, LoRA и регуляризация.
  • Оценка генерации. Для реферирования, диалога и вопросно-ответных систем недостаточно BLEU или ROUGE. Нужно оценивать фактическую точность, полноту, токсичность, следование инструкции, устойчивость к подсказкам и воспроизводимость.
  • Хранение и обслуживание моделей. Необходимо отслеживать версии моделей, их производительность на разных наборах данных, дрейф дистрибуции, скорость инференса и энергопотребление. Используются инструменты типа MLflow, Weights & Biases, DVC для версионирования и мониторинга.

Оптимизация трансформеров обычно выполняется вариантом AdamW с раздельным weight decay:

\theta_{t+1}=\theta_t-\eta\frac{\hat m_t}{\sqrt{\hat v_t}+\epsilon}-\eta\lambda\theta_t.

Здесь \theta_t — параметры на шаге t, \hat m_t и \hat v_t — скорректированные оценки первого и второго моментов градиента, \eta — скорость обучения, \epsilon — стабилизирующая константа, а \lambda — коэффициент weight decay. На практике важны scheduler с warmup, gradient clipping и смешанная точность (mixed precision). Ограничение нормы градиента g порогом \gamma можно записать так:

g\leftarrow g\cdot\min\left(1,\frac{\gamma}{\|g\|_2}\right).

Для адаптации больших моделей часто применяются методы PEFT. В LoRA вместо полного изменения матрицы W обучается низкоранговая поправка:

W'=W+\Delta W,\qquad \Delta W=\frac{\alpha}{r}BA,\qquad A\in\mathbb R^{r\times d_{\mathrm{in}}},\quad B\in\mathbb R^{d_{\mathrm{out}}\times r}.

Здесь r — ранг адаптации, а \alpha — масштабирующий коэффициент. LoRA резко уменьшает число обучаемых параметров, что особенно важно при дообучении больших языковых моделей на ограниченных GPU-ресурсах.

При генерации текста выбор следующего токена определяется распределением p_\theta(x_t\mid x_{<t}). Температурное масштабирование изменяет энтропию распределения:

p_i^{(\tau)}=\frac{\exp(z_i/\tau)}{\sum_j\exp(z_j/\tau)}.

Малая температура \tau делает ответы более детерминированными, большая — более разнообразными. Кроме greedy decoding и beam search используются sampling, top-k и nucleus sampling с порогом p. Для прикладных систем параметры декодирования следует подбирать не только по автоматическим метрикам, но и по требованиям к точности, стилю и безопасности.

Современные подходы и State-of-the-Art (SOTA)

Современное состояние обработки естественного языка определяется большими языковыми моделями (LLM), предобученными на огромных текстовых корпусах. Типичная LLM является декодерным трансформером, обученным минимизировать авторегрессионную потерю \mathcal L_{\mathrm{CLM}}. С увеличением числа параметров, объёма данных и вычислений модели приобретают способность к few-shot и zero-shot обобщению, следованию инструкциям, программированию, рассуждению по цепочке (chain-of-thought) и использованию внешних инструментов.

Значимые работы последних лет включают:

  • GPT и его семейство. GPT (Radford et al., 2018), GPT-2, GPT-3, GPT-3.5, GPT-4 представляют собой авторегрессионные модели, обученные в режиме next-token prediction. GPT-3 с 175 млрд параметров продемонстрировал неожиданно сильные few-shot способности благодаря масштабу. GPT-4 добавил мультимодальность и улучшения в рассуждении.
  • BERT и энкодеры. BERT (Devlin et al., 2019), RoBERTa, ELECTRA показали, что предобучение на маскированном языковом моделировании создаёт мощные двунаправленные кодировщики, полезные для классификации и таких задач, как извлечение именованных сущностей. Эти модели обычно имеют 100М-350М параметров и хорошо перепираются на GPU среднего размера.
  • Семейство T5. T5 (Raffel et al., 2020) показал, что единая архитектура трансформера типа «кодировщик-декодировщик» может решать широкий спектр NLP-задач, включая классификацию, вопросно-ответное взаимодействие, реферирование и машинный перевод. Все задачи формулируются как преобразование текста в текст (text-to-text).
  • Многоязычные модели. mBERT (multilingual BERT), XLM-R, mT5, mBART обучаются на текстах множества языков одновременно и демонстрируют сильный кроссязычный перенос, что особенно важно для низкоресурсных языков.
  • Специализированные модели. Помимо универсальных моделей развиваются модели, обученные на специфических доменах и задачах: SciBERT для научных текстов, ClimateBERT для климатических документов, медицинские BERT, финансовые BERT, правовые модели типа LawBERT.

При этом SOTA в обработке естественного языка не сводится к максимальному числу параметров. Для классификации и извлечения сущностей компактный кодировщик на десятки миллионов параметров может быть быстрее, дешевле и стабильнее крупной генеративной модели. Например, модель порядка 10^7 параметров может быть достаточна для простого анализа тональности, тогда как модель порядка 8\cdot10^7 параметров обычно лучше переносит контекст и редкие формулировки, но требует больше памяти и времени инференса. Для сложных задач рассуждения, многошагового диалога и генерации кода преимущество получают модели с существенно большим масштабом и инструкционным дообучением.

Одно из центральных направлений — Retrieval-Augmented Generation (RAG). В RAG входной запрос x сначала используется для поиска релевантных документов в коллекции \mathcal D:

\mathcal D_k(x)=\operatorname{TopK}_{d\in\mathcal D}\operatorname{sim}(q(x),e(d)).

Затем генератор строит ответ y с учётом найденного контекста:

p(y\mid x)\approx\sum_{d\in\mathcal D_k(x)}p_\eta(d\mid x)p_\theta(y\mid x,d).

RAG уменьшает число фактических ошибок, позволяет обновлять знания без полного переобучения модели и делает ответы проверяемыми через ссылки на источники. Однако качество RAG-системы зависит не только от генератора, но и от разбиения документов на фрагменты, эмбеддингов, индекса, ранжирования, дедупликации и защиты от нерелевантного контекста.

Актуальные бенчмарки включают:

  • GLUE и SuperGLUE — наборы задач для оценки понимания языка, включающие классификацию текста, похожесть фраз, вывод на естественном языке.
  • SQuAD и Natural Questions — для вопросно-ответных систем.
  • WMT — для машинного перевода.
  • MMLU (Massive Multitask Language Understanding) — многопредметная проверка знаний, содержащая вопросы по 57 дисциплинам.
  • Big-Bench и HELM (Holistic Evaluation of Language Models) — комплексная оценка LLM на множестве задач и свойств.
  • XTREME и XNLI — для многоязычного переноса и перекрёстного языкового взаимодействия.
  • Russian SuperGLUE, RuSentiment, RuCoLA, Taiga, Lenta, RuBQ — для русскоязычных задач.

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

В прикладном SOTA широко используются:

  • Инструкционное дообучение (instruction tuning) — дообучение на примерах вида (инструкция, ввод, ожидаемый вывод) для повышения способности следовать указаниям.
  • RLHF (Reinforcement Learning from Human Feedback) — обучение с подкреплением на основе человеческих предпочтений, используется в ChatGPT и других моделях.
  • DPO (Direct Preference Optimization) — прямая оптимизация на предпочтениях без явного обучения модели вознаграждения.
  • Конституционное обучение — использование набора конституционных принципов для улучшения качества и безопасности.
  • QLoRA — квантизованная версия LoRA, позволяющая дообучение больших моделей на более скромном оборудовании.
  • Адаптеры — небольшие параметрические модули, вставляемые в слои больших моделей для адаптации под новые задачи.
  • Дистилляция (distillation) — перенос знаний от большой модели к компактной, что уменьшает время инференса.
  • Квантизация — представление весов моделей с меньшей точностью (int8, fp16) для ускорения и экономии памяти.
  • Mixture of Experts (MoE) — архитектура, где разные эксперты обрабатывают разные части входа, позволяя масштабировать ёмкость без пропорционального роста вычислений.
  • Длинноконтекстные трансформеры — архитектуры типа Longformer, BigBird, ALiBi, которые эффективно обрабатывают тысячи или десятки тысяч токенов, критичны для обработки полных документов и кодовых файлов.
  • Мультимодальные расширения — интеграция текста с изображениями (CLIP, ALIGN), аудио (Whisper), видео.

Всё более важными становятся не только точность (accuracy) и перплексия, но и надёжность, калибровка уверенности модели, устойчивость к adversarial-промптам, приватность данных, воспроизводимость результатов, соответствие правовым ограничениям (GDPR, защита авторского права), прозрачность работы моделей и минимизация экологических выбросов при обучении и инференсе.

См. также


Примечания


Литература

Mikolov T., Chen K., Corrado G., Dean J. Efficient Estimation of Word Representations in Vector Space // arXiv. — 2013. — С. 1-12.

Vaswani A., Shazeer N., Parmar N., Uszkoreit J., Jones L., Gomez A. N., Kaiser L., Polosukhin I. Attention Is All You Need // Advances in Neural Information Processing Systems. — 2017. — С. 5998-6008.

Devlin J., Chang M.-W., Lee K., Toutanova K. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding // Proceedings of NAACL-HLT. — 2019. — С. 4171-4186.

Brown T. B., Mann B., Ryder N., Subbiah M., Kaplan J. et al. Language Models are Few-Shot Learners // Advances in Neural Information Processing Systems. — 2020. — С. 1877-1901.

Jurafsky D., Martin J. H. Speech and Language Processing. — Stanford: Stanford University, 2024.

Личные инструменты