Согласованность разметчиков для 3D-объектов, временных сегментов и трасс агентов
Если свести структурную разметку к названиям меток, согласны все разметчики. Сопоставляйте 3D-рамки и сегменты по IoU, а трассы агентов оценивайте по шагам.
Чтобы измерить согласованность на структурной разметке, сравнивайте сами структуры. Сопоставьте 3D-рамки или временные сегменты одного разметчика с рамками и сегментами другого по IoU, считайте несопоставленные объекты расхождением, а трассу агента оценивайте по шагам, чтобы каждый шаг был единицей для каппы или альфы.
Согласованность разметчиков легко определить, когда каждый объект получает одну метку. Во многих современных задачах объект получает вместо этого набор элементов: кубоиды вокруг машин в лидарном скане, сегменты, отмечающие, когда говорит каждый диктор, или вердикт для каждого шага агента. Мера, рассчитанная на одну метку на объект, вынуждена сводить такие структуры к чему-то сравнимому, и самое простое сведение, к названиям меток, делает согласной любую пару разметчиков.
Полное согласие по названиям меток
Такое сведение оставляет названия меток и отбрасывает всё остальное. Два разметчика, каждый из которых нарисовал на лидарном скане три рамки с меткой «car», оба сводятся к «car» и полностью согласны, даже если их рамки стоят в разных местах.
Маршрут согласованности по схемам в Potato, /admin/api/agreement, до версии 2.11 делал именно так для структурных схем, и на трассах агентов, сегментах, областях и 3D-объектах любая пара разметчиков получала полное согласие. Идеальная оценка на трудной пространственной или временной задаче обычно означает, что мера потеряла структуру. В 2.11 этот маршрут больше не сообщает структурные схемы и отсылает к полному отчёту о согласованности по адресу /admin/iaa, который сравнивает структуры.
Сопоставление 3D-объектов и временных сегментов
Согласованность на наборе объектов начинается с сопоставления. Каждый объект одного разметчика ставится в пару не более чем с одним объектом другого по мере перекрытия, и пара считается одним и тем же объектом, только если мера выше порога. Для временных сегментов используется временной IoU (пересечение по объединению), то есть длина перекрытия, делённая на длину объединения, а для 3D-объектов 3D IoU, то же отношение по объёмам. Potato сопоставляет сегменты при пороге 0,5, а 3D-объекты при 0,25, потому что небольшое смещение в трёх измерениях стоит больше IoU, чем в двух. Рамка, сдвинутая на 10% своего размера по каждой оси, сохраняет 2D IoU около 0,68, а 3D IoU всего около 0,57.
После сопоставления каждая сопоставленная пара даёт свой IoU, сопоставленная пара с разными метками даёт половину своего IoU, а каждый несопоставленный объект с любой стороны даёт ноль. Согласованность по объекту равна сумме, делённой на число объектов, где сопоставленные пары считаются один раз. Поэтому разметчик, пропустивший половину объектов, получает низкую оценку, даже если отмеченные им объекты идеальны, а два разметчика, которые оба ничего не отметили, согласны.
/admin/iaa сообщает по два числа на схему для 3D-объектов (spatial_annotation) и для временных сегментов в temporal_grounding и tiered_annotation:
mean_agreement, среднее этой оценки по объекту по всем парам разметчиков на всех объектах, где разметчиков два или больше;mean_object_count_diff, средняя разница в числе объектов, отмеченных двумя разметчиками.
Разница в числе разделяет два способа, которыми наборы могут расходиться. Низкая согласованность при разнице в числе около нуля означает, что люди нашли одни и те же объекты, но разместили их по-разному. Большая разница в числе означает, что один разметчик находит объекты, которые пропускает другой, и это указывает на то, что в инструкциях считается объектом.
Ни одно из этих чисел не скорректировано на случайность. Для случайного базового уровня пространственной согласованности нужна модель того, где оказываются объекты, когда разметчики расходятся случайно, и Potato строит её только для 2D-рамок и многоугольников, как описано на странице Согласованность по геометрии. Для временных сегментов тот же подход не работает, потому что сегмент из другого клипа не даёт осмысленного случайного сравнения, когда клипы разной длины. Это объясняется на странице Согласованность во времени. Сравнивайте эти числа между пилотами одной и той же задачи, где трудность размещения объекта остаётся постоянной.
В 2.11 изменился один пограничный случай. У двух одинаковых сегментов нулевой длины, то есть момента, отмеченного обоими разметчиками в одно и то же время, IoU равен 0, делённому на 0. Раньше они считались полным расхождением, а теперь считаются согласными.
Пошаговая согласованность для трасс агентов
Трасса агента состоит из последовательности шагов, и схемы для трасс (process_reward, trajectory_eval, tool_call_review, failure_attribution, gui_trajectory) требуют метку для каждого шага. Оценка трассы по набору её меток повторяет проблему названий меток, а оценка по общему вердикту выбрасывает шаги.
/admin/iaa рассматривает каждый шаг каждой трассы как отдельную единицу. Два разметчика, оценившие шаг 4 трассы 12, дают одну пару, и номинальная альфа Криппендорфа и каппа Коэна считаются по всем таким единицам вместе с процентом совпадений. В отличие от мер для наборов выше, оба коэффициента скорректированы на случайность, поэтому пошаговая альфа 0,6 на задаче process reward читается на той же шкале, что и альфа на любой категориальной задаче. Движок разметки разбирает пошаговые метки так же, когда сравнивает LLM-судью с человеком, и его оценка равна доле общих шагов, которые они разметили по-разному.
Назначение двух разметчиков на объект
/admin/iaa не требует настройки. Он оценивает каждый объект, на который ответили два или больше разметчиков, так что вся работа сводится к назначению. Чтобы у каждого объекта было два разметчика, задайте двух разметчиков на объект и раздавайте сначала наименее размеченные объекты:
assignment_strategy: least_annotated
num_annotators_per_item: 2Два разметчика на объект являются минимумом, нужным отчёту. На небольшом наборе перекрытия одна необычная трасса или лидарный скан может сдвинуть среднее настолько, что изменится ваш вывод, поэтому планируйте перекрытие до начала разметки, а не после. Старый блок agreement_metrics настраивает показатели по схемам на панели, которые с 2.11 пропускают эти схемы и отсылают к /admin/iaa.
Согласованность и разница в числе по раундам пилота
Читайте mean_agreement вместе с разницей в числе и числом пар, которые /admin/iaa показывает рядом. Падение между раундами пилота при стабильной разнице в числе указывает на размещение, и тогда нужно доработать инструкции о плотности рамок или границах сегментов. Рост разницы в числе указывает на то, что считается объектом или событием. Для трасс агентов сравните пошаговую альфу с альфой, которую те же разметчики получают на более простом категориальном вопросе в том же исследовании. Это помогает отличить трудные пошаговые метки от ненадёжных разметчиков.
Что дальше
- Согласованность разметчиков: коэффициенты и когда какой применять
- Согласованность по геометрии: согласованность с поправкой на случайность для 2D-рамок и многоугольников
- Согласованность во времени: сегменты и точки разрыва в аудио и видео
- Сырой IoU не равен согласованности: почему один средний IoU завышает пространственную согласованность