2026/2027




Дистилляция и ускорение моделей
ID 1135014
Статус:
Маго-лего
Где читается:
Факультет компьютерных наук
Когда читается:
2 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
3
Контактные часы:
28
Программа дисциплины
Аннотация
Курс посвящён инженерной стороне машинного обучения: тому, как сделать уже работающую модель достаточно быстрой, компактной и дешёвой, чтобы её можно было эксплуатировать в реальных условиях. Он выстроен вокруг одного сквозного вопроса — как снизить вычислительную сложность модели, не потеряв приемлемого качества, — и последовательно разбирает основные классы методов: дистилляцию знаний, квантование, прореживание (pruning), эффективные архитектуры, low-rank и parameter sharing подходы, а также оптимизацию инференса под конкретную аппаратную платформу.
Слушатели разбираются, откуда именно берутся вычислительные затраты в современных моделях (параметры, операции, память, latency, пропускная способность), как профилировать модель и находить в ней узкие места, как устроены teacher–student схемы дистилляции, чем отличаются post-training quantization и quantization-aware training, когда структурный pruning даёт реальное ускорение, а когда сокращает только FLOPs. Отдельные темы посвящены комбинированию методов в единый пайплайн оптимизации, порядку их применения и типовым анти-паттернам.
Курс имеет выраженную практическую направленность: все методы студенты применяют самостоятельно на Python с использованием PyTorch и инструментов профилирования и оптимизации инференса. Каждое домашнее задание — это эксперимент на реальной модели с измерением качества, скорости и потребления памяти до и после оптимизации; итоговый проект требует спроектировать и обосновать комплексную стратегию ускорения под заданные ограничения.
Курс стоит выбрать тем, кто хочет научиться принимать инженерные решения в терминах trade-off’ов — осознанно менять доли процента качества на кратное ускорение — и доводить модель до состояния, в котором её можно запускать на ограниченном железе и обслуживать в реальном времени.
Цель освоения дисциплины
- Знать основные источники вычислительных затрат современных ML- и DL-моделей: число параметров, количество операций, потребление памяти, latency, bandwidth.
- Знать классификацию и принципы работы ключевых методов ускорения и компрессии моделей: дистилляцию знаний, квантование, прореживание (pruning), low-rank и parameter sharing подходы.
- Знать типовые trade-off’ы между качеством, скоростью, размером модели и стоимостью инференса и уметь формулировать их количественно.
- Знать особенности применения методов ускорения для разных классов задач: CV, NLP и LLM, speech, рекомендательные системы.
- Знать ограничения и риски методов ускорения: деградацию качества, нестабильность обучения, сложность внедрения и поддержки.
- Уметь анализировать модель и задачу с точки зрения вычислительной эффективности и определять, где именно возникают узкие места.
- Уметь выбирать подходящие методы дистилляции и ускорения под заданные ограничения по железу, latency и допустимой потере качества.
- Уметь реализовывать базовые сценарии: knowledge distillation teacher → student, пост-тренировочное и тренировочное квантование, простые схемы pruning.
- Уметь оценивать эффективность применённых методов по метрикам качества, по скорости инференса и по потреблению памяти.
- Уметь аргументированно сравнивать несколько вариантов оптимизации модели и делать инженерный выбор.
- Владеть базовыми практиками оптимизации моделей для использования в продакшене.
- Владеть навыком формулирования требований к модели не только в терминах качества, но и в терминах эффективности.
- Владеть способностью читать и критически интерпретировать статьи и индустриальные кейсы по ускорению моделей, оценивая их применимость на практике.
Планируемые результаты обучения
- Объяснять роль ускорения моделей в современном ML и формулировать вычислительные ограничения прикладной задачи (latency, память, доступное железо, стоимость инференса).
- Профилировать модель, интерпретировать результаты профилирования и находить bottleneck’и, определяющие время работы и объём потребляемой памяти.
- Объяснять принципы knowledge distillation и условия её применимости, обоснованно выбирать teacher и student под конкретную задачу.
- Реализовать базовую схему дистилляции, настраивать функцию потерь и оценивать эффект по качеству, скорости и размеру модели.
- Объяснять методы квантования и их ограничения, различать post-training quantization и quantization-aware training и выбирать подходящий сценарий.
- Объяснять подходы unstructured и structured pruning, критерии удаления параметров и оценивать их применимость к конкретной архитектуре.
- Применять квантование и pruning на практике и количественно оценивать достигнутые компромиссы между качеством и эффективностью.
- Объяснять архитектурные способы ускорения (efficient-архитектуры, low-rank и parameter sharing) и их специфику для CV, NLP и LLM.
- Объяснять влияние аппаратной платформы на эффективность модели и различать сценарии batch- и real-time-инференса.
- Оптимизировать инференс под заданные условия: измерять latency и throughput, подбирать batch size, анализировать влияние применённых оптимизаций.
- Комбинировать несколько методов ускорения в согласованный пайплайн, обосновывая порядок их применения.
- Анализировать реальные индустриальные кейсы ускорения моделей и предлагать стратегию решения под заданные ограничения и метрики.
- Распознавать типовые ошибки и анти-паттерны ускорения (дистилляция от слабого teacher’а, квантование без анализа влияния на задачу, pruning без выигрыша в latency) и предлагать способы их диагностики.
- Проектировать комплексную стратегию ускорения модели под ограничения вида «latency ≤ X мс, память ≤ Y ГБ, потеря качества ≤ Z%» и защищать принятые инженерные решения.
- Оформлять результаты экспериментов воспроизводимым образом: фиксировать конфигурацию запуска, условия измерения скорости и версии используемых библиотек.
Содержание учебной дисциплины
- Зачем ускорять модели: контекст и ограничения. Организационная информация
- Knowledge Distillation: идеи и постановка
- Квантование моделей
- Pruning и структурные методы ускорения
- Архитектурные подходы к ускорению моделей
- Аппаратное ускорение и особенности инференса
- Комбинирование методов ускорения
- Разбор типовых ошибок и анти-паттернов ускорения
- Финальное занятие: резюме курса
Промежуточная аттестация
- 2026/2027 2nd moduleИтог = ОКРУГЛ(МИН(10; 0.25 · ДЗ₁ + 0.25 · ДЗ₂ + 0.5 · ИП)), где ДЗ₁ и ДЗ₂ — оценки за первое и второе домашние задания по 10-балльной шкале (после применения штрафов за просрочку), ИП — оценка за итоговый проект, МИН — функция взятия минимума из двух чисел. Бонусные баллы, набранные в домашних заданиях и в итоговом проекте, прибавляются к оценке за соответствующий элемент контроля и поэтому могут компенсировать потери в его основной части, а через взвешенную сумму — и потери в других элементах; итоговая оценка при этом ограничена сверху значением 10 баллов. Все компоненты берутся неокруглёнными. Отдельный экзамен по курсу не предусмотрен: итоговая оценка является накопительной, а роль итогового элемента контроля выполняет защита итогового проекта в сессию после 3 модуля. Автоматы по курсу не выставляются: итоговый проект защищают все студенты.
Список литературы
Рекомендуемая основная литература
- Deep learning, Goodfellow, I., 2016
- Neural Networks and Deep Learning - CCBY4_068 - Michael Nielson - 2022 - Open Educational Resources: libretexts.org - https://ibooks.ru/products/390854 - 390854 - iBOOKS
Рекомендуемая дополнительная литература
- Huang, K., Hussain, A., Wang, Q.-F., & Zhang, R. (2019). Deep Learning: Fundamentals, Theory and Applications. Cham, Switzerland: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2029631
- Integrating deep learning algorithms to overcome challenges in big data analytics, , 2022