Главное меню VMD лабы

Вход

Шесть цифр. В первый раз оставьте пустым — лаба покажет ключ.

Новая машина

Машина — аккаунт Kaggle, на котором лаба обучает модели. У каждой своя недельная квота, одновременно идёт один прогон.

Лаба сразу проверит его у Kaggle. Хранится на сервере и больше нигде не показывается.

Ускорители

Новый датасет

Содержимое файла не читается: связи строятся по созвездию, тегам и описанию.

Файл
Созвездие
Версия от

Автор добавляет описание под свою ответственность.

Новое созвездие

Созвездие — группа датасетов. Пустое созвездие появится на небе, звёзды в него добавляются потом.

Оттенок

Новый прогон

На Kaggle прогон встаёт в очередь: когда видеокарта свободна, лаба через минуту отправит его сама. На локальной видеокарте это план, запуск — командой ниже.

Продолжить с чекпоинта
Созвездия в обучении

Видеокарта
Машина
Модель

Команда для этого компьютера

    
    

Гайд: параметры прогона

Что значит каждое поле формы «Новый прогон» и как оно меняет время, память и качество. Цифры — текущей модели лабы.

Прогон и чекпоинт

Прогон
Один запуск обучения: на Kaggle или на своей карте. Он начинается либо с нуля — веса случайные, — либо с чекпоинта прошлого прогона.
Продолжить с чекпоинта
Обучение подхватывает веса и номер шага прошлого прогона. Архитектура при этом та же, что у чекпоинта: другой формы веса просто не лягут, поэтому поля модели закрыты.
Созвездия в обучении
Из каких групп датасетов берётся текст. Новые данные — новая отложенная выборка, поэтому val начинает счёт заново.

Модель — только для прогона с нуля

Контекст n · сейчас 1024
Сколько токенов модель видит за раз. Длиннее — держит более длинную мысль, но внимание дорожает: память и время растут вместе с n.
Ширина d · сейчас 512
Длина вектора, которым модель описывает каждый токен. Веса растут как d²: удвоить d — примерно вчетверо больше весов.
Головы · сейчас 8
На сколько параллельных «взглядов» делится внимание. d делится на головы без остатка: 512 / 8 = 64 на голову, это обычная величина.
Слои · сейчас 8
Глубина: сколько раз подряд модель перерабатывает текст. Веса и время растут почти линейно: 12 слоёв — примерно в полтора раза больше и медленнее, чем 8.
Сколько весов
≈ 12 · слои · d² + словарь · d + n · d. Для 8 слоёв, d 512, словаря 4000 и n 1024 это 27 738 112 — ровно столько печатает лог обучения.

Обучение

Видеокарта
2×T4 на Kaggle вдвое быстрее одной T4: около 102 тыс. токенов в секунду против 49 тыс. Своя RTX 3050 медленнее одной T4 и греется.
Машина
Аккаунт Kaggle со своей квотой. «Авто» выбирает свободную машину: сперва ту, где квоты хватит на весь прогон, потом ту, где уже есть чекпоинт и данные. Если квота кончилась раньше, лаба продолжит обучение на другой свободной машине.
Батч на карту · сейчас 6
Сколько кусков по n токенов карта обрабатывает за шаг. Шаг на 2×T4 с батчем 6 — это 6 × 2 × 1024 = 12 288 токенов. Больше батч — ровнее обучение, но больше памяти. Упало с «CUDA out of memory» — уменьшите батч.
Шагов до
Номер шага, на котором обучение закончится. Он же задаёт расписание скорости обучения: к этому шагу она плавно падает. Добавили данных — увеличьте.
Лимит, мин
Сколько минут отвести. По лимиту обучение само остановится и сохранит чекпоинт, даже если до «Шагов до» не дошло. 630 минут оставляют запас до лимита сессии Kaggle.

Как выбрать размер

Данные и веса
Ориентир — около 20 токенов данных на один вес. 27,7 млн весов хотят ≈ 550 млн токенов; модель больше этого на тех же данных недообучится.
Время
Больше модель — медленнее каждый шаг: 24 слоя примерно втрое медленнее 8. Скорость для нового размера форма пересчитывает от замера 2×T4 — это оценка, а не замер.
Когда расти
Когда val на текущем размере вышел на плато, а данных хватает на модель побольше. Если val ещё падает — дешевле учить дольше.