Исследование рекуррентных Transformer-энкодеров для текстовых эмбеддингов
Описание
**Тема исследования:** «Исследование эффективности рекуррентного переиспользования слоёв Transformer-энкодеров для построения текстовых эмбеддингов в условиях ограниченной памяти». Ищу специалиста по Machine Learning / NLP (Python, PyTorch) для проведения небольшого экспериментального исследования архитектуры Transformer-энкодеров. **Цель исследования** Проверить возможность сокращения количества параметров и потребления памяти текстовой embedding-модели за счёт рекуррентного переиспользования Transformer-слоёв без существенной потери качества семантических представлений. Архитектурный ориентир — Huginn (Recurrent Depth): модель содержит входные, повторяемые и выходные блоки. Повторяемые блоки многократно используются с общими весами, обеспечивая увеличение эффективной глубины без увеличения числа физических слоёв. **Основные исследовательские вопросы:** 1. Можно ли сократить количество параметров модели без существенной потери качества эмбеддингов? 2. Как количество рекуррентных проходов влияет на качество эмбеддингов? 3. Помогают ли повторная подача входного представления (input injection) и гейтирование (gating) сохранять качество при увеличении глубины? **1. Реализация моделей** Необходимо реализовать компактный Transformer-энкодер с возможностью рекуррентного переиспользования слоёв. Предполагается сравнить:
- Стандартный компактный Transformer-энкодер (например, 3 независимых слоя)
- Стандартный более глубокий энкодер (например, 6 независимых слоёв)
- Рекуррентный энкодер с повторным использованием слоёв. Для рекуррентного энкодера необходимо проверить четыре конфигурации:
- Базовая рекурсия без дополнительных механизмов
- Рекурсия с input injection
- Рекурсия с gating
- Рекурсия с совместным применением input injection и gating. Желательно использовать единую реализацию с переключаемыми механизмами. Для рекуррентных моделей предусмотреть изменение количества проходов (например, T = 1, 2, 4) без изменения обученных весов. Методика обучения должна учитывать возможность работы с разной глубиной. Предпочтительно обучение собственных весов с нуля. Разрешается использовать готовые токенизаторы, открытые библиотеки и существующие архитектурные компоненты. Размер модели должен быть небольшим, достаточным для экспериментальной проверки гипотез. **2. Обучение и эксперименты** Использовать открытые текстовые данные и единую методику обучения моделей для получения семантических эмбеддингов. Сравнение должно проводиться в сопоставимых условиях: одинаковые обучающие данные, функция потерь, токенизатор и условия оценки. Необходимо разделить обучающие, валидационные и тестовые данные. Для оценки качества предлагается использовать открытую задачу семантического сходства русскоязычных предложений, например RuSTSBenchmarkSTS из MTEB, с метрикой корреляции Спирмена. **Необходимо измерить:**
- Качество семантических эмбеддингов
- Количество уникальных параметров каждой модели
- Размер весов модели
- Потребление оперативной памяти при инференсе
- Время получения эмбеддингов
- Зависимость качества от количества рекуррентных проходов
- Влияние input injection и gating по отдельности и совместно. Основной критерий эффективности — качество эмбеддингов при ограниченном объёме RAM. Измерения памяти и скорости проводить в одинаковых условиях, учитывая полную модель, включая таблицу токенных эмбеддингов. **3. Анализ результатов** По результатам экспериментов необходимо: 1. Сравнить обычные и рекуррентные архитектуры по качеству, числу параметров и потреблению памяти. 2. Определить характер зависимости качества эмбеддингов от количества рекуррентных проходов. 3. Оценить влияние input injection и gating на качество при увеличении глубины. 4. Сформулировать выводы о преимуществах, ограничениях и практической применимости исследуемого подхода. Результаты должны позволять отдельно ответить на каждый из трёх исследовательских вопросов. **4. Что требуется предоставить по итогам**
- Исходный код моделей и экспериментов на Python/PyTorch
- Обученные веса моделей и конфигурации
- Скрипты для воспроизведения оценки качества, памяти и скорости
- Таблицы с фактическими результатами (CSV/Excel)
- Графики сравнения качества, памяти и количества рекуррентных проходов
- Сравнение влияния input injection и gating
- Краткий исследовательский отчёт с описанием методики, результатов, выявленных закономерностей и ограничений
- Инструкцию по запуску и воспроизведению результатов. Важно получить объективные и воспроизводимые экспериментальные результаты. Материалы планируется использовать как экспериментальную основу для последующей подготовки научной статьи совместно с научным руководителем. **Требования к исполнителю** Опыт работы с Python, PyTorch, Transformer-архитектурами и обучением NLP-моделей. Желателен опыт проведения сравнительных ML-экспериментов. При отклике прошу кратко описать релевантный опыт, предварительную оценку реализуемости исследования, предлагаемый подход и стоимость выполнения