Маршрут обучения по разметке
Шесть последовательностей чтения руководств Potato, от первого исследования по разметке до отчётности о согласованности, оценки LLM и агентов и качественного кодирования.
Этот маршрут обучения расставляет руководства Potato по разметке в порядке чтения для шести целей, от первого исследования по разметке до оценки LLM-агентов и кодирования интервью. В каждой ветке от пяти до восьми шагов, и каждый шаг называет, чему учит руководство.
Боковая панель группирует руководства по темам. Ветки ниже упорядочивают часть руководств по тому, что читателю нужно в первую очередь, и руководство может входить в несколько веток. Читатель, новичок в разметке, начинает с первой ветки, потому что следующие предполагают готовую схему и инструкции. Глоссарий разметки определяет термины, которые используют руководства, а обзор руководств перечисляет все руководства по темам.
Первое исследование по разметке
Первая ветка проводит исследование от исследовательского вопроса до экспортированных меток. Быстрый старт устанавливает Potato и запускает задачу по тональности, а читатель, которому нужен работающий сервер до чтения, может сначала пройти быстрый старт.
- Что такое разметка данных? Каждому семейству задач разметки, от классификации до ответов в свободной форме, соответствует одна или несколько схем разметки Potato.
- Выбор схемы разметки. Схема следует из вида ответа, который нужен исследованию, а таблица решений сужает типы разметки Potato до нескольких подходящих.
- Проектирование форматов данных для разметки. Каждому элементу нужен стабильный уникальный ID и содержимое для разметки, потому что Potato привязывает каждую аннотацию к ID элемента.
- Как писать эффективные инструкции по разметке. Инструкции работают, когда два внимательных разметчика, читая одни и те же правила, выбирают одну и ту же метку, а цикл пилота и доработки приводит правила к этому.
- Сколько нужно разметчиков? Перекрытие обменивает надёжность каждой метки на число элементов, которое покрывает бюджет, а субъективным задачам нужно больше перекрытия, чем ясным.
- Эталонные примеры и проверки внимательности. Элементы с известными ответами, подмешанные в очередь, измеряют точность каждого разметчика и выявляют тех, кто отвечает не читая.
- Развёртывание сервера разметки. Серверу исследования нужны публичный адрес HTTPS, вход, пускающий только разметчиков исследования, и хранилище, переживающее перезапуск. Исследование на краудсорсинге в Prolific и SONA описывает платный набор участников.
- Экспорт аннотаций для машинного обучения. Potato записывает JSONL и CSV, а также обучающие форматы вроде CoNLL и COCO, и выбор формата до разметки решает, как структурировать данные и ID элементов.
К концу ветки конфигурация исследования содержит схему, файл данных, настройку перекрытия и проверки внимательности. Конфигурация ниже отмечает шаг, добавляющий каждую часть, и проходит python -m potato.validate_cli --strict в Potato 2.13.1:
annotation_task_name: "Review Sentiment"
task_dir: "."
data_files:
- "data/reviews.jsonl" # step 3: one item per line
item_properties:
id_key: id
text_key: text
annotation_schemes: # step 2: one category per review
- annotation_type: radio
name: sentiment
description: "What is the overall sentiment of this review?"
labels: [Positive, Negative, Mixed, Neutral]
num_annotators_per_item: 3 # step 5: three labels per item
attention_checks: # step 6: one check per 25 items
enabled: true
items_file: "data/attention_checks.json"
frequency: 25
output_annotation_dir: "annotation_output/"
export_annotation_format: "jsonl" # step 8Каждой записи в attention_checks.json нужны id и expected_answer. Запустите potato start config.yaml из папки с конфигурацией, и сервер стартует по адресу http://localhost:8000.
Измерение и описание качества меток
Вторая ветка превращает перекрывающиеся метки в числа, которые можно привести в статье или карточке набора данных. Ветка предполагает исследование как минимум с двумя разметчиками на части элементов.
- Согласованность разметчиков. Процент совпадений завышает надёжность, а каппа Коэна, каппа Флейса и альфа Криппендорфа учитывают случайность в разных дизайнах исследований.
- Согласованность для спанов и структурированных выходов. В задачах на спаны у каппы нет фиксированного набора элементов для подсчёта, поэтому согласованность по спанам сообщают как попарную F1 с заданным правилом для частичных перекрытий. Как измерить согласованность разметчиков по ограничивающим рамкам охватывает рамки.
- Арбитраж и разрешение расхождений. Расхождения разрешаются голосованием большинства, экспертным арбитражем или моделью надёжности разметчиков, а выбор зависит от того, ошибка расхождение или сигнал.
- Агрегация меток краудсорсинга. Dawid–Skene и MACE оценивают надёжность каждого разметчика по матрице меток и взвешивают его метки по этой оценке.
- Статистическая мощность и размер выборки в исследованиях по разметке. Перекрытие задаёт надёжность каждой метки, а число элементов определяет, превышает ли наблюдаемая разница шум.
- Как отличить проверку от формального одобрения в предразмеченных данных. С предразметкой согласованность растёт и при проверке, и при формальном одобрении, а различает их время работы.
- Документирование наборов данных и моделей. Datasheets, заявления о данных и карточки моделей фиксируют, кто размечал данные и по каким инструкциям.
Разметка текста для NLP
Третья ветка охватывает текстовые задачи от меток на весь документ до связанных сущностей. Шаги со 2 по 6 опираются друг на друга, и каждая следующая задача работает со спанами того вида, который отмечают предыдущие шаги.
- Разметка текста. Метки на весь документ, от категорий до оценок качества, — самая распространённая задача разметки в обработке естественного языка.
- Разметка спанов. Спан отмечает размеченный фрагмент внутри текста и записывается как начало, конец и метка.
- Распознавание именованных сущностей. NER — задача на спаны с набором меток по типам сущностей, сокращённым из стандартной схемы до предметной области и экспортируемым в CoNLL с тегами BIO.
- Разрешение кореференции. Кореференция группирует все упоминания одной сущности в цепочку, как в «Мария Кюри … она … физик».
- Извлечение отношений и событий. Отношения связывают два спана сущностей типизированным ребром, а события добавляют слово-триггер и роли вокруг триггера.
- Связывание сущностей. Связывание сущностей относит каждое упоминание к одной записи базы знаний, например «Paris» к городу во Франции, а не в Техасе.
- Многоязычная разметка и разметка малоресурсных языков. Разметке на других языках нужны носители языка, категории, работающие в разных культурах, и корректное отображение письма справа налево и нелатинских письменностей.
Разметка изображений, видео и аудио
Четвёртая ветка переходит от неподвижных изображений к медиа во времени и заканчивается предразметкой моделью. Согласованность по рамкам и маскам идёт перед видео, потому что правила границ фигуры определяют большую часть расхождений по пространственным меткам.
- Разметка изображений. Метки изображений варьируются от одной категории на изображение до рамок, полигонов и ориентиров, и верный уровень следует из того, что нужно обучаемой модели.
- Как размечать маски сегментации изображений. Большая часть расхождений по маскам идёт от правила границы, например относится ли тень к объекту, а не от инструмента рисования.
- Как измерить согласованность разметчиков по ограничивающим рамкам. Средний IoU выглядит высоким на крупных объектах по центру даже у разметчиков, ни разу не смотревших на изображение, поэтому согласованность по рамкам требует поправки на случайность.
- Разметка видео. Клип можно размечать целиком, разбивать на временные интервалы или размечать покадрово.
- Как размечать трекинг объектов на видео. Трекинг размечает один объект по кадрам, а распространение с помощью модели переносит первую маску вперёд по клипу.
- Разметка аудио. Одно отображение формы волны обслуживает метки клипов, события с привязкой ко времени, транскрибирование и работу с дикторами.
- Как размечать транскрипты Whisper. Выход Whisper в
.jsonхранит сегменты со временем, а Potato читает папку выходных файлов без шага преобразования. - Предразметка с помощью LLM и моделей зрения. Модель зрения или языковая модель предлагает метки, которые разметчики проверяют, а проверка хорошего предложения занимает меньше времени, чем разметка с нуля.
Шаг 8 использует модель, обученную где-то ещё. Разметка с помощью модели вместо этого обучает модель на собственных метках исследования, а раздел Обучение моделей описывает тренеров для рамок, контуров, аудиосегментов и расшифровок.
Оценка LLM и агентов
Пятая ветка начинается с оценки отдельных выходов и заканчивается проверкой продакшен-трасс. Шаги с 1 по 4 применимы к любому сгенерированному тексту, а шаги с 5 по 8 добавляют путь агента.
- Оценка сгенерированного текста людьми. Автоматические метрики вроде BLEU и ROUGE слабо коррелируют с качеством, а оценка людьми заслуживает доверия, когда определяет каждый критерий и сообщает достаточно деталей для повторения.
- Оценка LLM по рубрикам. Рубрика разбивает одну оценку качества на критерии с баллами и показывает, какой критерий ответ не прошёл.
- Попарное сравнение моделей. Очные суждения по многим промптам ранжируют модели надёжнее абсолютных оценок, а подгонка Брэдли — Терри или Эло превращает победы в рейтинг.
- Как измерить согласованность между LLM-судьёй и разметчиками-людьми. Судья справляется примерно как ещё один разметчик, когда его каппа с людьми близка к каппе людей между собой.
- Как оценивать ИИ-агентов. Оценка агентов судит путь так же, как итоговый ответ, от шагов рассуждения до вызовов инструментов и действий.
- Разметка траекторий агентов. Метки траектории объединяют суждение о всём запуске с категорией ошибки и тяжестью для каждого неудачного шага.
- Модели вознаграждения за процесс и пошаговая разметка. Модель вознаграждения за процесс оценивает каждый шаг рассуждения, а для её обучения нужны пошаговые метки, говорящие, верен ли каждый шаг.
- Очереди ручной проверки трасс LLM и агентов. Очередь проверки отправляет трассы из Langfuse, вебхука или экспорта нескольким рецензентам и записывает объединённый ответ обратно в инструмент трассировки как оценку.
Качественное кодирование
Шестая ветка ведёт данные интервью от записей до статистики надёжности. Функции Potato, которые использует ветка, описывает режим QDA.
- Подготовка транскриптов интервью к качественному кодированию. Записи становятся закодированными фрагментами за пять шагов, от транскрибирования с метками дикторов до кодирования и экспорта, а команда удаляет имена и другие идентификаторы перед загрузкой.
- Разработка кодовой книги для качественного исследования. Каждому коду даются определение, правила, когда код применяется и когда нет, и примеры. Каждая редакция кодовой книги получает номер.
- Надёжность между кодировщиками в качественных исследованиях. Коэффициент следует из дизайна кодирования, а рефлексивный тематический анализ выступает против сообщения какого-либо коэффициента.
- Количественный контент-анализ в Potato. Контент-анализ кодирует единицы по фиксированным переменным и сообщает альфу Криппендорфа по каждой переменной на выборке двойного кодирования.
- Как использовать LLM в качественном кодировании и сообщать об этом. Модель может предлагать коды, кодировать выборку для проверки надёжности или кодировать корпус первой, и каждая роль требует сообщать согласованность модели с кодировщиками-людьми.
- Сравнение программ для качественного анализа данных. NVivo, ATLAS.ti, MAXQDA, Taguette, QualCoder и Potato различаются ценой и поддержкой командного кодирования. Potato обменивается проектами с платными программами в виде файлов REFI-QDA.
Что почитать дальше
- Глоссарий разметки об определениях терминов, используемых в каждой ветке
- Обзор руководств о всех руководствах по темам
- Быстрый старт о работающем сервере Potato за несколько минут
- Быстрый старт с кодовым агентом об описании исследования кодовому агенту и получении конфигурации
- Витрина о готовых к запуску дизайнах, с которых можно начать любую ветку