Дообучение (Fine-Tuning) языковой модели Phi (Microsoft)

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Дообучение (Fine-Tuning) языковой модели Phi (Microsoft)
Средняя
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Дообучение (Fine-Tuning) языковой модели Phi (Microsoft)

Phi — семейство компактных языковых моделей Microsoft Research, оптимизированных по принципу «качество данных важнее количества параметров». Phi-3 и Phi-4 показывают результаты, сопоставимые с моделями в 3–5× крупнее, на задачах reasoning и программирования. Это делает их привлекательными для edge-деплоя, мобильных приложений и сценариев с ограниченными вычислительными ресурсами.

Модельный ряд Phi

Модель Параметры VRAM (fp16) Ключевая особенность
Phi-3-mini-4k 3.8B 7.6 GB Edge/mobile
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 Компактный флагман

Phi-4 при 14B параметрах превосходит Llama 3.1 70B на ряде бенчмарков по математике и программированию — результат высокого качества обучающих данных (синтетические данные, textbooks).

LoRA fine-tuning Phi-4 через transformers + trl

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()

Специфика: fine-tuning для edge и мобильных устройств

Phi-3/4-mini (3.8B) — наиболее популярный выбор для деплоя в мобильные приложения и браузерные расширения. После fine-tuning и квантизации:

  • GGUF Q4_K_M: ~2.2 GB, работает на CPU (MacBook M-series: ~12 tok/s)
  • ONNX INT4: используется в ONNX Runtime для Windows/Android
  • ExecuTorch: деплой на iPhone/Android через PyTorch Mobile

Microsoft предоставляет ONNX-версии Phi через microsoft/Phi-3-mini-4k-instruct-onnx, что упрощает интеграцию в .NET и Windows-приложения.

Практический кейс: 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)

Сроки

  • Подготовка датасета: 2–4 недели
  • Обучение (Phi-4 14B, QLoRA, A100): 4–10 часов
  • Квантизация и тестирование на устройстве: 3–5 дней
  • Итого: 3–6 недель