При спробі розгорнути повну 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
Ми пропонуємо комплексний підхід «під ключ»:
- Аналіз предметної області та збір датасету (2–4 тижні).
- Навчання моделі (QLoRA, A100, до 10 годин).
- Квантизація та тестування на цільовому пристрої (3–5 днів).
- Інтеграція в додаток (API, SDK, ONNX Runtime).
- Документація з експлуатації та підтримка 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 з метриками. Замовте консультацію — ми допоможемо підібрати оптимальну модель і конфігурацію під ваше завдання. Пишіть нам або телефонуйте, обговоримо деталі.







