Новости и статьи об искусственном интеллекте и нейросетях. Мы собираем и обрабатываем самую актуальную информацию из мира AI. О проекте

Статьи

Уроки машинного обучения за этот месяц

В этой статье описаны три практических урока из работы с машинным обучением: ведение личных README для удобства в будущем, использование MIG-сегментов для ускорения планирования задач и введение движений для борьбы с длительным сидением. Эти подходы помогают оптимизировать повседневные процессы и поддерживать здоровье. Они основаны на опыте и применимы для специалистов в области ИИ.

27 октября 2025 г.
5 мин
1

Процессы в области машинного обучения в целом одинаковы. Кодирование, ожидание результатов, их анализ, возврат к кодированию. Кроме того, бывают промежуточные отчеты о прогрессе. Однако то, что все остается в основном неизменным, не означает отсутствие новых знаний. Напротив! Два-три года назад сформировалась привычка ежедневно фиксировать уроки, извлеченные из работы с машинным обучением. Оглядываясь на заметки за этот месяц, выделяются три практических урока:

  1. Использование файлов README для себя самого
  2. Запрос MIG-сегментов вместо полных GPU
  3. Распределение движений в течение дня

Ведите README — для себя в будущем

Обычно файлы README создаются с учетом других людей. Они помогают новым коллегам освоиться или делают репозиторий с открытым исходным кодом доступным для посторонних.

Создавайте такой файл и для себя — в особенности для себя в будущем.

В разгар проекта все пути, команды и тонкие настройки хранятся в памяти. После перерыва — уже не так. Недавно это проявилось при подготовке обновления для статьи. В исследованиях по машинному обучению рецензирование занимает месяцы. За это время переходят к следующему проекту с новыми наборами данных, кодом и соглашениями. Когда рецензия наконец приходит, возвращаются к старому проекту и... тратят полдня на восстановление, какой скрипт генерировал какую фигуру.

Это вызывает значительный стресс, если дедлайн приближается.

Подготовка к собственному забыванию — часть профессиональной рутины. Краткий README избавляет от серьезных проблем.

Что фиксировать (для себя)

Делайте акцент на практичности. Будущему себе не нужны описательные тексты; нужны инструкции «как»:

  • Быстрый запуск проекта. Настройка окружения, точная версия Python, файл окружения или команды conda/pip.
  • Места хранения данных. Где находятся сырые и обработанные данные; как скачивать, кэшировать и проверять контрольные суммы. Укажите подводные камни (например, «тайлы NDVI перевернуты с севера на юг после ресэмплинга», как отмечалось в предыдущих материалах).
  • Воспроизведение результатов. Одна команда на артефакт: фигуры, таблицы и чекпоинты.
  • Обучение и оценка. Точные команды для ключевых экспериментов; как возобновлять; как устанавливать сиды.
  • Поиск гиперпараметров. Команда, которая реально использовалась, с диапазонами; где логируются результаты.
  • Распространенные ошибки. Все, что может быть забыто (обязательные переменные окружения, флаги GPU, конвенции именования файлов).
  • Журнал изменений. Однострочные пункты значимых обновлений.

Минимальный универсальный шаблон, адаптируемый для любых проектов:

# <Название проекта> ## Быстрый запуск # окружение conda create -n proj python=3.10 -y conda activate proj pip install -r requirements.txt ## Данные # скачивание и предобработка python tools/download_data.py --out data/raw python tools/preprocess.py --in data/raw --out data/processed ## Обучение python train.py --cfg cfgs/base.yaml --seed 42 ## Оценка python eval.py --ckpt runs/exp123/best.ckpt --split test ## Воспроизведение фигур python scripts/fig_1.py # выводит в figs/fig_1.png python scripts/tab_2.py # записывает в tables/tab_2.csv ## Поиск гиперпараметров python sweep.py --study local.pkl --n-trials 100 ## Заметки / Ошибки - Требует CUDA 12.1 - Установите `WANDB_MODE=offline` без интернета

MIG-сегменты для быстрого планирования

Обучение современных больших языковых моделей требует сотен (или тысяч) высокопроизводительных GPU. Но повседневная работа с машинным обучением редко нуждается в моделях масштаба LLM. Многие задачи решаются компактными CNN или небольшими MLP — и для них не требуется полный A100/H100 GPU.

Запрос полного GPU для маленькой модели приводит к неэффективному использованию ресурсов и задержкам в очереди. Этот урок пришлось усвоить заново в этом месяце: при обучении 4-слойной MLP ожидание расписания затянулось. В запросах на планирование указывался полный высококлассный GPU. Естественно, такие ресурсы востребованы задачами, которые действительно их требуют (например, дообучением LLM).

После перехода на MIG-сегмент задания запускались мгновенно, а скорость итераций резко возросла.

Что такое MIG и зачем его применять?

MIG (Multi-Instance GPU) позволяет разделить современный GPU NVIDIA на несколько изолированных «сегментов». Один большой GPU превращается до семи меньших виртуальных GPU, а вся VRAM распределяется между сегментами. По сути, каждый сегмент — это уменьшенный GPU. Для многих нагрузок таких сегментов более чем достаточно.

Есть дополнительное преимущество: меньше людей запрашивают сегменты (из-за незнания возможности), поэтому планировщики размещают задачу сразу. Это ускоряет итерации над моделями, сокращая время до получения качественных результатов.

Практическое применение

  • Проверьте доступность. Обратитесь к администраторам кластера или изучите документацию планировщика на наличие имен MIG-разбиений (например, 1g.10gb, 2g.20gb).
  • Подберите размер запроса. Начните с малого. Если VRAM заканчивается, увеличьте на шаг. Не используйте полные GPU по умолчанию.
  • Профилируйте память заранее. Запустите малую партию для замера пикового VRAM; выберите минимальный сегмент с запасом ~10–20%.
  • Шаблонизируйте задания. Храните скрипт для MIG и для полных GPU; переключайтесь флагом.

Борьба с длительным сидением через движение

Большинство работ за компьютером выполняются перед... компьютером. Все замечают, что чем дольше сидеть, тем хуже осанка. Плечи сутулятся; вся деятельность происходит спереди*.

Такую позу нельзя поддерживать долго, но она стала обыденностью. Для специалистов по машинному обучению компьютеры — основной инструмент, и значительное время уходит на работу с ним.

К счастью, плохая осанка не является неизбежным спутником работы за экраном (нет, эти два аспекта не связаны по определению).

В этом месяце это осознали заново (старые привычки возвращаются): часы чтения, кодирования и встреч сдвинули плечи вперед и зафиксировали верхнюю часть спины. После нескольких дней интенсивного изучения статей плечи напомнили о необходимости изменений.

Решение оказалось простым и не требующим спортзала или полноценной тренировки. Оно сводится к чередованию поз и коротким перерывам на движение.

Собрана небольшая программа, элементы которой применялись в течение дня (поиск упражнений на YouTube, если они незнакомы. Это метазнание, которое помогает лучше и дольше выполнять работу — и здоровее):

  • Звонки только с аудио: вставайте и ходите. Если нужно оставаться у стола, перейдите в расставленную стойку (одна нога вперед) для раскрытия бедер.
  • Двухминутные перезапуски (например, после кофе или возвращения с принтера и т.д.):
    • Разведения с резиной или тяги к лицу (10–15 повторений)
    • Растяжка грудных у стены (30–45 с на сторону)
    • Растяжка сгибателей бедра / растяжка на диване (30–45 с на сторону)
  • Блоки чтения стоя: распечатайте статью или читайте на планшете стоя; чередуйте стояние и сидение.

Кроме того, короткая утренняя сессия улучшает состояние плеч и повышает концентрацию на весь день — приятный бонус, поскольку работа с машинным обучением требует внимания:

  • 5 мин легкой кардио (прогулка или подъем по лестнице)
  • 5 мин подвижности (вращения в грудном отделе, круги плечами, удержание глубокого приседа)
  • 5 мин легкой силы (выпады, отжимания от стола, тяги с резиной)

* Часто звучит аргумент: разве не все работы выполняются спереди? Или иначе: какая профессия требует действий руками за спиной? Верно, кроме, пожалуй, гимнастов, почти все занятия происходят спереди. Ведь именно там наши глаза! Но: в некомпьютерных профессиях движения разнообразны в течение дня: взять что-то с полки, потащить предмет и т.д. Важна именно смена.