Доучування мовної моделі Mistral: LoRA, QLoRA, La Plateforme

Доучування мовної моделі Mistral

Напрямки 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

Доучування мовної моделі Mistral

Ви запустили класифікацію товарів на базі Mistral, але accuracy плаває на 60%. Стандартні промпти не справляються з вузькоспеціалізованими категоріями, а кожен зайвий виклик API з'їдає бюджет. Ми проводимо fine-tuning Mistral 7B та Mixtral на ваших даних — і отримуємо модель, яка видає 88% точності на ієрархічній класифікації з 340 категоріями. Зв'яжіться з нами, щоб обговорити ваш проєкт.

Fine-tuning доступний двома шляхами: через La Plateforme (офіційний сервіс Mistral) для закритих моделей, і через self-hosted навчання для відкритих ваг. Mistral 7B — одна з найпопулярніших базових моделей для LoRA-доучування завдяки високому співвідношенню якості до розміру. Наш досвід показує, що правильно налаштоване доучування підвищує accuracy на 20–30% порівняно з zero-shot. Ми гарантуємо, що модель працюватиме у вашому продакшні без сюрпризів.

Сімейство моделей Mistral для fine-tuning

Модель Тип Доступ до ваг Fine-tuning
Mistral 7B v0.3 Відкрита Так Self-hosted, LoRA/Full
Mixtral 8x7B Відкрита (MoE) Так Self-hosted, LoRA
Mixtral 8x22B Відкрита (MoE) Так Self-hosted, багатоGPU
Mistral Small Закрита Ні La Plateforme API
Mistral Large Закрита Ні La Plateforme API
Codestral Закрита Ні La Plateforme API

Який метод fine-tuning обрати для Mistral?

Self-hosted LoRA/QLoRA — основний вибір для більшості задач. При обсязі запитів від 1000 на день власний fine-tuning дає економію на інференсі до 73% порівняно з API. Наші інженери реалізували 50+ проєктів доучування. Клієнт з e-commerce поділився: «Точність класифікації зросла на 27% за один тиждень, а вартість інференсу знизилася втричі». Нижче — порівняння підходів.

Критерій La Plateforme Self-hosted (LoRA/QLoRA)
Контроль даних Дані йдуть до Mistral Дані на вашому сервері
VRAM Не потрібно 16–48 GB (залежить від моделі)
Вартість/запит Вища при обсязі >10K/день Нижча, окупається за 2–4 міс.
Час інференсу Залежить від регіону Контрольований, p50 <200ms

Як виконується fine-tuning через La Plateforme

Mistral надає керований fine-tuning через API з мінімальним порогом входу:

from mistralai import Mistral client = Mistral(api_key="...") # Завантаження датасету with open("train.jsonl", "rb") as f: response = client.files.upload(file=("train.jsonl", f, "application/json")) file_id = response.id # Створення джобу job = client.fine_tuning.jobs.create( model="open-mistral-7b", training_files=[{"file_id": file_id, "weight": 1}], hyperparameters={ "training_steps": 1000, "learning_rate": 0.0001 } ) 

Формат даних для La Plateforme — JSONL з полями messages (аналогічно OpenAI Chat format):

{"messages": [{"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]} 

Архітектурна особливість Mixtral: Mixture of Experts

Mixtral 8x7B використовує MoE-архітектуру: 8 «експертів» (окремих MLP), з яких для кожного токена активуються лише 2. Це дає якість, порівнянну з 40B+ моделлю, при VRAM-вимогах ~48GB (fp16) та швидкості inference 7B моделі. Детальніше про архітектуру можна прочитати в Wikipedia: Mixture of experts.

При LoRA fine-tuning Mixtral важливо правильно обрати target_modules. У MoE-шарах є специфічні параметри:

lora_config = LoraConfig( r=16, lora_alpha=32, # Для Mixtral включаємо MoE-специфічні шари target_modules=[ "q_proj", "v_proj", "k_proj", "o_proj", "w1", "w2", "w3" # MoE expert weights ], task_type="CAUSAL_LM" ) 

Включення w1/w2/w3 (ваги експертів) в LoRA дає суттєвий приріст якості для domain-specific задач, але збільшує кількість навчаних параметрів.

Self-hosted fine-tuning Mistral 7B: покроковий процес

Розгорнутий приклад конфігурації

Типовий стек для продакшн fine-tuning: transformers + trl + peft + bitsandbytes + Weights & Biases для моніторингу. Використовуємо QLoRA для економії пам'яті.

from trl import SFTTrainer, SFTConfig from peft import LoraConfig from transformers import AutoModelForCausalLM, BitsAndBytesConfig bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16, ) model = AutoModelForCausalLM.from_pretrained( "mistralai/Mistral-7B-Instruct-v0.3", quantization_config=bnb_config, device_map="auto" ) # Mistral використовує sliding window attention # context_length краще обмежити до 4096 при QLoRA trainer = SFTTrainer( model=model, args=SFTConfig( max_seq_length=4096, num_train_epochs=4, per_device_train_batch_size=2, gradient_accumulation_steps=8, warmup_ratio=0.1, lr_scheduler_type="cosine", learning_rate=2e-4, bf16=True, report_to="wandb", ), train_dataset=train_dataset, peft_config=LoraConfig(r=16, lora_alpha=32, target_modules=["q_proj","v_proj"]) ) 
  1. Підготовка даних: очищення, балансування, аугментація. Мінімум 100 прикладів, оптимально 1000+.
  2. Вибір конфігурації LoRA: rank (зазвичай 16–64), target_modules (q_proj, v_proj, для Mixtral + w1,w2,w3).
  3. Запуск навчання: на A100 40GB Mistral 7B навчається 1–3 дні, Mixtral 8x7B — 3–7 днів на двох A100.
  4. Моніторинг: Weights & Biases або MLflow для відстеження loss, learning rate, gradient norms.
  5. Оцінка: на відкладеній вибірці (20%), метрики accuracy/F1/BLEU.
  6. Експорт та деплой: ONNX/TensorRT для інференсу, налаштування vLLM з batching.

Практичний кейс: e-commerce класифікатор на Mistral 7B

Задача: класифікація товарних описів за 340 категоріями каталогу (ієрархічна, 3 рівні). До цього використовувався евристичний класифікатор з accuracy 61%. З нашої практики: клієнт — маркетплейс електроніки.

Датасет: 18 000 прикладів (назва + опис товару → шлях в ієрархії категорій). Навчання: Mistral 7B Instruct v0.3, QLoRA (r=32), 3 епохи, одна A100 40GB, 2.5 години.

Результати:

  • Top-1 accuracy: 61% → 88%
  • Top-3 accuracy: 79% → 97%
  • Latency p50: 340мс (vLLM, batching)
  • Вартість vs La Plateforme API: -73% при обсязі 500K запитів/місяць

Коли обирати Mistral, а коли Llama або GPT-4o для fine-tuning?

Mistral 7B — оптимальний, коли потрібен баланс якості та швидкості, один GPU, задачі класифікації або вилучення даних помірної складності.

Mixtral 8x7B — коли 7B не вистачає якості, але 70B занадто дорогий в інференсі; добре підходить для генерації та складного reasoning.

Llama 3.1 70B — максимальна якість серед відкритих, коли потрібно конкурувати з GPT-4 рівнем.

GPT-4o fine-tuning — коли немає GPU-інфраструктури, дані не конфіденційні, обсяг інференсу середній.

Що входить в роботу

  • Аналіз задачі та вибір моделі (Mistral 7B, Mixtral, La Plateforme).
  • Підготовка та розмітка датасету (очищення, балансування, аугментація).
  • Налаштування гіперпараметрів (learning rate, кількість епох, LoRA rank).
  • Навчання з моніторингом (W&B, MLflow).
  • Оцінка на відкладеній вибірці, порівняння з бейзлайном.
  • Експорт в ONNX/TensorRT для інференсу.
  • Документація щодо роботи моделі, рекомендації з експлуатації.

Терміни проєкту

  • Підготовка даних: 2–5 тижнів
  • Навчання та ітерації (Mistral 7B, A100): 1–3 дні сумарно
  • Навчання (Mixtral 8x7B, 2×A100): 3–7 днів сумарно
  • Оцінка, тюнінг, деплой: 1–2 тижні
  • Разом: 4–9 тижнів

Замовте fine-tuning з гарантією результату. Отримайте консультацію щодо вибору моделі та стратегії доучування. Зв'яжіться з нами, щоб обговорити ваш проєкт.