TL;DR
Easy Dataset - это опенсорсный инструмент для быстрого создания структурированных датасетов под fine-tuning языковых моделей. Поддерживает различные форматы данных, включает инструменты для разметки и позволяет легко готовить данные под RAG-архитектуры.
Введение: Контекст и Актуальность
В эпоху кастомных LLM и RAG-систем качество датасетов стало критически важным. Большинство разработчиков сталкиваются с проблемами:
- Разрозненные данные в разных форматах
- Трудоемкость ручной разметки
- Сложность подготовки данных под конкретные кейсы
Easy Dataset решает эти проблемы, предоставляя единый конвейер для обработки текстовых данных.
Основная Часть: Возможности и Примеры
Базовый Workflow
from easy_dataset import DatasetBuilder
# Инициализация билдера
builder = DatasetBuilder(
output_format="alpaca", # Поддержка Alpaca, ChatML и др.
task_type="instruction" # instruction, qa, summarization
)
# Загрузка сырых данных
builder.load_from_jsonl("raw_data.jsonl")
# Препроцессинг
builder.clean_text(
remove_urls=True,
fix_unicode=True
)
# Пример добавления инструкций
builder.add_instruction_template(
input_field="question",
output_field="answer",
template="Ответь на вопрос: {input}"
)
Поддержка RAG
Для RAG-систем особенно полезен функционал чанкинга и векторизации:
# Чанкинг документов
builder.chunk_documents(
chunk_size=512,
overlap=64,
strategy="semantic" # semantic/sliding
)
# Генерация эмбеддингов
builder.generate_embeddings(
model="text-embedding-3-small",
batch_size=32
)
# Экспорт для векторных БД
builder.export_to_vectordb(
format="pinecone",
index_name="rag_index"
)
Фичи для Разметки
Интерактивный режим для ассистированной разметки:
easy-dataset label --file unlabeled.jsonl --template qa
Практическое Применение
Кейс: Fine-Tuning под Domain-Specific QA
- Загружаем сырые техдокументы
- Автоматически генерируем QA-пары с помощью встроенного LLM-движка
- Валидируем качество через кросс-валидацию
- Экспортируем в формате, готовом для загрузки в Hugging Face
# Генерация синтетических QA-пар
builder.generate_synthetic_qa(
llm="gpt-4-turbo",
context_field="document_text",
num_questions_per_chunk=3
)
# Валидация
val_report = builder.validate_quality(
test_size=0.2,
metrics=["bleu", "rouge"]
)
Заключение
Easy Dataset значительно ускоряет подготовку данных для AI-моделей, особенно в сценариях:
- Быстрого прототипирования RAG-систем
- Доменно-специфичного fine-tuning
- Генерации синтетических датасетов
Инструмент активно развивается, с недавними добавлениями:
- Поддержка мультимодальных данных (v0.4)
- Интеграция с Argilla для collaborative labeling
- Автоматическая балансировка датасетов
Для старта достаточно установить пакет и попробовать туториал из репозитория:
pip install easy-dataset
easy-dataset demo --task qa_generation
Источник: https://github.com/login?return_to=%2FConardLi%2Feasy-dataset