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