Дообучение (Fine-Tuning) языковой модели DeepSeek
DeepSeek — семейство открытых LLM от китайской компании DeepSeek AI, выпускаемых под лицензией MIT. Флагманские DeepSeek-V3 и DeepSeek-R1 конкурируют с GPT-4o и Claude 3.5 Sonnet по бенчмаркам. Инференс обходится значительно дешевле — до 40% экономии на GPU-часах. Открытые веса и высокая производительность делают DeepSeek идеальным кандидатом для fine-tuning под enterprise-задачи. В нашей практике мы дообучали эту модель для финансового аудита, юридического анализа и генерации кода — каждый раз получали прирост точности в 1,5–2 раза. Клиенты экономят от 1 до 5 млн рублей в год на вычислительных ресурсах, внедрив дообученную модель вместо коммерческой альтернативы.
По данным независимого тестирования, DeepSeek-R1 достигает 89% точности на задаче математического рассуждения, что сопоставимо с закрытыми аналогами.
Как дообучить DeepSeek для бизнес-задач?
Семейство DeepSeek: навигация по моделям
| Модель | Параметры | Архитектура | Применение |
|---|---|---|---|
| DeepSeek-V3 | 671B (MoE, ~37B активных) | MoE | Флагман, general purpose |
| DeepSeek-R1 | 671B (MoE) | MoE + Chain-of-Thought | Reasoning, математика |
| DeepSeek-R1-Distill-Llama-70B | 70B | Dense | Reasoning, доступнее |
| DeepSeek-R1-Distill-Llama-8B | 8B | Dense | Легкий reasoning |
| DeepSeek-R1-Distill-Qwen-32B | 32B | Dense | Баланс качества/ресурсов |
| DeepSeek-Coder-V2 | 236B (MoE) | MoE | Генерация кода |
Для практического fine-tuning чаще используем дистиллированные версии (8B, 32B, 70B) — они обучаются на обычном GPU-кластере и дают хорошие результаты для специализированных задач.
Архитектурная особенность: Multi-head Latent Attention (MLA)
DeepSeek-V3 использует MLA — механизм внимания с компрессией KV-кэша. По сравнению с GQA (Grouped Query Attention в Llama), MLA снижает объём KV-кэша в 5–13× при аналогичном качестве. Это критично при инференсе с длинным контекстом — DeepSeek поддерживает 128K токенов при разумных требованиях к памяти.
При fine-tuning MLA-слои обрабатываются стандартным образом через peft, но при выборе target_modules учитываем специфику: в DeepSeek-V3 attention проекции называются q_proj, kv_a_proj_with_mqa, kv_b_proj, o_proj.
Какие результаты даёт дообучение DeepSeek?
В сравнении с GPT-4o или Claude, DeepSeek предлагает открытые веса и лицензию MIT — вы не привязаны к провайдеру. Стоимость инференса на собственных GPU в 2–4 раза ниже, чем через API OpenAI. При дообучении вы полностью контролируете данные и модель, что критично для конфиденциальной информации. Наши клиенты экономят от 1 до 5 млн рублей в год на вычислительных ресурсах, внедрив дообученную модель вместо коммерческой альтернативы.
Этапы дообучения DeepSeek под бизнес-задачу
- Анализ бизнес-задачи и сбор репрезентативного датасета (3–8 недель).
- Разметка данных с think-блоками для сохранения reasoning.
- Выбор архитектуры fine-tuning: LoRA или QLoRA с квантизацией INT4.
- Обучение на GPU-кластере (12–24 часа для 32B модели).
- Оценка качества силами экспертов и итерация при необходимости (2 недели).
- Деплой на вашу инфраструктуру через vLLM или Triton Inference Server.
LoRA fine-tuning DeepSeek-R1-Distill-Qwen-32B
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig from peft import LoraConfig, get_peft_model, TaskType import torch model_name = "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B" bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16, bnb_4bit_use_double_quant=True, ) model = AutoModelForCausalLM.from_pretrained( model_name, quantization_config=bnb_config, device_map="auto", trust_remote_code=True, # обязательно для DeepSeek torch_dtype=torch.bfloat16, ) lora_config = LoraConfig( r=16, lora_alpha=32, target_modules=["q_proj", "v_proj", "k_proj", "o_proj", "gate_proj", "up_proj", "down_proj"], lora_dropout=0.05, bias="none", task_type=TaskType.CAUSAL_LM, ) model = get_peft_model(model, lora_config) model.print_trainable_parameters() # trainable params: 160,432,128 || all params: 32,783,822,848 || trainable%: 0.49 Работа с цепочкой размышлений (Chain-of-Thought) при fine-tuning R1
DeepSeek-R1 генерирует рассуждения в специальных тегах <think>...</think> перед финальным ответом. При fine-tuning на специализированных данных важно:
- сохранять think-блоки в обучающих примерах — это поддерживает reasoning-способность модели;
- не подавлять токен
<think>в промптах во время обучения; - при необходимости убрать reasoning из инференса — использовать
<think>\n\n</think>как prefix или настроить stopping criteria.
Пример обучающего примера для R1:
{ "messages": [ {"role": "user", "content": "Есть ли противоречие между п.3.2 и п.7.1 договора?"}, {"role": "assistant", "content": "<think>\nПункт 3.2 устанавливает срок оплаты — 30 дней с момента поставки. Пункт 7.1 говорит о праве поставщика приостановить поставки при просрочке оплаты более 15 дней. Противоречия нет — п.7.1 создаёт право поставщика, которое наступает раньше истечения общего срока оплаты.\n</think>\n\nПрямого противоречия между пунктами нет..."} ] } Из нашей практики: финансовый аудит на DeepSeek-R1
Задача: дообучить DeepSeek-R1-Distill-Qwen-32B для выявления нарушений в финансовой документации — несоответствий между статьями баланса, нарушений принципа двойной записи, аномальных операций. Датасет: 2100 примеров с think-блоками, подготовлен совместно с практикующими аудиторами. Обучение: QLoRA (r=32), 3 эпохи, 4×A100 40GB, 18 часов.
| Метрика | До дообучения | После дообучения |
|---|---|---|
| Precision | 0.61 | 0.89 |
| Recall | 0.54 | 0.84 |
| F1 | 0.57 | 0.87 |
| Оценка reasoning (1–5) | 2.8 | 4.3 |
Этот кейс — из практики нашей команды: мы внедрили решение в компанию, обрабатывающую 500+ финансовых документов в день, и сократили время ручной проверки на 70%.
Что входит в работу
Мы предоставляем полный цикл: анализ бизнес-задачи, сбор и разметку датасета, выбор архитектуры (LoRA/QLoRA), обучение, тестирование, деплой на вашу инфраструктуру. В результате вы получаете:
- обученную модель вместе с весами и конфигами
- датасет и скрипты обучения
- документацию по развёртыванию и мониторингу
- обучение вашей команды работе с моделью
- поддержку в течение 3 месяцев после запуска
Сроки проекта
- Подготовка датасета с think-блоками: 3–8 недель (значительно сложнее обычного SFT)
- Обучение (32B, 4×A100): 12–24 часа
- Оценка reasoning-качества: 2 недели (требует экспертной оценки)
- Деплой и мониторинг: 1–2 недели
- Итого: 7–14 недель
Свяжитесь с нами — мы оценим ваш сценарий и предложим оптимальную стратегию дообучения под ключ. Закажите консультацию: расскажите о задаче, и мы подберём модель, архитектуру и план работ. Более 5 лет опыта в fine-tuning LLM, 30+ завершённых проектов по дообучению моделей под бизнес.







