Old but gold: Data Engine на примерах OWL и SAM [2/2]

Продолжаем разбирать популярные подходы к построению foundation model. В первой части обсудили SimCLR и DINO, сегодня в программе — Data Engine на примерах OWL и SAM.

У текстового и картиночного доменов есть одна общая черта — переход от стандартных пайплайнов разметки к комбинированным. Это когда одну половину данных обрабатывает человек, а к другой подключается модель.

Хороший пример human-in-the-loop pipeline: RLHF (reinforcement learning from human feedback) завёлся для текстового домена, но не работает для компьютерного зрения. Так для задач обработки изображений появился родственный пайплайн — model-in-the-loop.

Работы Scaling Open-Vocabulary Object Detection (OWLv2) и Segment Anything (SAM) вышли в одно и то же время. Обе они посвящены схожему концепту Data Engine:

1. Модель v1 обучают на датасете, собранном мануально.
2. Модель v1 участвует в псевдоразметке примеров. Разметку по необходимости корректирует человек — получается псевдодатасет.
3. На полученном псевдодатасете обучают модель v2.
4. Модель v2 порождает следующую волну разметки. Алгоритм можно повторять до тех пор, пока не получится модель с нужным качеством.

Дообучение модели на собственных предсказаниях работает, если осмысленно подойти к отбору этих самых предиктов: добавлять в датасет только самые сложные, противоречивые примеры.

Качественную задачу можно свести к количественной, если хорошо настроить конвейерную автоматику движка данных на каждом из этапов:

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

Пересмотреть подход к отбору данных пытаются во многих современных работах. Например, в DINOv2, Llama2 и Llama3 много внимания уделяют дедупликации данных и улучшению разнообразия датасетов. А также ищут способы повысить эффективность обучения на выросшем корпусе данных.

Разбор подготовил ❣️ Сергей Ким
404 driver not found