Дообучение (Fine-Tuning) языковой модели Qwen (Alibaba)

Мы часто сталкиваемся с ситуацией: готовая LLM не понимает корпоративную терминологию или ошибается в расчётах по шаблону. Fine-tuning [Qwen2.5](https://github.com/QwenLM/Qwen2.5) от Alibaba решает эту проблему — модель адаптируется под ваш домен, язык и формат вывода. По данным технического отчёта

Направления AI-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1439
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    997
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1264
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1002

Мы часто сталкиваемся с ситуацией: готовая LLM не понимает корпоративную терминологию или ошибается в расчётах по шаблону. Fine-tuning Qwen2.5 от Alibaba решает эту проблему — модель адаптируется под ваш домен, язык и формат вывода. По данным технического отчёта Qwen2.5, MMLU score достигает 85%, что выше, чем у многих open-source моделей. Например, Qwen2.5-72B превосходит Llama 3.1 70B в MMLU на 2 процентных пункта, а на китайских задачах — на 15%. Это семейство моделей от 0,5B до 72B параметров под лицензией Apache 2.0 (базовые версии) и Tongyi Qianwen License (крупные). Специализированные варианты: Qwen2.5-Coder для программирования, Qwen2.5-Math для математики и Qwen-VL для мультимодальных задач. Если вам нужно обрабатывать длинные документы (договоры, научные статьи, нормативные акты), Qwen2.5 поддерживает контекст до 128K токенов. Для большинства продуктовых задач выбирают 7B или 14B, но если требуется максимальная точность — 72B. А для edge-устройств подходят 0.5B и 1.5B.

Как выбрать размер модели для дообучения?

Модель Параметры VRAM (bf16) Особенность
Qwen2.5-0.5B 0.5B 1 GB Edge/IoT
Qwen2.5-1.5B 1.5B 3 GB Мобильные
Qwen2.5-7B 7B 14 GB Основная рабочая лошадка
Qwen2.5-14B 14B 28 GB Баланс качества/ресурсов
Qwen2.5-32B 32B 64 GB Высокое качество
Qwen2.5-72B 72B 144 GB State-of-the-art открытых
Qwen2.5-Coder-32B 32B 64 GB Код, SQL, алгоритмы

Для большинства продуктовых задач достаточно 7B или 14B. 0.5B и 1.5B подходят для инференса на устройствах, 72B — для максимальной точности на сложных сценариях.

QLoRA использует 4-битную квантизацию весов, что позволяет дообучать 7B модель на одной A100 40GB. При этом качество падает не более чем на 2% относительно полного fine-tuning. Снижение затрат на вычислительные ресурсы: использование QLoRA вместо Full сокращает стоимость GPU-часов значительно — примерно в 2 раза за эксперимент на 7B модели.

Почему Qwen удобен для многоязычных и длинных контекстов?

Многоязычность: Qwen обучен на данных с существенной долей китайского, английского и ещё 27 языков. Русский язык представлен значительно лучше, чем в ряде западных моделей, что важно при работе с русскоязычными корпусами.

Длинный контекст: Qwen2.5 поддерживает до 128K токенов. При fine-tuning задач с длинными документами (договоры, научные статьи, нормативные акты) это критическое преимущество.

Qwen2.5-Coder: специализированная версия, превосходящая по HumanEval большинство открытых моделей того же размера. При дообучении на корпоративной кодовой базе даёт лучший старт, чем дообучение общей модели.

Как подготовить датасет для fine-tuning Qwen?

  1. Сбор данных: соберите от 500 до 2000 примеров, релевантных вашей задаче. Для финансового анализа — отчёты с расчётами.
  2. Очистка: удалите дубликаты, исправьте опечатки, проверьте соответствие формату.
  3. Разметка: каждый пример должен содержать пару user-assistant в формате chat template Qwen.
  4. Валидация: создайте тестовую выборку (10% от датасета) для оценки качества.

Сравнение методов fine-tuning

Метод Память (7B) Скорость обучения Качество
Full 56 GB 1x Эталон
LoRA (rank 16) 16 GB 3x 98-99% от Full
QLoRA (4-bit) 8 GB 5x 95-98% от Full

QLoRA снижает требования к памяти в 7 раз без критической потери качества — оптимальный выбор для быстрых экспериментов.

Fine-tuning через LLaMA-Factory

LLaMA-Factory — наиболее удобный инструмент для fine-tuning Qwen, поддерживающий весь спектр методов (Full, LoRA, QLoRA, DoRA) с единым конфигурационным форматом:

# config.yaml model_name_or_path: Qwen/Qwen2.5-7B-Instruct method: lora dataset: my_dataset template: qwen finetuning_type: lora lora_rank: 16 lora_alpha: 32 lora_target: q_proj,v_proj output_dir: ./qwen25-7b-finetuned num_train_epochs: 3 per_device_train_batch_size: 4 gradient_accumulation_steps: 4 learning_rate: 2.0e-4 lr_scheduler_type: cosine warmup_ratio: 0.1 bf16: true 
llamafactory-cli train config.yaml 

Альтернативно — использование swift от ModelScope (Alibaba):

swift sft \ --model_type qwen2_5_7b_instruct \ --dataset my_dataset \ --train_type lora \ --output_dir ./output 

Формат данных: Qwen Chat Template

Qwen2.5 использует специфический chat template с тегами <|im_start|> и <|im_end|>:

<|im_start|>system Ты — ассистент для анализа финансовой отчётности.<|im_end|> <|im_start|>user Рассчитай EBITDA по данным: выручка 850M, COGS 420M, OpEx 180M, DA 45M<|im_end|> <|im_start|>assistant EBITDA = Выручка - COGS - OpEx + DA = 850 - 420 - 180 + 45 = 295M<|im_end|> 

При использовании transformers напрямую применяем tokenizer.apply_chat_template() для корректного форматирования.

Практический кейс: финансовый анализ на Qwen2.5-14B

Из нашей практики: клиенту требовался автоматический анализ квартальных отчётов по МСФО с извлечением показателей, расчётом коэффициентов и флагами аномалий. Датасет — 1800 примеров из корпоративной отчётности. Мы дообучали Qwen2.5-14B Instruct через QLoRA (r=32, alpha=64), 4 эпохи, на 2×A100 40GB за 6 часов. Результаты:

  • Корректность расчёта коэффициентов: 71% → 94%
  • Точность флагов аномалий (F1): 0.67 → 0.88
  • Качество текстового резюме (human eval, 1–5): 3.1 → 4.4

Qwen2.5-14B превзошёл Llama 3.1 8B на 12% по точности извлечения показателей. MMLU и HumanEval подтверждают конкурентные позиции модели. Экономия на инференсе: vLLM с INT4 квантизацией позволяет снизить стоимость на 40% по сравнению с bf16, что даёт экономию до нескольких сотен долларов в месяц при нагрузке 100k запросов.

Деплой дообученной Qwen через vLLM

from vllm import LLM, SamplingParams llm = LLM( model="./qwen25-14b-merged", dtype="bfloat16", tensor_parallel_size=2, # 2 GPU max_model_len=32768, gpu_memory_utilization=0.9 ) sampling_params = SamplingParams(temperature=0.1, max_tokens=2048) outputs = llm.generate(prompts, sampling_params) 

vLLM обеспечивает continuous batching и PagedAttention, что при batch размере 16 даёт throughput ~240 tok/s на 2×A100. Это в 3 раза выше, чем vanilla Transformers.

Что входит в работу по дообучению Qwen?

  • Анализ задачи и сбор требований
  • Подготовка датасета: очистка, разметка, проверка качества
  • Настройка конфигурации обучения (LoRA/QLoRA, гиперпараметры)
  • Обучение и промежуточная оценка метрик
  • Сравнение baseline vs fine-tuned на тестовой выборке
  • Деплой на выбранной инфраструктуре (vLLM, Triton, SageMaker)
  • Документация результата и обучение команды

Дополнительно: предоставляем доступ к нашим тестовым стендам и метрикам. Оцените свой проект — напишите нам. Наша команда имеет большой опыт в NLP и доработке LLM, выполнили более 30 проектов по fine-tuning.

Сроки

  • Подготовка датасета: 2–5 недель
  • Обучение (7B, QLoRA): 3–8 часов
  • Обучение (72B, QLoRA, 4×A100): 24–72 часа
  • Итерации и оценка: 1–2 недели
  • Итого: 4–8 недель

Закажите дообучение Qwen под ключ — получите модель, которая понимает ваш бизнес. Свяжитесь с нами для консультации.