RF100-VL benchmark results

Бенчмарк RF100-VL: як моделі LibreYOLO узагальнюються на нових датасетах?

Generalization beyond COCO: how well object detectors adapt to new datasets.

Xuban · LibreYOLO

RF100-VL показує, наскільки добре детектор адаптується за межами COCO. Кожну модель окремо донавчено на 100 дуже різних датасетах, зокрема з інфрачервоними зображеннями, рентгенівськими знімками, мікроскопією, спортом, зображеннями радіоспектра, дрібними об'єктами та відеоіграми. Ми оцінили 17 конфігурацій LibreYOLO: загалом 1700 запусків донавчання.

Sports
Document
Aerial
Medical
Other
Industrial
Flora and Fauna

наведіть для перегляду · клацніть планету, щоб відкрити датасет

Результати

17 конфігурацій · середнє AP50:95
Середня AP50:95485256606401020304050Усього параметрів (млн)NSMLTSMNanoTinySMSMLSMLoRA
Наведіть курсор або торкніться точки, щоб переглянути відомості про модель.

RF-DETR-L очолила це порівняння з результатом 61.76. Далі йде M із 61.13, а потім S із 60.41. Чотири результати RF-DETR близькі до опублікованих Roboflow показників, що є корисною перевіркою навчання RF-DETR у LibreYOLO.

Розмір не завжди передбачав результат. YOLO-NAS-S і M фактично мають однакові результати: 58.00 і 57.99. EdgeCrafter-M набрала 57.93, випередивши S із 55.99 та L із 56.11. Ми плануємо дослідити ці регресії. Це порівняння не є контрольованим експериментом масштабування: роздільна здатність, попередньо навчені ваги, точність і рецепти різняться.

RF-DETR-S із LoRA для бекбона набрала 57.19 порівняно з 60.41 за повного донавчання. Повне донавчання дало кращий результат на 95 датасетах. За записаними даними медіанний час був лише на сім хвилин довшим, а сумарний час завдань майже не змінився.

Результати YOLOv9 отримано до важливих виправлень навчання. Аномальний результат M допоміг виявити відсутній PGI, іншу домовленість щодо letterbox і обмеження навчання до 100 міток. Архівні числа описують код, який було запущено. Вони не є оцінкою архітектури YOLOv9.

Виберіть модель нижче, щоб переглянути її результати на всіх 100 датасетах.

61.8%
RF-DETR-L, середнє для 100 датасетів
100
75
50
25
середнє 61.8%
найсильніший100 датасетів, упорядкованих за результатомнайслабший
75+від 60 до 75від 45 до 60від 30 до 45менше 30
Найсильніші датасети
Найслабші датасети

Методологія

Для кожного датасету ми навчали модель на train, вибирали контрольну точку з найкращим AP50:95 на валідації та один раз оцінювали її на test. Підсумковий показник є незваженим середнім 100 результатів на тестових вибірках.

ПараметрПравило кампанії
Навчання100 епох; без ранньої зупинки
Ефективний розмір батча16
Зерно генератора випадкових чисел0; один завершений запуск для кожного датасету
Контрольна точкаНайкращий AP50:95 на валідації з вагами EMA
Оцінювання на тестіpycocotools із maxDets=500
НалаштуванняОдин зафіксований рецепт для кожного сімейства; без налаштування під окремі датасети

Кожне сімейство мало власний рецепт навчання:

СімействоРоздільна здатністьТочністьОпис аугментації
YOLOv9 T/S/M640FP32Mosaic, HSV, віддзеркалення; сильні аугментації вимкнено протягом останніх 15 епох
YOLOX Nano/Tiny416FP32Mosaic, mixup, HSV, афінні перетворення, віддзеркалення; заключний етап у 15 епох
YOLOX S/M640FP32Той самий рецепт сімейства з окремою швидкістю навчання для кожного розміру
YOLO-NAS S/M640FP32Mixup, HSV і віддзеркалення; mosaic вимкнено
EdgeCrafter S/M/L640FP16Віддзеркалення; стандартні налаштування сімейства LibreYOLO
RF-DETR N/S/M/L і S LoRA384/512/576/704; LoRA на 512BF16Зміна масштабу, обрізання й зміна розміру, віддзеркалення

Це результати з одним початковим значенням. Малі відмінності не свідчать про підтверджене покращення. Для RF-DETR M і L використовувалося накопичення градієнтів, щоб умістити навчання в доступну пам'ять, а для деяких щільних датасетів знадобилися менші фізичні батчі. Загальнодоступні рецепти RF-DETR також починають із контрольних точок COCO, тоді як Roboflow використала приватні контрольні точки Objects365 для своєї історичної таблиці.

Час навчання взято із записів кампанії, а не з контрольованих бенчмарків швидкодії. Іноді завдання виконувалися на спільних GPU, повторювалися після помилок або відновлювалися. Ми не запускали необов'язковий протокол вимірювання затримки одного артефакту на T4. Для YOLO-NAS використовуються попередньо навчені ваги Deci з окремою ліцензією для некомерційного використання.

Що покращилося під час роботи

Невеликі тести можуть підтвердити, що навчання запускається. Вони не відтворюють тижні безперервного донавчання багатьох архітектур на багатьох датасетах. У такому масштабі повільні ділянки, брак пам'яті та проблеми з правильністю роботи стало важко не помітити.

  • Завантаження зображень і валідація. Ми кешували детерміноване змінення розміру до аугментації, повторно використовували робочі процеси й буфери валідатора та будували графи прямих проходів валідації там, де це підтримувалося. PR #677, PR #682
  • Графи CUDA для навчання. Підтримку захоплення графів розширено з YOLOv9 і RF-DETR до 24 сімейств. Також виправлено перегони в DataLoader під час закріплення пам'яті та інвалідацію графів під час переходів між етапами навчання. Тест YOLOv9-T скоротився з 428.4 до 367.7 секунди за незмінного заявленого AP. PR #671, PR #681, PR #716
  • Оцінювання COCO. Оцінювання щільних датасетів іноді тривало довше за навчання. Інтеграція faster-coco-eval оцінила збережені передбачення з усіх 100 тестових розбиттів за 8.4 секунди замість 131.4. Із 1,400 значень метрик 1,381 були ідентичними до біта; найбільша різниця становила 2.22e-16, а підсумковий AP не змінився. PR #708
  • RF-DETR і спільні шляхи навчання. Швидше зіставлення L1, менше синхронізацій із пристроєм, об'єднаний AdamW і обмеження пам'яті зіставлювача скоротили крок RF-DETR-S із 266 до 234 мс у зафіксованому тесті. Це саме дослідження також покращило п'ять інших зіставлювачів, журналювання YOLOv9 і повторне використання тензорів EdgeCrafter. PR #761, PR #762, PR #765
  • Увага. Ми спрямували підтримувані механізми уваги через PyTorch SDPA, інтегрували реалізацію CUDA за ліцензією Apache-2.0 і виправили виконання зі змішаною точністю. Також написали вбудоване ядро Triton для деформованої уваги під час інференсу. В описаних тестах воно було приблизно в чотири рази швидшим окремо та приблизно на 7% швидшим наскрізно для RF-DETR-N. PR #712, PR #713, PR #760, PR #784, PR #790
  • Правильність навчання. Ми виправили реконструкцію BatchNorm у YOLOX і відновили PGI, метадані letterbox, місткість міток і розігрів моменту імпульсу в YOLOv9. Бенчмарк надав контрольні точки й характерні збої, які допомогли виявити обидві проблеми. PR #700, PR #796

Ці числа отримано в окремих тестах на різних робочих навантаженнях. Їх не можна перемножувати, щоб отримати єдиний підсумковий показник прискорення. Тепер LibreYOLO швидша й надійніша для реальних завдань навчання, ніж до цієї кампанії.

Навчальний стенд і артефакти

Загальнодоступний навчальний стенд розподіляє датасети між GPU, відновлює перервані завдання, обробляє відновлення після OOM і зберігає рецепти, версії датасетів, журнали, контрольні точки та передбачення.

Навичка run-rf100vl-benchmark містить протокол та інструкції з роботи на Vast.ai для агентів програмування зі штучним інтелектом. Архів результатів містить усі опубліковані запуски.

Подяка Roboflow

Joseph Nelson запропонував підтримку GPU після того, як я написав, що хочу провести бенчмарк за межами COCO, але не можу оплатити запуски. Matvei Popov поділився еталонними налаштуваннями, пояснив параметри оцінювання та стежив за появою результатів.

Завдяки цій підтримці ми змогли перевірити навчання LibreYOLO на 17 конфігураціях, опублікувати дані, які допоможуть обрати модель, випустити навчальний стенд і навантажити бібліотеку так, щоб її слабкі місця стали очевидними.

Дякуємо Joseph, Matvei і команді Roboflow за обчислювальні ресурси, час і поради.