«Конфигурация преобразователя» описывает набор архитектурных гиперпараметров и параметров обучения, которые определяют экземпляр модели преобразователя. К ним относятся структурные варианты (количество слоев кодера/декодера, размерность модели, количество концентрирующих головок, скрытый размер с прямой связью), регуляризация (скорость отсева, размещение нормы слоя) и настройки времени обучения/выполнения (размер пакета, длина последовательности, оптимизатор и график скорости обучения). В этом разделе кратко описываются элементы, которые вы увидите в шаблонах ниже, и почему они важны для производительности, вычислений и задержки.
Это параметры, которые в первую очередь определяют емкость модели и использование памяти:
Для вывода на устройстве отдайте предпочтение меньшему d_model и меньшему количеству слоев и, если возможно, уменьшите длину последовательности. Используйте меньше голов (например, 2–4), чтобы упростить проецирование внимания, и отдайте предпочтение соотношению 1,5–2 × FFN. Для сохранения точности рекомендуется обучение с учетом квантования и дистилляция знаний.
Сбалансированные «базовые» конфигурации хорошо подходят для многих задач НЛП и трансформации видения. Они обменивают вычислительные ресурсы и память на более сильное обобщение и подходят для обслуживания на стороне сервера или точной настройки наборов данных среднего размера.
Большие конфигурации масштабируют d_model, L и часто используют более широкие FFN и больше головок. Для надежной сходимости им требуется распределенное обучение и тщательный выбор оптимизатора/расписания.
Ниже приведены практические шаблоны конфигурации, которые можно копировать и вставлять (советы по структурному обучению). Используйте их в качестве отправной точки и адаптируйте размер пакета, скорость обучения и длину последовательности к вашему оборудованию и набору данных.
| Шаблон | Структура (L/d_модель/h/d_ff) | Советы по обучению |
| Крошечный край | 6 / 320 / 4 / 1024 | AdamW, lr 1e-4 с линейной разминкой (1 тыс. шагов), партия 64, квантование после тренировки. |
| База | 12/768/12/3072 | AdamW, lr 5e-5 с косинусным графиком, партия 32–128 (при необходимости накопить). |
| Большой | 24–48 / 1024–2048 / 16–32 / 4096–8192 | AdamW с LAMB или распределенный Adam; lr 1e-4–3e-4 с длительным прогревом, большими пакетами через параллельную передачу данных или шардинг. |
Если вам необходимо настроить небольшой набор ручек, сначала отдайте приоритет размеру модели (d_model и L), затем скорости обучения и размеру пакета. Регулируйте количество головок только в том случае, если d_model/h становится слишком маленьким (во многих реализациях сохраняйте размер головки ≥ 32 для стабильных градиентов).
Используйте варианты dropout (0.1) и Layernorm (post-LN или Pre-LN в зависимости от архитектуры). Для глубоких моделей Pre-LN часто обеспечивает более стабильное обучение. Градиентное отсечение (1.0) предотвращает всплески; Тренировка смешанной точности (AMP) снижает память и ускоряет тренировку, но отслеживает нестабильность.
Используйте приведенные выше шаблоны в качестве отправной точки и итеративно корректируйте их на основе показателей проверки и аппаратных ограничений. Отслеживайте как пропускную способность (токены в секунду), так и задержку для каждого токена во время оценки. В случае сомнений начните с шаблона «Базовый» и запустите целевую абляцию: уменьшите или увеличьте L и d_model независимо, чтобы увидеть незначительный выигрыш.