# Self-attention с нуля ## Теория перед выполнением Прочитайте [позиционную информацию](../notes/01_tokenization_embeddings_language_modeling.md#позиционная-информация) и [scaled dot-product/multi-head attention](../notes/02_attention_and_transformer_block.md). ## Цель Реализовать scaled dot-product и multi-head attention с causal mask. ## Что сделать 1. Сформулировать ожидаемый результат до запуска эксперимента. 2. Реализовать простой baseline. 3. Реализовать основной метод самостоятельно настолько, насколько требует задание. 4. Добавить автоматические проверки ключевых вычислений. 5. Провести эксперимент, сохранить метрики и примеры ошибок. 6. Заполнить отчёт по `common/REPORT_TEMPLATE.md`. ## Результат NumPy/PyTorch-реализация, shape-тесты и визуализация attention. Решение разместите рядом в `solution/`. Не коммитьте большие данные, веса или секреты. ## Критерии приёмки - Маска не пропускает будущие токены; scaling выполнен по `sqrt(d_k)`. - Код читаем, разбит на функции и запускается по инструкции. - Выводы подтверждаются измерениями и не выходят за пределы эксперимента. ## Вопросы для самопроверки - Почему выбран именно этот метод и какой baseline он должен превзойти? - Где здесь возможна утечка данных или некорректная оценка? - Как изменится результат при других данных или ограничениях? - Какую ошибку модели вы считаете наиболее важной и почему?