Как мы в Скаути ускорили разметку ML-датасетов без GPU в 4 раза 🚀 Основой нашего сервиса является ETL-процесс, который состоит из нескольких этапов:
Сбор данных из Telegram-каналов 📥 На первом этапе мы собираем текстовые материалы из указанных пользователем каналов. Количество пользователей и материалов может быть большим, поэтому процесс сбора организован параллельно с учетом приоритетов.
Каждый пользователь имеет один из трех приоритетов: – 🟢 Высокий – 🟡Средний – 🔴Низкий
При создании датасета в системе ему присваивается приоритет пользователя. Для каждого приоритета задано временное окно (например, 1 минута), в течение которого краулер выполняет сбор. После окончания времени датасет возвращается в очередь, и процесс повторяется до завершения сбора.
Размещение и разметка данных 🛠 – Собранные данные сначала помещаются во временное хранилище (RabbitMQ) до обработки средствами разметки. – После разметки данные сохраняются в постоянное хранилище (OpenSearch).
Проблема 🐌 Изначально средства разметки работали в последовательном режиме: каждый разметчик обрабатывал ровно один текст за раз. Это приводило к простоям, снижая скорость обработки данных и увеличивая время получения готового датасета для пользователя.
Решение 💡 Мы разработали несколько оптимизаций, которые значительно ускорили процесс разметки: 1. Разделение процессов сбора и разметки: Теперь собранные тексты сразу сохраняются в OpenSearch.📌 Пользователь может взаимодействовать с данными еще до их разметки, что делает систему удобнее. 2. Оптимизация разметки: – Анализ производительности: Мы измерили скорость работы разметчиков и определили самые медленные этапы: Векторизация, NER (распознавание именованных сущностей), Sentiment-анализ – Работа с пакетами: Теперь разметчики обрабатывают сразу несколько текстов одновременно, а не по одному. – Параллельная работа сервисов:Все средства разметки работают параллельно, за исключением зависимых процессов. Например, кластеризация возможна только после векторизации, а определение языка — для выбора модели NER. – Выбор данных из OpenSearch: Разметка выполняется непосредственно по данным в OpenSearch, где обрабатываются только неразмеченные тексты.
Результат 🎉 Скорость разметки данных без использования GPU увеличилась с 11 часов до 2,5 часов (на объеме 80 тысяч текстов). Это не только ускорило процесс, но и сделало систему более удобной и гибкой для пользователей.
Попробуйте Scoutie бесплатно! 👉Соберите свой первый датасет по ссылке: https://scoutie.ru 📣 Подписывайтесь на наш Telegram-канал: https://t.me/scoutienews ❓Остались вопросы? Пишите в Telegram: @ceoscoutie 💬
#ai #ml #бизнес #стартапы #нейросети #нейросеть #ии #искусственныйинтеллектеще контент в этом сообществе
еще контент в этом соообществе
войдите, чтобы увидеть
и подписаться на интересных профи