датасет
Набор размеченных или неразмеченных данных для обучения или оценки модели.
Что такое датасет
Датасет (dataset) — структурированный набор данных, используемый для обучения, валидации или оценки ML-моделей. Качество и объём датасета определяют возможности модели не меньше, чем архитектура.
Типы датасетов
Pretraining datasets: огромные корпусы неразмеченного текста для обучения базовых LLM. The Pile, RedPajama, FineWeb — сотни GB–TB токенов. Качество данных критично: web crawl-данные нуждаются в тщательной фильтрации.
Instruction tuning datasets: пары (инструкция, ответ) для SFT. Обычно от нескольких тысяч до миллиона примеров. Alpaca, Dolly, OpenAssistant, ShareGPT, synthetic data (GPT-4-generated).
RLHF/DPO datasets: тройки (промпт, предпочтительный ответ, отвергнутый ответ) для alignment. HH-RLHF, UltraFeedback.
Evaluation datasets: бенчмарки для оценки качества — MMLU, HellaSwag, HumanEval, GSM8K, MT-Bench.
Разбивка датасета
Стандартная практика — разделить данные на три части:
| Часть | Роль | Пример |
|---|---|---|
| Train | Обучение модели | 80% |
| Validation | Оценка в процессе обучения, подбор гиперпараметров | 10% |
| Test | Финальная оценка (только один раз) | 10% |
Датасеты для русскоязычных задач
- ruGPT-3 datasets: обучающие данные для русских LLM
- Russian SuperGLUE: бенчмарк для оценки NLU на русском
- Сrawled Russian web: Common Crawl с фильтрацией по языку
- Synthetic: генерация синтетических примеров через GPT-4
Формат Hugging Face datasets
from datasets import load_dataset
# Загрузить датасет с Hugging Face Hub
dataset = load_dataset("tatsu-lab/alpaca")
print(dataset["train"][0])
# {'instruction': '...', 'input': '...', 'output': '...', 'text': '...'}
# Или свой датасет из JSONL-файла
dataset = load_dataset("json", data_files="my_data.jsonl")
Связанные термины
- fine-tuning — требует подготовленного датасета
- SFT — обучение на instruction datset
- RLHF — использует preference dataset
- токенизация — первый шаг обработки датасета
Готовы запустить GPU-задачу?
Запустить GPU-сервер