- BrainTools - https://www.braintools.ru -

Готовим данные для LLM: открытые инструменты для нормализации, очистки и не только

Готовим данные для LLM: открытые инструменты для нормализации, очистки и не только - 1

Компании активно внедряют у себя решения на основе больших языковых моделей: боты техподдержки, умный поиск по базе знаний, выявление мошенников в диалоге или HR-ассистенты.

Но самостоятельно вывести модель в полноценное продакшн-использование не так просто. К тому же для разных сценариев нужно тестировать разные модели. Это требует больших усилий. Чтобы уменьшить порог входа в эту технологию, мы создали собственную платформу — MWS GPT [1]. Под капотом — наша инфраструктура с GPU.

О том, как тестировать разные LLM в MWS GPT и запускать ИИ-агентов без кода скоро расскажем на вебинаре — присоединяйтесь [2].

Для обучения [3] LLM требуются огромные и разнообразные датасеты. Однако качество данных часто важнее простого объёма: хорошие данные позволяют модели лучше обобщать и снижать ошибки [4].  К счастью, есть открытые решения, способные помочь с их обработкой.

Сегодня делимся подборкой систем контроля качества ML-датасетов, проектом для автоматической категоризации и системой контроля версий для наборов данных.

dlt

Python-библиотека под лицензией Apache 2.0 для автогенерации датасетов на основе неструктурированных данных из различных источников [5]: SQL- и векторных хранилищ, озёр данных, локальных БД и так далее. Ее представили разработчики из dltHub в 2022 году. 

По словам команды, они желают не только предоставить компактную и удобную библиотеку для построения наборов данных, но и сформировать опенсорс-экосистему по обмену источниками, пайплайнами и кодом в целом. Авторы dlt часто сталкивались с однотипными ошибками при преобразовании разрозненных источников данных. В какой-то момент они решили, что проще написать автоматизированное решение, нежели постоянно разрешать одни и те же проблемы.

Так, dlt преобразует [6] данные и самостоятельно координирует миграцию схем, а также поддерживает написание «контрактов» [7] для тонкого контроля. 

В то же время dlt умеет в инкрементальную загрузку — пользователь может повторно загружать не все данные разом, а лишь изменённые или новые. Само же содержимое датасетов нормализуется перед каждым запуском. 

Есть и модуль мониторинга данных [8] — можно отобразить число загруженных в таблицу строк и время загрузки содержимого датасетов. Также стоит отметить, что для этой библиотеки доступна браузерная демоверсия [9], в которой показана загрузка Python-структуры в DuckDB.

Databonsai

Python-библиотека [10] с лицензией MIT для разметки и очистки данных с помощью LLM. Решение предложил инженер Алвин Райанпутра, который также выступает одним из разработчиков инструмента для извлечения информации из документов Reducto [11].

Databonsai способен разбивать неструктурированные данные на заданные пользователем категории. В то же время он поддерживает пакетную категоризацию, то есть обрабатывает множество запросов одновременно и экономит токены. В репозитории есть пример [12] категоризации датасета с заголовками новостей по темам: «Погода», «Спорт», «Технологии» и так далее. При необходимости (используя класс MultiCategorizer [13]) можно присваивать одной записи разные категории.

Кроме категоризации данных, databonsai может выполнять их преобразование. Для этих целей существует специальный класс — BaseTransformer. Он отвечает за работу с промптами для LLM: проверяет их целостность, принимает на вход примеры преобразований для повышения точности. Перечисленные возможности дополняет другой класс — ExtractTransformer [14]. Он позволяет назначить собственный шаблон для вывода структурированных данных.

Lilac

Инструмент [15] для проверки и обработки неструктурированных данных перед тонкой настройкой LLM-моделей. Первая версия Lilac вышла в 2023 году под лицензией Apache 2.0. Его разработали два бывших инженера Google, проработавшие в компании больше десяти лет. Они занимались повышением качества данных для машинного обучения и регулярно сталкивались с тем, что в неструктурированных датасетах (с контентом на естественном языке или изображениями) было сложно находить ошибки и неточности. По сути, Lilac был разработан, чтобы решить эту проблему. 

Стоит отметить, что в 2024 году проект Lilac приобрела [16] крупная ИТ-компания Databricks и интегрировала Lilac в собственные решения. И с конца июля  2025 года репозиторий проекта [15] переведен в read-only. Однако демо Lilac [17] все еще доступно на платформе HuggingFace Spaces для всех желающих. 

Инструмент умеет фильтровать и кластеризовать данные, добавлять к ним аннотации. Есть возможность сопоставить две версии одного и того же поля — до и после преобразования данных, чтобы отследить внесенные в них изменения. Функция редактирования позволяет добавлять в датасет новые столбцы, применять изменения ко всем строкам разом, а также просматривать информацию о происхождении данных.

Lilac реализует несколько типов расширенного поиска — например, по ключевым словам или «концепциям». Так, инструмент способен проанализировать текст на положительные или отрицательные коннотации. Можно описать собственный концепт — для этого Lilac необходимо обучить на примерах. 

Наборы данных можно загружать из источников HuggingFace, Parquet, CSV, JSON, SQLite и многих других. Стоит отметить и классы Signal, отвечающие за обогащение метаданными. Сигналы в Lilac — это как простые, так и сложные Python-функции или комплексные модели машинного обучения.

Oxen

Система контроля версий [18] для работы с данными для машинного обучения — CSV-файлами с миллионами строк или каталогами документов. Oxen был опубликован в 2022 году под лицензией Apache-2.0 [19]. Его представили программисты из компании Oxen.ai [20], которые также регулярно публикуют обучающие статьи по машинному обучению [21] и анализируют последние научные работы в сфере ИИ. [22]

По мнению представителей Oxen, система управления версиями объёмных датасетов Git LFS [23] работает слишком медленно, что критично в сценариях машинного обучения, когда наборы данных могут включать в себя миллионы файлов. Поэтому при создании Oxen программисты уделили особое внимание [24] скорости и производительности.

В целом интерфейс Oxen похож на Git, однако решение заточено под работу с «крупными данными»: в том числе с большими одиночными файлами (например, CSV с миллионами строк) и датасетами, состоящими из отдельных файлов и директорий — например, полным каталогом изображений ImageNet. Oxen включает в себя интерфейс командной строки (CLI), библиотеки для Rust и Python, а также HTTP-интерфейсы для интеграции в рабочие процессы.

Автор: randall

Источник [25]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/19407

URLs in this post:

[1] MWS GPT: https://mws.ru/services/mws-gpt/?utm_source=habr.com&utm_medium=owned_media_gptdataset&utm_content=article&utm_term=gptdataset

[2] присоединяйтесь: https://mws.ru/events/webinar23092025/?utm_source=habr.com&utm_medium=utm_campaign_webinar23092025&utm_content=article&utm_term=webinar23092025

[3] обучения: http://www.braintools.ru/article/5125

[4] ошибки: http://www.braintools.ru/article/4192

[5] источников: https://dlthub.com/docs/dlt-ecosystem/verified-sources

[6] преобразует: https://dlthub.com/docs/reference/explainers/how-dlt-works

[7] написание «контрактов»: https://dlthub.com/docs/general-usage/schema-contracts

[8] мониторинга данных: https://dlthub.com/docs/running-in-production/monitoring#data-monitoring

[9] браузерная демоверсия: https://dlthub.com/docs/tutorial/playground

[10] Python-библиотека: https://github.com/alvin-r/databonsai

[11] Reducto: https://github.com/reductoai

[12] есть пример: https://github.com/alvin-r/databonsai/blob/main/databonsai/examples/categorize_news.ipynb

[13] MultiCategorizer: https://github.com/alvin-r/databonsai/blob/main/docs/MultiCategorizer.md

[14] ExtractTransformer: https://github.com/alvin-r/databonsai/blob/main/docs/ExtractTransformer.md

[15] Инструмент: https://github.com/databricks/lilac

[16] приобрела: https://www.databricks.com/blog/lilac-joins-databricks-simplify-unstructured-data-evaluation-generative-ai

[17] демо Lilac: https://lilacai-lilac.hf.space/datasets#lilac/OpenOrca

[18] Система контроля версий: https://github.com/Oxen-AI/Oxen

[19] Apache-2.0: https://github.com/Oxen-AI/Oxen?tab=Apache-2.0-1-ov-file#readme

[20] Oxen.ai: http://Oxen.ai

[21] машинному обучению: https://www.oxen.ai/community/practical-dives

[22] анализируют последние научные работы в сфере ИИ.: https://www.oxen.ai/community/arxiv-dives

[23] Git LFS: https://git-lfs.com/

[24] внимание: http://www.braintools.ru/article/7595

[25] Источник: https://habr.com/ru/companies/mws/articles/946126/?utm_source=habrahabr&utm_medium=rss&utm_campaign=946126

www.BrainTools.ru

Rambler's Top100