Easy Dataset: Инструмент для создания датасетов под Fine-Tuning LLM

#LLM#dataset#fine-tuning#RAG#AI

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

  1. Загружаем сырые техдокументы
  2. Автоматически генерируем QA-пары с помощью встроенного LLM-движка
  3. Валидируем качество через кросс-валидацию
  4. Экспортируем в формате, готовом для загрузки в 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-моделей, особенно в сценариях:

Инструмент активно развивается, с недавними добавлениями:

Для старта достаточно установить пакет и попробовать туториал из репозитория:

pip install easy-dataset
easy-dataset demo --task qa_generation

Источник: https://github.com/login?return_to=%2FConardLi%2Feasy-dataset