Snorkel

Snorkel — открытая Python-библиотека и платформа для программного (исполняемого) создания и управления обучающими наборами данных, основанная на парадигме слабого наблюдения. Она была разработана в Стэнфордском университете и стала ядром коммерческой платформы Snorkel Flow от компании Snorkel AI. Библиотека позволяет специалистам предметной области описывать эвристики в виде «функций разметки» и автоматически получать вероятностные метки, существенно сокращая объём ручной разметки данных[1][2].

Общие сведения
Snorkel
Тип Библиотека для программной разметки данных (weak supervision)
Автор Исследовательская группа Стэнфордского университета
Разработчик Snorkel AI
Написана на Python
Операционные системы Linux, Windows, macOS
Языки интерфейса Английский
Первый выпуск v0.9
Последняя версия 0.10.0 (27 февраля 2024)
Репозиторий github.com/snorkel-team/snorkel
Состояние Активно разрабатывается и обновляется
Лицензия Apache License 2.0
Сайт snorkel.org

Функции

Snorkel предоставляет полный набор инструментов для программной разметки данных и построения моделей машинного обучения.

  • Функции разметки — небольшие фрагменты кода на Python, описывающие правила, шаблоны или внешние источники знаний, которые присваивают метки подмножествам необработанных данных. Каждая LF может голосовать «за» класс или воздерживаться[3].
  • Генеративная модель агрегирует шумные и потенциально противоречивые выходы LFs, оценивая их точность и корреляции без обращения к «истинным» меткам. На её основе формируются вероятностные метки[4].
  • Вероятностные метки — числа в диапазоне 0-1, отражающие степень уверенности в принадлежности объекта к классу. Они используются для обучения дискриминативных моделей (например, глубоких нейронных сетей), способных обобщать знания за пределы заданных эвристик[1][2].
  • Итеративный цикл разработки — Snorkel поддерживает быструю итерацию: пользователь пишет LF, обучает генеративную модель, анализирует ошибки и улучшает правила, повышая качество данных и модели[5].
  • Прослеживаемость и аудит — каждая метка может быть сопоставлена с конкретной LF, что важно для отраслей с повышенными требованиями к прозрачности (медицина, право, финансы)[5].
  • Поддержка разных типов данных — текст, изображения и мультимодальные датасеты могут быть обрабатываемы в единой среде[6].

Примеры использования

Snorkel применяется для автоматизации разметки в самых разных отраслях.

  • Здравоохранение
    • автоматическая разметка страховых претензий и ПДФ-документов для ускорения отчётности о нежелательных явлениях[7];
    • отбор пациентов для клинических испытаний, что позволило сократить время подготовки выборки с месяцев до недель[8].
  • Финансы
    • извлечение ключевых атрибутов компаний из отчётов 10-K, экономя до 10 000 человеко-часов ежегодно[9];
    • сопоставление счетов и транзакций в цифровом банке Tide без больших наборов вручную размеченных данных[10];
    • стратегическое соглашение Snorkel AI с BNY Mellon для преобразования неструктурированных данных клиентов[11].
  • Технологические компании
    • Google применил расширение Snorkel DryBell, чтобы заменить более 100 000 вручную размеченных примеров в производственных ML-конвейерах (прим.: автоматизированная последовательность шагов, которая преобразует «сырые» данные в готовую и работающую модель машинного обучения)[12];
    • Apple, Wayfair, Comcast и Schlumberger используют Snorkel для разметки поисковых, разговорных и технических данных, улучшая точность своих моделей[13].

Критика[14][15][16]

  • Пользователи отмечают, что создание качественных эвристик требует глубокого понимания предметной области и данных, что может быть не проще ручной разметки.
  • Разные функции разметки могут противоречить друг другу, что требует сложной настройки весов и фильтрации шума для получения точного результата.
  • Если набор данных невелик, время на развёртывание и настройку Snorkel может превысить время, необходимое для обычной ручной разметки.

Примечания

  1. 1 2 Snorkel — the one-stop solution for lack of huge labelled datasets. Medium. Дата обращения: 6 июля 2025.
  2. 1 2 Weak supervision for scalable clinical information extraction. PubMed Central. Дата обращения: 6 июля 2025.
  3. Labelling data using Snorkel. KDnuggets. Дата обращения: 6 июля 2025.
  4. Understanding Snorkel. Medium. Дата обращения: 6 июля 2025.
  5. 1 2 Snorkel: AI data annotation reinvented. Appvizer. Дата обращения: 6 июля 2025.
  6. Snorkel AI overview. Mattrics. Дата обращения: 6 июля 2025.
  7. Accelerating AI in Healthcare with Snorkel Flow. Snorkel AI Blog. Дата обращения: 6 июля 2025.
  8. Snorkel AI for cancer clinical trials. Aimpoint Digital. Дата обращения: 6 июля 2025.
  9. Information extraction from 10-K documents with Snorkel Flow. Snorkel AI Blog. Дата обращения: 6 июля 2025.
  10. How Snorkel solved invoice accounting at Tide. Medium. Дата обращения: 6 июля 2025.
  11. Snorkel AI enters agreement with BNY Mellon. Enterprise AI World. Дата обращения: 6 июля 2025.
  12. Snorkel AI company profile. Contrary Research. Дата обращения: 6 июля 2025.
  13. Snorkel and the data-centric AI movement. Greylock Greymatter. Дата обращения: 6 июля 2025.
  14. Snorkel. Дата обращения: 2 апреля 2026.
  15. admin. To Snorkel or Not to Snorkel: That is the Question, International Training - SDI | TDI | ERDI | PFI (6 июня 2011). Дата обращения: 2 апреля 2026.
  16. Почему я изменил своё мнение о слабой разметке для ML, Хабр. Дата обращения: 2 апреля 2026.
© Правообладателем данного материала является АНО «Интернет-энциклопедия «РУВИКИ».
Использование данного материала на других сайтах возможно только с согласия АНО «Интернет-энциклопедия «РУВИКИ».