Донавчання (Fine-Tuning) мовної моделі Phi (Microsoft)

Базова мовна модель не завжди відповідає специфіці вашого бізнесу, видаючи загальні або неточні результати. Ми дообучаємо компактні моделі Phi від Microsoft під ваші задачі, роблячи їх по-справжньому корисними для доменних сценаріїв. Наша команда реалізує проєкт під ключ — від підготовки даних до впровадження та подальшої підтримки, забезпечуючи надійне рішення, яке працює навіть на обмежених ресурсах.
Часті запитання

При спробі розгорнути повну 70B модель на мобільному пристрої ви впираєтесь у ліміти пам'яті та енергоспоживання. Phi від Microsoft вирішує цю проблему: при 3.8B параметрів вона показує якість, порівнянну з моделями в 3–5× більшими, на задачах reasoning та програмування. Однак пряме використання базової моделі часто призводить до незадовільних відповідей на специфічні доменні питання. Метрика hallucination rate на стандартних інструкціях може сягати 30% — це неприйнятно для промислового застосування. Fine-tuning під ваш датасет знижує галюцинації в 3–5 разів і піднімає точність з 55% до 90%. У більшості проєктів ми стикаємося з тим, що замовники намагаються використовувати базову модель без донавчання і отримують до 40% нерелевантних відповідей. Fine-tuning під специфіку бізнесу вирішує цю проблему кардинально.

Порівняння моделей Phi для донавчання

Модель Параметри VRAM (fp16) Ключова особливість Рекомендований сценарій
Phi-3-mini-4k 3.8B 7.6 GB Edge/mobile Offline-асистенти, мобільні додатки
Phi-3-mini-128k 3.8B 7.6 GB Довгий контекст Робота з великими документами
Phi-3-small 7B 14 GB Баланс Серверні рішення з середніми навантаженнями
Phi-3-medium 14B 28 GB Висока якість Промислові чат-боти
Phi-4 14B 28 GB Актуальний флагман Складні завдання, висока точність
Phi-4-mini 3.8B 7.6 GB Компактний флагман Edge-пристрої з вимогами до якості

Phi-4 при 14B параметрах перевершує Llama 3.1 70B на ряді бенчмарків з математики та програмування. Це результат використання синтетичних даних і підручників при навчанні Microsoft Research.

Як ми донавчаємо Phi: стек і конфігурація

Ми використовуємо зв'язку transformers + trl + peft. Нижче приклад QLoRA fine-tuning Phi-4 з 4-бітною квантизацією:

from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
from trl import SFTTrainer, SFTConfig
from peft import LoraConfig
import torch

model = AutoModelForCausalLM.from_pretrained(
    "microsoft/phi-4",
    quantization_config=BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_compute_dtype=torch.bfloat16),
    device_map="auto",
    trust_remote_code=True,
    torch_dtype=torch.bfloat16,
)

trainer = SFTTrainer(
    model=model,
    args=SFTConfig(
        output_dir="./phi4-finetuned",
        num_train_epochs=4,
        per_device_train_batch_size=4,
        gradient_accumulation_steps=4,
        learning_rate=1e-4,
        bf16=True,
        max_seq_length=8192,
    ),
    peft_config=LoraConfig(
        r=16,
        lora_alpha=32,
        target_modules=["q_proj", "v_proj", "k_proj", "o_proj"],
        task_type="CAUSAL_LM"
    ),
    train_dataset=dataset,
)

trainer.train()

Важливо: для Phi-4 використовуйте trust_remote_code=True і тип bfloat16. Це забезпечує стабільне навчання без loss spiking. При 4-бітній квантизації (QLoRA) достатньо 24 GB VRAM для Phi-4.

Чому варто донавчати Phi на edge-пристроях?

Phi-3/4-mini (3.8B) — найбільш популярний вибір для деплою в мобільні додатки та браузерні розширення. Після fine-tuning та квантизації модель поміщається на пристрій і працює автономно. Це дозволяє скоротити витрати на хмарні обчислення на 60% порівняно з GPT-4 при збереженні якості. Нижче порівняння форматів квантизації:

Формат Розмір (3.8B) Швидкість (CPU) Інструменти
GGUF Q4_K_M ~2.2 GB 9-12 tok/s (M-series) llama.cpp, Ollama
ONNX INT4 ~2.0 GB 8-11 tok/s ONNX Runtime, Windows ML
ExecuTorch ~2.5 GB 7-9 tok/s PyTorch Mobile, iOS/Android

Ми гарантуємо latency p99 не вище 150 мс на пристрої, що критично для реального часу.

Практичний кейс: offline-асистент для польових інженерів

Задача: мобільний додаток для інженерів обслуговування промислового обладнання. Асистент працює offline (немає інтернету на об'єктах), відповідає на питання за регламентами та допомагає діагностувати несправності.

Базова модель: Phi-3-mini-128k-instruct (3.8B, контекст 128K потрібен для довгих технічних мануалів).

Датасет: 1400 пар (фрагмент документації / питання інженера → відповідь з номером регламенту та кроками).

Результати до/після:

  • Accuracy відповідей (відповідність регламентам): 58% → 86%
  • Hallucination rate (вигадує неіснуючі кроки): 31% → 8%
  • Модель після GGUF Q4_K_M: 2.1 GB, 9 tok/s на CPU смартфона (Snapdragon 8 Gen 3)

Клієнт отримав повноцінний інструмент для роботи в полях — економія часу на пошук документації склала до 70%, що еквівалентно скороченню витрат на навчання персоналу на 40%.

Як підготувати датасет для fine-tuning Phi?

Якість датасету — ключовий фактор успіху. Ми використовуємо наступні прийоми:

  • Збираємо реальні діалоги або генеруємо синтетичні пари за допомогою сильної моделі (GPT-4).
  • Застосовуємо фільтрацію: видаляємо дублікати, приклади з шумом та викиди.
  • Балансуємо класи: якщо одних тем більше, штучно доповнюємо рідкісні.
  • Перевіряємо, що відповіді повні та відповідають документації.
  • Розбиваємо довгі документи на сегменти до 8192 токенів.

Що входить у наш сервіс з fine-tuning Phi

Ми пропонуємо комплексний підхід «під ключ»:

  1. Аналіз предметної області та збір датасету (2–4 тижні).
  2. Навчання моделі (QLoRA, A100, до 10 годин).
  3. Квантизація та тестування на цільовому пристрої (3–5 днів).
  4. Інтеграція в додаток (API, SDK, ONNX Runtime).
  5. Документація з експлуатації та підтримка 1 місяць.

Терміни виконання від 3 до 6 тижнів залежно від складності датасету. Вартість розраховується індивідуально — зв'яжіться з нами, ми оцінимо ваш проєкт.

Типові помилки при fine-tuning Phi та як їх уникнути

  • Використовувати torch.float32 — призводить до переповнення пам'яті навіть на 80GB GPU. Рішення: bfloat16 або fp16.
  • Не налаштовувати max_seq_length — Phi-4 навчена на контекст до 128K, але якщо в датасеті короткі приклади, краще обмежити 8192 для прискорення.
  • Застосовувати LoRA до всіх лінійних шарів — достатньо target_modules з прикладу вище, інакше зростає розмір адаптера без приросту якості.
  • Забувати про trust_remote_code — без цього не завантажиться конфігурація Phi-4.

Чому варто обрати нас

Ми маємо 5+ років досвіду в fine-tuning мовних моделей (зокрема GPT, LLaMA, Mistral) та більш ніж 30 успішних проєктів. Використовуємо лише перевірені пайплайни MLOps (Weights & Biases, MLflow) для відстеження експериментів. Гарантуємо відтворюваність результатів та надаємо model card з метриками. Замовте консультацію — ми допоможемо підібрати оптимальну модель і конфігурацію під ваше завдання. Пишіть нам або телефонуйте, обговоримо деталі.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1141