NLP DeepLearning RAG Agents

SQL-агент: глубокое погружение

  • Как организовать обработку запроса агентом (chain-of-thought, инструменты, схема БД в контексте)?
  • Как валидировать SQL-запрос через EXPLAIN?
  • Как реализовать LLM-Judge для апрува сгенерированного SQL?
  • Какие критерии для оценки SQL стоит определить совместно с бизнесом? (синтаксис, оптимизированность, соответствие схеме)
  • Как обеспечить детерминированность LLM-Judge на одних и тех же данных (диапазон 0.2–0.3 по дисперсии)?
  • Зачем привлекать ассессоров для разметки и оценки качества судьи?
  • Зачем считать доверительные интервалы для воспроизводимости LLM-Judge?

Метрики SQL-агента

  • Какая основная метрика качества SQL-агента (Execution Match)?
  • Чем отличается синтаксическая метрика от content-based execution match?
  • Как сравнивать два SQL-запроса синтаксически (через AST-дерево)?
  • Зачем смотреть на две метрики, а не только на execution match?

Парсинг адресов в SQL

  • Как решать проблему расхождения формата адресов в БД и в запросах пользователя (regex, fuzzy matching, расстояние Левенштейна, LLM с structured output)?
  • Когда LLM с structured output справится лучше regex?

RAG: глубокое погружение

  • Как мерить качество ретривера (Recall@50, Recall@5)?
  • Как составить валидационный датасет (запрос → правильный чанк)?
  • Какую стратегию чанкования выбирать (рекурсивный по символам точки/абзаца, размер 512)?
  • Как проверять качество чанкования (рандомный sampling 20 чанков, оценка людьми)?
  • Когда LLM-оценка чанков не работает (нестабильно, медленно)?
  • Какие основные метрики LLM-Judge (Faithfulness, Answer Quality, Compactness)?
  • Зачем добавлять compactness как пятую метрику?
  • Что подавать на вход LLM-Judge? (контекст, ответ, запрос юзера)
  • Как использовать обратную связь пользователей (CSAT, лайк/дизлайк, фидбэк) для пополнения валидационного датасета?

LoRA и PEFT

  • В каких случаях дообучение эмбеддера через LoRA выигрывает у полного SFT?
  • Какие гиперпараметры LoRA подбираются через Optuna (rank, alpha, learning rate, warmup)?
  • Расскажи теорию LoRA: что такое ранг, размерность матриц A и B, теория линейной независимости.
  • Какие слои обычно затрагивает LoRA в трансформере (Q, K, V, FFN)?
  • Какие методы PEFT существуют (LoRA, P-tuning, prompt tuning)? Что считается PEFT?

Кейс: классификация на 30 классов

  • Какие подходы для несбалансированной задачи классификации на 30 классов?
  • Какие техники работы с дисбалансом классов (oversampling, weighted cross-entropy, focal loss)?

BERT — теория и архитектура

  • Как работает BERT? Что происходит внутри attention-головы?
  • Распиши self-attention: Q · Kᵀ / √d_k → softmax → · V.

BERT — дообучение под классификацию

  • Что нужно архитектурно изменить, чтобы дообучить BERT с MLM-головой под классификацию (заменить голову, использовать CLS-токен)?

Позиционное кодирование (RoPE)

  • Как BERT учитывает позиции токенов?
  • Что такое RoPE (Rotary Position Encoding)? Как он работает?
  • В чём преимущество RoPE перед нормированной разностью позиций?

Расширение токенизатора

  • Что делать, если у BERT низкая плотность токенизации (1 токен ≈ 1 символ)?
  • Как расширить токенизатор, добавив дополнительные токены?
  • Что нужно сделать с embedding-слоем после расширения?
  • Как инициализировать новые эмбеддинги (среднее существующих, случайные, не нулями, среднее склеивающихся токенов)?
  • Можно ли обучать только embedding-слой, заморозив остальные?

PyTorch

  • Что происходит при вызове model.eval()?
  • Что происходит при torch.no_grad()? Чем это отличается от model.eval()?
  • Что будет, если сделать torch.no_grad() без model.eval() или наоборот?

Поиск и классические подходы

  • Как векторизовать текст помимо эмбеддингов (TF-IDF, BM25, bag of words)?
  • Что такое TF-IDF? Чем отличается от BM25?
  • Какой размерности получается вектор TF-IDF для одного текста?