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

При спробі розгорнути повну 70B модель на мобільному пристрої ви впираєтесь у ліміти пам'яті та енергоспоживання. Phi від Microsoft вирішує цю проблему: при 3.8B параметрів вона показує якість, порівнянну з моделями в 3–5× більшими, на задачах reasoning та програмування. Однак пряме використання баз

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

При спробі розгорнути повну 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 з метриками. Замовте консультацію — ми допоможемо підібрати оптимальну модель і конфігурацію під ваше завдання. Пишіть нам або телефонуйте, обговоримо деталі.