Проектирование конвейера синтетических данных для персидского языка

Обучение LLM больше не сводится к масштабированию моделей. Речь идет о масштабировании качества данных.

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

Я разработал конвейер для решения этой проблемы. Он проходит путь от графов тем до тонкой настройки (fine-tuning) с помощью QLoRA.

Процесс конвейера:

  • Создание дерева тем
  • Генерация с помощью LLM
  • Дедупликация
  • Оценка качества
  • Экспорт набора данных
  • Тонкая настройка QLoRA
  • Оценка (Evaluation)

Основные правила проектирования:

  • 51 домен для обеспечения сбалансированного охвата.
  • Семантическая дедупликация для удаления повторяющихся идей.
  • Мультимодельная генерация с использованием моделей GPT для снижения предвзятости.
  • Qwen2.5 3B Instruct для финальной тонкой настройки.

Как работает движок данных: Я использую несколько моделей для создания разнообразия. Модели GPT обеспечивают логику и вариативность. Это позволяет сохранять низкие затраты при высокой степени разнообразия.

Я использую семантическую фильтрацию для очистки данных. Если две инструкции имеют коэффициент сходства выше 0,75, я удаляю одну из них. Это предотвращает переобучение модели на одних и тех же паттернах.

Я использую LLM в качестве судьи для оценки качества. Она проверяет:

  • Беглость (Fluency)
  • Релевантность
  • Полноту

В наборе остаются только данные с оценкой 3,5 или выше.

Результаты тонкой настройки: Я использовал QLoRA для модели Qwen2.5 3B Instruct через Google Colab. QLoRA обучает небольшие адаптеры вместо полных весов. Это экономит память, сохраняя при этом высокую производительность.

Результаты показывают огромную разницу:

  • Базовая модель часто переключается на арабский язык.
  • Тонко настроенная модель говорит на беглом, последовательном персидском языке.

Главный урок очевиден: инженерия данных важнее масштабирования моделей. Качество данных — это основное узкое место.

Ключевые выводы:

  • Для получения чистых данных необходима двойная фильтрация.
  • Структурированные графы тем работают лучше, чем свободные промпты.
  • LLM-судья является жизненно важной частью системы.

Эта система представляет собой полноценный движок для выравнивания (alignment) LLM в условиях ограниченных ресурсов.

Источник: https://dev.to/mohammadheydari/designing-a-synthetic-data-pipeline-for-persian-llm-fine-tuning-from-topic-graphs-to-qlora-5cg5

Дополнительное обучающее сообщество: https://t.me/GyaanSetuAi