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







