NLP на собеседовании Data Scientist

Готовишься к собесу Data Scientist?
ML, Deep Learning, NLP, MLOps — вопросы с разборами в Telegram
Тренировать DS в Telegram

Что спрашивают про NLP

NLP — частый блок на собесе DS. Глубина зависит от роли:

  • Общий DS — базы (что такое токенизация, embeddings, BERT)
  • NLP-специалист — фундамент transformers, fine-tuning, evaluation
  • LLM-инженер — prompt engineering, RAG, alignment

Базовый минимум: токенизация, word embeddings, transformers, BERT/GPT, классификация текста.

Токенизация

Текст превращается в последовательность токенов (id числа в словаре). Подходы:

Word-level

Каждое слово — токен. Просто, но проблемы:

  • Огромный словарь
  • OOV (out-of-vocabulary) — новое слово неизвестно

Character-level

Каждый символ — токен. Маленький словарь, но длинные последовательности.

Subword (BPE, WordPiece, SentencePiece)

Компромисс. Часто встречающиеся слова — одним токеном; редкие — разбиваются на subword'ы.

  • BPE (Byte-Pair Encoding) — итеративно объединяет частые пары. GPT.
  • WordPiece — похож на BPE, отличается метрикой выбора. BERT.
  • SentencePiece — работает на raw text без предварительной токенизации. T5, mBART.

На собесе: «Зачем subword?» Ответ: решает OOV (новое слово разбивается на known subword'ы), уменьшает словарь, лучше работает на агглютинативных языках (русский).

Word embeddings

Word2Vec, GloVe, fastText

Векторные представления слов в пространстве, где близкие по смыслу слова — близкие в пространстве.

  • Word2Vec — обучается через предсказание слова по контексту (CBOW) или контекста по слову (Skip-gram)
  • GloVe — на основе матрицы со-встречаемости
  • fastText — Word2Vec на subword'ах, лучше для редких слов

Известный пример: vector("король") - vector("мужчина") + vector("женщина") ≈ vector("королева").

Контекстные embeddings

Word2Vec даёт один вектор на слово. Но «коса» в «коса девочки» и «коса на пляже» — разные смыслы. Контекстные модели (BERT, ELMo) дают разные векторы под контекст.

Сейчас almost все NLP — контекстные. Word2Vec используется как baseline.

BERT и encoder-модели

BERT (Bidirectional Encoder Representations from Transformers) — encoder-only архитектура. Обучается на задачах:

  • Masked Language Model (MLM) — маскирует случайные токены и предсказывает их
  • Next Sentence Prediction (NSP) — предсказывает, идут ли два предложения подряд (в новых моделях часто убирают)

Применяется для:

  • Классификация текста (sentiment, spam, intent)
  • NER (named entity recognition)
  • QA (question answering) — predicting answer span
  • Embeddings sentences (Sentence-BERT)

На собесе: «Зачем bidirectional?» Ответ: при понимании смысла слова важен контекст с обеих сторон. GPT (left-to-right) хуже на classification, лучше на generation.

Готовишься к собесу Data Scientist?
ML, Deep Learning, NLP, MLOps — вопросы с разборами в Telegram
Тренировать DS в Telegram

GPT и decoder-модели

GPT (Generative Pre-trained Transformer) — decoder-only архитектура. Обучается на causal language modeling — предсказывает следующий токен.

Подходит для:

  • Генерация текста
  • Few-shot/zero-shot задачи через prompts
  • Чат-боты, LLM-сервисы

GPT-1 (2018) — 117M параметров. GPT-2 (2019) — 1.5B. GPT-3 (2020) — 175B. GPT-4 (2023) — точное число неизвестно, оценивается в 1T+.

В РФ — YandexGPT, Sber GigaChat.

Fine-tuning vs prompt engineering

Fine-tuning

Берём pretrained модель, дообучаем на нашей задаче. Нужны:

  • Размеченный датасет (для классификации — десятки/сотни тысяч примеров)
  • Compute (GPU)
  • Время и навыки

Виды:

  • Full fine-tuning — обновляем все веса. Дорогое, лучшее качество
  • LoRA, adapters — обновляем малую часть весов. Дешевле, на больших моделях
  • Prompt tuning — обучаем только embeddings промпта

Prompt engineering

Не обновляем модель. Подбираем входной промпт так, чтобы модель решала задачу. Подходы:

  • Zero-shot — даём задачу описанием
  • Few-shot — даём 2-5 примеров в промпте
  • Chain-of-thought — просим модель рассуждать пошагово
  • RAG (Retrieval Augmented Generation) — даём в промпт релевантные документы из векторной БД

На собесе: «Когда fine-tuning, когда prompts?» Ответ:

  • Fine-tuning — стабильное качество, оффлайн-задачи, узкие домены
  • Prompts — быстрая итерация, новые задачи, отсутствие данных
  • Гибрид (RAG + small fine-tuning) — production-стандарт сейчас

Базовые задачи NLP

Text classification

Sentiment, spam, intent, topic. Решается BERT + classification head.

Метрики: accuracy, F1 (на несбалансированных классах).

NER (Named Entity Recognition)

Найти в тексте имена, локации, даты. BERT + token classification head.

Метрики: precision, recall, F1 по spans (точная граница важна).

Summarization

Сократить длинный текст. Extractive (выбираем предложения) vs abstractive (генерируем).

Метрики: ROUGE (overlap n-gram).

QA (Question Answering)

Extract answer span в контексте. SQuAD-стиль.

Translation

Encoder-decoder архитектуры (T5, mBART, Marian).

Метрики: BLEU, METEOR.

Частые ошибки

Не учитывать особенности языка. Русский — агглютинативный. Subword-токенизация лучше word-level. Стандартные предобработки (лемматизация, стоп-слова) обычно вредят на современных моделях.

Использовать accuracy на несбалансированной классификации. F1 или PR AUC — стандарт.

Игнорировать длину контекста. BERT — 512 токенов. Текст длиннее обрезается. Long-context модели — Longformer, BigBird, Flash Attention.

Использовать GPT-3+ для классификации. Дорого и хуже, чем дообученный BERT. LLM — для генерации и сложных задач.

Не думать про языковую модель. Английский BERT не работает на русском. Используйте multilingual или language-specific (RuBERT, RuRoBERTa).

FAQ

Что такое attention простыми словами?

Механизм взвешенного учёта частей последовательности. Когда модель «читает» слово, она не равномерно учитывает остальные слова, а взвешивает их по релевантности.

Embeddings — это про слова или предложения?

И то, и другое. Word embeddings (Word2Vec) — про слова. Sentence embeddings (Sentence-BERT) — про предложения/абзацы.

Сколько NLP-практики нужно для junior DS?

1-2 проекта: классификация текста с BERT, embedding-based search или RAG.

Это официальная информация?

Нет. Статья основана на ключевых публикациях (Vaswani 2017, Devlin 2018, Brown 2020) и опыте кандидатов.