20 октября 2026 г. · Анатолий Крылов, редактор Тераферма
Обучение YOLO на своих данных: какая GPU нужна, время и цена эпохи
Обучение YOLO на своих данных относится к самым недорогим задачам для арендованной GPU. Датасет на 5 000 изображений, модель размера s, 100 эпох при разрешении 640 пикселей: на RTX 4090 это 1–3 часа, то есть 48–144 ₽. Видеопамяти нужно 8–24 ГБ в зависимости от размера модели, а главный тормоз чаще не карта, а процессор, который не успевает готовить картинки.
Какую модель YOLO выбрать
В 2026 году основным инструментом служит библиотека Ultralytics с моделями YOLO11 и YOLO26. У каждой пять размеров: n, s, m, l, x. Чем крупнее модель, тем выше точность и тем медленнее обучение и инференс.
| Размер | Для чего | Видеопамять при batch 16, 640 px | Батч на 24 ГБ |
|---|---|---|---|
| n (nano) | Камеры, Raspberry Pi, телефоны | ~3–4 ГБ | 64–128 |
| s (small) | Большинство прикладных задач | ~5–6 ГБ | 48–64 |
| m (medium) | Мелкие объекты, много классов | ~8–10 ГБ | 32–48 |
| l (large) | Высокая точность на сервере | ~11–13 ГБ | 24–32 |
| x (extra) | Максимум точности, медленно | ~15–18 ГБ | 16–24 |
Цифры памяти даны для детекции. Сегментация и pose берут на 10–30% больше, а на разрешении 1 280 пикселей уходит примерно в 3–4 раза больше, чем на 640.
Начинайте с s. На большинстве прикладных датасетов (дефекты на производстве, товары на полке, номера машин) разница между s и m в точности составляет несколько пунктов mAP, а обучение идёт вдвое быстрее. Переходите на m или l, только если s не дотягивает до нужной точности на валидации.
Какая GPU нужна для обучения YOLO
Модели YOLO небольшие. В отличие от языковых моделей, им не нужны 80 ГБ: память определяет только максимальный батч. Поэтому выбор карты сводится к цене часа и скорости.
| Карта | Память | Цена, ₽/час | Когда брать |
|---|---|---|---|
| RTX 3060 | 12 ГБ | 12 | Модели n и s, небольшие датасеты, отладка |
| RTX 4060 Ti | 16 ГБ | 21 | n–m с нормальным батчем |
| RTX 3090 | 24 ГБ | 26 | Любой размер, лучшая цена за гигабайт |
| RTX 4090 | 24 ГБ | 48 | Быстрее 3090 в 1,5–2 раза, когда важно время |
| RTX 5090 | 32 ГБ | 83 | Большие датасеты, разрешение 1 280 |
| A100 | 80 ГБ | 97 | Крупные датасеты, несколько экспериментов параллельно |
Для одной задачи на датасете до 20–30 тысяч изображений A100 и H100 избыточны: YOLO не загрузит их полностью, а час стоит дороже. Дорогие карты имеют смысл, когда датасет на сотни тысяч изображений или нужно прогнать десятки вариантов гиперпараметров.
Подробнее о выборе карты под задачи машинного обучения читайте в каталоге аренды сервера для нейросети.
Как посчитать время эпохи и цену обучения
Время обучения считается по простой формуле:
время = (изображений ÷ скорость, изобр./с) × эпох + валидация
цена = время в часах × цена часа карты
Скорость обработки зависит от размера модели, карты, разрешения и того, успевает ли процессор. Заранее точно её не узнать, поэтому удобнее посчитать несколько вариантов и проверить реальный по первой эпохе.
Пример. Датасет 5 000 изображений, 100 эпох, валидация добавляет около 15%. Допустим, карта с моделью s обрабатывает 300 изображений в секунду:
5 000 ÷ 300 ≈ 17 секунд на эпоху → 17 × 100 = 1 700 секунд → с валидацией около 33 минут.
| Скорость, изобр./с | Эпоха на 5 000 фото | 100 эпох с валидацией | 300 эпох с валидацией |
|---|---|---|---|
| 100 | 50 с | ~1,6 часа | ~4,8 часа |
| 200 | 25 с | ~48 минут | ~2,4 часа |
| 300 | 17 с | ~33 минуты | ~1,6 часа |
| 500 | 10 с | ~20 минут | ~1 час |
Сюда же добавьте 10–20 минут на установку, загрузку датасета и экспорт. Для модели s на RTX 4090 при хорошо настроенной загрузке данных реальны значения из середины таблицы, для m и l — ближе к верхним строкам, для слабых карт и медленного процессора — ниже 100 изображений в секунду.
Ultralytics сам пишет скорость в лог: в строке эпохи видно время на итерацию. Запустите обучение, дождитесь конца первой эпохи, умножьте её время на число эпох: это и есть ваш бюджет. Если он не устраивает, остановите и поменяйте размер модели или карту, пока потрачены минуты.
Сколько стоит типовое обучение
| Задача | Датасет | Модель | Карта | Ориентир по времени | Стоимость |
|---|---|---|---|---|---|
| Пробное обучение | 1 000 фото, 50 эпох | n | RTX 3060 | ~30 минут | 6 ₽ |
| Дефекты на производстве | 5 000 фото, 100 эпох | s | RTX 3090 | ~1,5 часа | 39 ₽ |
| Товары на полках | 20 000 фото, 100 эпох | m | RTX 4090 | ~4 часа | 192 ₽ |
| Мелкие объекты, 1 280 px | 10 000 фото, 150 эпох | m | RTX 5090 | ~8 часов | 664 ₽ |
| Подбор гиперпараметров | 5 000 фото, 10 запусков по 50 эпох | s | RTX 4090 | ~5 часов | 240 ₽ |
Время в таблице дано как оценка, а не замер: реальное значение зависит от процессора машины и формата данных. Для сравнения, купить видеокарту под такие задачи стоит десятки тысяч рублей. Когда покупка окупается, а когда нет, разобрано в статье видеокарта для машинного обучения: купить или арендовать.
Почему видеокарта простаивает и как это исправить
Самая частая проблема при обучении YOLO: видеокарта загружена на 30–50%. Модель маленькая и считается быстро, а процессору нужно на каждом шаге прочитать JPEG, раскодировать его, сделать мозаику из четырёх картинок, повернуть, изменить цвета. Если ядер мало, GPU ждёт.
Что помогает:
- Больше ядер CPU. При выборе машины смотрите не только на карту. Для YOLO на одной RTX 4090 желательно от 8 ядер.
- Параметр
workers. По умолчанию Ultralytics берёт 8 потоков загрузки. Если ядер больше, поднимите, если меньше, не ставьте выше числа ядер. - Кэш изображений.
cache=ramдержит раскодированные картинки в оперативной памяти и убирает декодирование JPEG на каждой эпохе. 5 000 изображений в 640 пикселях займут несколько гигабайт ОЗУ. Если памяти мало, используйтеcache=disk. - Локальный SSD. Держите датасет на диске сервера, а не подгружайте по сети.
- Проверка загрузки. Во время обучения выполните
nvidia-smi -l 2. Если загрузка GPU ниже 70%, узкое место — процессор или диск.
Как подбирать процессор и память под карту, разобрано в статье CPU и RAM для GPU-сервера.
Сколько данных нужно
Бюджет обучения напрямую зависит от размера датасета, поэтому полезно знать порядок цифр до того, как размечать.
- 150–300 изображений на класс — минимум, с которым дообучение предобученной модели даёт осмысленный результат на простых объектах.
- 1 000–2 000 изображений на класс — уровень, на котором модель устойчиво работает в разных условиях: свет, ракурс, фон.
- 10–15% снимков без объектов (фон) снижают ложные срабатывания.
Разнообразие важнее количества. Тысяча фото одного конвейера с одной камеры научит модель хуже, чем 500 снимков с трёх камер в разное время суток. Увеличение датасета вдвое примерно вдвое увеличивает время эпохи и счёт, что легко пересчитать по формуле выше.
Как обучить YOLO на арендованной GPU: пошагово
- Подготовьте датасет дома. Разметка в формате YOLO: папки
imagesиlabels, файлdata.yamlсо списком классов и путями к train и val. Разметить можно в CVAT, Label Studio или Roboflow. Упакуйте всё в архив. - Арендуйте машину. Для первого запуска хватит RTX 3090 за 26 ₽/час. Выберите шаблон с PyTorch и Jupyter.
- Загрузите архив. Небольшой — перетаскиванием в Jupyter, большой — через
scpилиrsyncпо SSH. Подробно о подключении написано в статье про первый запуск на арендованной GPU. - Установите Ultralytics и запустите обучение:
pip install ultralytics
yolo detect train model=yolo11s.pt data=data.yaml epochs=100 imgsz=640 batch=-1 cache=ram workers=8
batch=-1 подбирает максимальный батч, который помещается в память. Вместо yolo11s.pt можно указать yolo26s.pt, синтаксис тот же.
- Следите за метриками. Ultralytics пишет результаты в
runs/detect/train: графики loss, mAP50 и mAP50-95 по эпохам. Если mAP на валидации перестал расти 20–30 эпох подряд, обучение можно останавливать: параметрpatienceделает это автоматически. - Скачайте результат. Файл
weights/best.ptи папку с графиками скачайте до остановки сервера: после остановки диск удаляется. - Экспортируйте модель. Для продакшена:
yolo export model=best.pt format=onnxилиformat=engineдля TensorRT. Экспорт в TensorRT лучше делать на той же архитектуре GPU, где модель будет работать.
Если обучение прервалось
Ultralytics сохраняет last.pt после каждой эпохи. Если сессия оборвалась или вы остановили сервер, продолжить можно командой yolo train resume model=runs/detect/train/weights/last.pt. Главное — не потерять папку с весами: скачайте её или синхронизируйте в облачное хранилище, если обучение длинное.
Как сократить счёт за обучение
- Отладка на маленьком подмножестве. Запустите 3 эпохи на 200 изображениях, чтобы проверить пути, классы и формат разметки. Ошибка в
data.yaml, найденная через 2 минуты, дешевле, чем через час. - Предобученные веса. Всегда начинайте с
yolo11s.ptили аналога, обученного на COCO, а не с нуля. Модель сходится в разы быстрее. patience=30. Ранняя остановка экономит десятки эпох, если модель вышла на плато.- Сначала 640, потом 1 280. Подберите гиперпараметры в 640 пикселях, а большое разрешение включайте только для финального обучения, если объекты мелкие.
- Несколько экспериментов подряд. Если вы сравниваете n, s и m, запускайте их в одной сессии друг за другом, без перерывов на ручную работу.
- Остановка сразу после обучения. Поминутная оплата работает в обе стороны: пока сервер включён, деньги списываются, даже если обучение давно закончилось.
Пополнить баланс можно от 500 ₽ криптовалютой (USDT, BTC и другие), оплата картой РФ и счёт для юрлиц появятся позже. Для типичного обучения YOLO 500 ₽ хватает на несколько часов на RTX 3090.
Сколько стоит дообучение модели позже
Когда появятся новые снимки, не обязательно обучать заново с нуля. Возьмите свой best.pt как стартовые веса и дообучите на объединённом датасете 30–50 эпох. Это обычно вдвое-втрое быстрее первого обучения, а значит, и дешевле: для датасета на 5 000 фото — десятки минут на RTX 3090.
Обучение YOLO на своих данных не требует дорогого железа: модели s и m обучаются на картах с 12–24 ГБ, а 100 эпох на датасете в 5 000 изображений занимают от получаса до нескольких часов. Посчитайте время по формуле, проверьте его на первой эпохе и следите, чтобы видеокарта не простаивала из-за процессора.
Подготовьте датасет и запустите первое обучение на сервере для нейросети: пробный прогон на RTX 3090 обойдётся в 13 ₽ за полчаса.