Откуда взялся трансформер

До 2017 года доминировали рекуррентные нейронные сети (RNN/LSTM): они обрабатывали текст последовательно — слово за словом. Это создавало два ограничения: медленное обучение (нельзя распараллелить) и «забывание» контекста из начала длинного текста.

Статья «Attention is All You Need» (Vaswani et al., 2017) предложила обойтись без рекурсии вовсе: взять только механизм внимания, применить его ко всем позициям одновременно и добавить позиционные кодировки для сохранения порядка токенов.

Как работает self-attention

Для каждого токена модель вычисляет три вектора: Query (Q), Key (K) и Value (V). Внимание токена A к токену B — это скалярное произведение Q_A и K_B, нормированное softmax. Результат — взвешенная сумма V всех токенов. Иначе говоря: каждый токен «голосует», какие другие токены важны для его интерпретации.

Attention(Q, K, V) = softmax(QK^T / √d_k) · V

Многоголовое внимание запускает этот процесс параллельно в нескольких «проекциях» и конкатенирует результаты — это позволяет улавливать разные типы зависимостей одновременно.

Энкодеры и декодеры в e-commerce

Тип Примеры Применение в e-commerce
Encoder-only BERT, RoBERTa Семантический поиск, матчинг запрос–товар
Decoder-only GPT, LLaMA AI Shopping Assistant, генерация описаний
Encoder-decoder T5, BART Саммаризация отзывов, мультиязычный поиск

Для поисковых задач обычно используют энкодеры: они превращают запрос пользователя и описание товара в векторы, которые можно сравнивать через косинусное сходство. Для диалоговых сценариев — декодеры или encoder-decoder модели.

Типичные ошибки при внедрении

  • Переоценка размера модели. Для рекомендательных задач BERT-base (110M параметров) часто достаточно — тяжёлые модели на 7B+ параметров дают прирост качества, но проигрывают по задержке инференса.
  • Игнорирование длины контекста. У большинства трансформеров есть ограничение на длину входной последовательности (512, 2048 токенов). Длинные описания товаров или истории пользователей требуют усечения или специальных архитектур.
  • Дообучение без данных предметной области. Общий BERT плохо понимает специфическую терминологию категорий. Fine-tuning на товарных описаниях и поисковых запросах существенно улучшает качество.