При обучении моделей на датасетах от 1 млн изображений время декодирования файлов может занимать до 30% общего цикла итерации, создавая «бутылочное горлышко» в передаче данных на GPU. Ошибка в выборе формата хранения приводит к избыточным затратам на CPU-ресурсы и деградации точности весов из-за артефактов сжатия.
PNG vs JPEG: баланс между точностью и скоростью
PNG обеспечивает lossless-сжатие, что критично для задач сегментации и детектирования мелких объектов. Однако стоимость этого качества — объем файла в 3–7 раз больше, чем у JPEG. При чтении 512x512 PNG через библиотеку OpenCV или Pillow нагрузка на CPU возрастает на 15–25% по сравнению с JPEG, что замедляет подачу тензоров в GPU.
Кейс: при переходе с PNG на JPEG (качество 95) в задаче классификации ImageNet-подобного датасета время эпохи сократилось на 12%, при этом точность (Top-1 accuracy) упала всего на 0.12%. Это доказывает, что для классификации lossless избыточен.
Экспертный вывод: используйте PNG только для масок и медицинских снимков; для общего обучения классификаторов JPEG с качеством 90–95 является золотым стандартом.
WebP и TIFF: нишевые решения для оптимизации
WebP предлагает сжатие на 25–34% эффективнее JPEG при сопоставимом визуальном качестве, что снижает требования к дисковому пространству. Однако поддержка WebP в некоторых старых версиях Cuda-оптимизированных загрузчиков требует дополнительных оберток, что может нивелировать выигрыш в скорости чтения.
TIFF (особенно BigTIFF) незаменим в работе с 16-битными изображениями и многоканальными данными (например, спутниковые снимки), где стандартные 8 бит на канал дают недопустимую потерю градиентов. В таких задачах использование JPEG приводит к «ступенчатости» гистограмм, что ломает стратегии цветовой нормализации в изображениях для нейросетей.
Экспертный вывод: WebP идеален для хранения огромных архивов «сырых» данных перед их конвертацией в бинарные форматы; TIFF — единственный выбор для высокоточного анализа.
Влияние уровней сжатия на точность весов
Агрессивное сжатие (JPEG quality < 70) вносит высокочастотные шумы (артефакты блоков), которые нейросеть может принять за значимые признаки. Это приводит к переобучению на артефактах сжатия, а не на реальных объектах. В задачах регрессии (например, оценка возраста по фото) снижение качества с 95 до 60 увеличивает ошибку MAE на 4–7%.
Особенно критично это при создании синтетических данных: если маски сохраняются в форматах с потерями, возникают размытые границы. Это напрямую влияет на критерии оценки качества синтетических масок в изображениях для нейросетей, снижая точность IoU (Intersection over Union) на 2–5%.
Экспертный вывод: никогда не используйте сжатие с потерями для масок и карт глубины — только PNG или специализированные бинарные форматы.
Бинарные контейнеры: TFRecord, HDF5 и WebDataset
Хранение миллионов мелких файлов (small file problem) убивает производительность файловой системы из-за огромного количества операций ввода-вывода (IOPS). Переход на бинарные форматы (TFRecord, HDF5) или шардирование через WebDataset позволяет перевести чтение из случайного в последовательное, увеличивая пропускную способность шины данных в 5–10 раз.
Пример: чтение 100 000 отдельных JPEG-файлов с HDD занимает в 4 раза больше времени, чем чтение одного аналогичного по объему .tar архива в WebDataset. Это напрямую коррелирует с влиянием стратегий кеширования и префетчинга изображений для нейросетей, так как последовательный поток данных легче кешировать в RAM.
Экспертный вывод: для датасетов > 50 ГБ отказ от отдельных файлов в пользу шардированных контейнеров обязателен для исключения простоя GPU.
Вывод
Для достижения максимальной производительности при обучении рекомендую следующую связку: исходные данные в WebP (для экономии места) → конвертация в бинарные шарды (WebDataset) → чтение в 8-битном формате JPEG-quality 90 для классификации или PNG для сегментации. Избегайте хранения миллионов мелких файлов на стандартных NTFS/EXT4 системах и никогда не сжимайте маски с потерями. Оптимальный путь — переход на последовательное чтение данных, что дает прирост скорости обучения до 30% без потери точности весов.
