Перейти к содержимому

Маршрут обучения по разметке

Шесть последовательностей чтения руководств Potato, от первого исследования по разметке до отчётности о согласованности, оценки LLM и агентов и качественного кодирования.

Этот маршрут обучения расставляет руководства Potato по разметке в порядке чтения для шести целей, от первого исследования по разметке до оценки LLM-агентов и кодирования интервью. В каждой ветке от пяти до восьми шагов, и каждый шаг называет, чему учит руководство.

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

Первое исследование по разметке

Первая ветка проводит исследование от исследовательского вопроса до экспортированных меток. Быстрый старт устанавливает Potato и запускает задачу по тональности, а читатель, которому нужен работающий сервер до чтения, может сначала пройти быстрый старт.

  1. Что такое разметка данных? Каждому семейству задач разметки, от классификации до ответов в свободной форме, соответствует одна или несколько схем разметки Potato.
  2. Выбор схемы разметки. Схема следует из вида ответа, который нужен исследованию, а таблица решений сужает типы разметки Potato до нескольких подходящих.
  3. Проектирование форматов данных для разметки. Каждому элементу нужен стабильный уникальный ID и содержимое для разметки, потому что Potato привязывает каждую аннотацию к ID элемента.
  4. Как писать эффективные инструкции по разметке. Инструкции работают, когда два внимательных разметчика, читая одни и те же правила, выбирают одну и ту же метку, а цикл пилота и доработки приводит правила к этому.
  5. Сколько нужно разметчиков? Перекрытие обменивает надёжность каждой метки на число элементов, которое покрывает бюджет, а субъективным задачам нужно больше перекрытия, чем ясным.
  6. Эталонные примеры и проверки внимательности. Элементы с известными ответами, подмешанные в очередь, измеряют точность каждого разметчика и выявляют тех, кто отвечает не читая.
  7. Развёртывание сервера разметки. Серверу исследования нужны публичный адрес HTTPS, вход, пускающий только разметчиков исследования, и хранилище, переживающее перезапуск. Исследование на краудсорсинге в Prolific и SONA описывает платный набор участников.
  8. Экспорт аннотаций для машинного обучения. Potato записывает JSONL и CSV, а также обучающие форматы вроде CoNLL и COCO, и выбор формата до разметки решает, как структурировать данные и ID элементов.

К концу ветки конфигурация исследования содержит схему, файл данных, настройку перекрытия и проверки внимательности. Конфигурация ниже отмечает шаг, добавляющий каждую часть, и проходит python -m potato.validate_cli --strict в Potato 2.13.1:

yaml
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.

Измерение и описание качества меток

Вторая ветка превращает перекрывающиеся метки в числа, которые можно привести в статье или карточке набора данных. Ветка предполагает исследование как минимум с двумя разметчиками на части элементов.

  1. Согласованность разметчиков. Процент совпадений завышает надёжность, а каппа Коэна, каппа Флейса и альфа Криппендорфа учитывают случайность в разных дизайнах исследований.
  2. Согласованность для спанов и структурированных выходов. В задачах на спаны у каппы нет фиксированного набора элементов для подсчёта, поэтому согласованность по спанам сообщают как попарную F1 с заданным правилом для частичных перекрытий. Как измерить согласованность разметчиков по ограничивающим рамкам охватывает рамки.
  3. Арбитраж и разрешение расхождений. Расхождения разрешаются голосованием большинства, экспертным арбитражем или моделью надёжности разметчиков, а выбор зависит от того, ошибка расхождение или сигнал.
  4. Агрегация меток краудсорсинга. Dawid–Skene и MACE оценивают надёжность каждого разметчика по матрице меток и взвешивают его метки по этой оценке.
  5. Статистическая мощность и размер выборки в исследованиях по разметке. Перекрытие задаёт надёжность каждой метки, а число элементов определяет, превышает ли наблюдаемая разница шум.
  6. Как отличить проверку от формального одобрения в предразмеченных данных. С предразметкой согласованность растёт и при проверке, и при формальном одобрении, а различает их время работы.
  7. Документирование наборов данных и моделей. Datasheets, заявления о данных и карточки моделей фиксируют, кто размечал данные и по каким инструкциям.

Разметка текста для NLP

Третья ветка охватывает текстовые задачи от меток на весь документ до связанных сущностей. Шаги со 2 по 6 опираются друг на друга, и каждая следующая задача работает со спанами того вида, который отмечают предыдущие шаги.

  1. Разметка текста. Метки на весь документ, от категорий до оценок качества, — самая распространённая задача разметки в обработке естественного языка.
  2. Разметка спанов. Спан отмечает размеченный фрагмент внутри текста и записывается как начало, конец и метка.
  3. Распознавание именованных сущностей. NER — задача на спаны с набором меток по типам сущностей, сокращённым из стандартной схемы до предметной области и экспортируемым в CoNLL с тегами BIO.
  4. Разрешение кореференции. Кореференция группирует все упоминания одной сущности в цепочку, как в «Мария Кюри … она … физик».
  5. Извлечение отношений и событий. Отношения связывают два спана сущностей типизированным ребром, а события добавляют слово-триггер и роли вокруг триггера.
  6. Связывание сущностей. Связывание сущностей относит каждое упоминание к одной записи базы знаний, например «Paris» к городу во Франции, а не в Техасе.
  7. Многоязычная разметка и разметка малоресурсных языков. Разметке на других языках нужны носители языка, категории, работающие в разных культурах, и корректное отображение письма справа налево и нелатинских письменностей.

Разметка изображений, видео и аудио

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

  1. Разметка изображений. Метки изображений варьируются от одной категории на изображение до рамок, полигонов и ориентиров, и верный уровень следует из того, что нужно обучаемой модели.
  2. Как размечать маски сегментации изображений. Большая часть расхождений по маскам идёт от правила границы, например относится ли тень к объекту, а не от инструмента рисования.
  3. Как измерить согласованность разметчиков по ограничивающим рамкам. Средний IoU выглядит высоким на крупных объектах по центру даже у разметчиков, ни разу не смотревших на изображение, поэтому согласованность по рамкам требует поправки на случайность.
  4. Разметка видео. Клип можно размечать целиком, разбивать на временные интервалы или размечать покадрово.
  5. Как размечать трекинг объектов на видео. Трекинг размечает один объект по кадрам, а распространение с помощью модели переносит первую маску вперёд по клипу.
  6. Разметка аудио. Одно отображение формы волны обслуживает метки клипов, события с привязкой ко времени, транскрибирование и работу с дикторами.
  7. Как размечать транскрипты Whisper. Выход Whisper в .json хранит сегменты со временем, а Potato читает папку выходных файлов без шага преобразования.
  8. Предразметка с помощью LLM и моделей зрения. Модель зрения или языковая модель предлагает метки, которые разметчики проверяют, а проверка хорошего предложения занимает меньше времени, чем разметка с нуля.

Шаг 8 использует модель, обученную где-то ещё. Разметка с помощью модели вместо этого обучает модель на собственных метках исследования, а раздел Обучение моделей описывает тренеров для рамок, контуров, аудиосегментов и расшифровок.

Оценка LLM и агентов

Пятая ветка начинается с оценки отдельных выходов и заканчивается проверкой продакшен-трасс. Шаги с 1 по 4 применимы к любому сгенерированному тексту, а шаги с 5 по 8 добавляют путь агента.

  1. Оценка сгенерированного текста людьми. Автоматические метрики вроде BLEU и ROUGE слабо коррелируют с качеством, а оценка людьми заслуживает доверия, когда определяет каждый критерий и сообщает достаточно деталей для повторения.
  2. Оценка LLM по рубрикам. Рубрика разбивает одну оценку качества на критерии с баллами и показывает, какой критерий ответ не прошёл.
  3. Попарное сравнение моделей. Очные суждения по многим промптам ранжируют модели надёжнее абсолютных оценок, а подгонка Брэдли — Терри или Эло превращает победы в рейтинг.
  4. Как измерить согласованность между LLM-судьёй и разметчиками-людьми. Судья справляется примерно как ещё один разметчик, когда его каппа с людьми близка к каппе людей между собой.
  5. Как оценивать ИИ-агентов. Оценка агентов судит путь так же, как итоговый ответ, от шагов рассуждения до вызовов инструментов и действий.
  6. Разметка траекторий агентов. Метки траектории объединяют суждение о всём запуске с категорией ошибки и тяжестью для каждого неудачного шага.
  7. Модели вознаграждения за процесс и пошаговая разметка. Модель вознаграждения за процесс оценивает каждый шаг рассуждения, а для её обучения нужны пошаговые метки, говорящие, верен ли каждый шаг.
  8. Очереди ручной проверки трасс LLM и агентов. Очередь проверки отправляет трассы из Langfuse, вебхука или экспорта нескольким рецензентам и записывает объединённый ответ обратно в инструмент трассировки как оценку.

Качественное кодирование

Шестая ветка ведёт данные интервью от записей до статистики надёжности. Функции Potato, которые использует ветка, описывает режим QDA.

  1. Подготовка транскриптов интервью к качественному кодированию. Записи становятся закодированными фрагментами за пять шагов, от транскрибирования с метками дикторов до кодирования и экспорта, а команда удаляет имена и другие идентификаторы перед загрузкой.
  2. Разработка кодовой книги для качественного исследования. Каждому коду даются определение, правила, когда код применяется и когда нет, и примеры. Каждая редакция кодовой книги получает номер.
  3. Надёжность между кодировщиками в качественных исследованиях. Коэффициент следует из дизайна кодирования, а рефлексивный тематический анализ выступает против сообщения какого-либо коэффициента.
  4. Количественный контент-анализ в Potato. Контент-анализ кодирует единицы по фиксированным переменным и сообщает альфу Криппендорфа по каждой переменной на выборке двойного кодирования.
  5. Как использовать LLM в качественном кодировании и сообщать об этом. Модель может предлагать коды, кодировать выборку для проверки надёжности или кодировать корпус первой, и каждая роль требует сообщать согласованность модели с кодировщиками-людьми.
  6. Сравнение программ для качественного анализа данных. NVivo, ATLAS.ti, MAXQDA, Taguette, QualCoder и Potato различаются ценой и поддержкой командного кодирования. Potato обменивается проектами с платными программами в виде файлов REFI-QDA.

Что почитать дальше