Дообучение (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
    1002

При попытке развернуть полную 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

Мы предлагаем комплексный подход «под ключ»:

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