Блок 1. База – 8 лекций
Научитесь ускорять инференс за счёт изменения архитектуры сети. Проведёте нейросеть через прунинг, квантизацию и дистилляцию. А ещё познакомитесь с ускорением сетей на популярных x86 CPU и GPU
1. Distillation
Метод для улучшения точности нейронной сети. При комбинации с другими методами — для ее ускорения
Темы лекции:
Научитесь дистиллировать сеть для сегментации людей
2. Pruning
Метод для сокращения вычислительных операций за счет выброса лишних нейронов
Темы лекции:
Научитесь прунить нейронную сеть с фреймворком для структурированного прунинга torch-pruning
3. Low-Precision computing
Квантование нужно для представления нейронной сети через тип данных, меньший исходного. С его помощью она сможет использоваться на устройстве с малыми вычислительными ресурсами
Темы лекции:
Научитесь пользоваться фреймворком квантования torch.quantization/qnnpack
Метод для оптимального подбора архитектуры сети под конкретные задачи
Темы лекции:
Эффективные архитектуры нейронных сетей для решения самых разных задач
Темы лекции:
Инференс на процессоре для ускорения нейронной сети
Темы лекции:
Научитесь пользоваться фреймворком для квантования OpenVINO
7. Инференс на графическом ускорителе. Part 1
Инференс на графическом ускорителе нейронной сети
Темы лекции:
Научитесь применять квантование на TRT
8. Инференс на графическом ускорителе. Part 2
Инференс на графическом ускорителе нейронной сети
Темы лекции:
Научитесь применять квантование на TRT
Познакомитесь с методами ускорения, специфичными для больших языковых моделей
1. Основы ускорения LLM
Основные рабочие лошадки для ускорения LLM'ок
Темы лекции:
Изучите и сравните современные библиотеки для локального инфренса LLM
2. Специфичные методы ускорения LLM
Дополнительные механизмы ускорения с обзором небольших и крупных языковых моделей
Темы лекции:
Ускорите LLM с помощью этих методов
Блок 3. Device – 3 лекции
Научитесь запускать нейронные сети на Android, iOS и микрокомпьютерах
1. CPU. Part 2: ARM + Android
Создание простого приложения на мобильном устройстве с использованием нейросетей и её запуск на конкретном девайсе
Темы лекции:
Сравните ускорения разных нейронных сетей на мобильном телефоне
2. CPU. Part 3: ARM + iOS
То же самое, но на iPhone с его фреймворками для запуска
Темы лекции:
Создадите свое приложение с ускоренной нейронной сетью
Микроконтроллеры
3. Одноплатники и их особенности для нейросетей
Темы лекции:
Запустите нейронную сеть на RKNN-фреймворке для rock chip
Научитесь ускорять инференс за счёт изменения архитектуры сети. Проведёте нейросеть через прунинг, квантизацию и дистилляцию. А ещё познакомитесь с ускорением сетей на популярных x86 CPU и GPU
1. Distillation
Метод для улучшения точности нейронной сети. При комбинации с другими методами — для ее ускорения
Темы лекции:
- Дистилляция и DarkKnowledge
- Функции потерь для дистилляции: MSE / KLD / MAE
- Дистилляция для ускорения моделей
- Дистилляция в классических CV-задачах: classification, detection, identification
Научитесь дистиллировать сеть для сегментации людей
2. Pruning
Метод для сокращения вычислительных операций за счет выброса лишних нейронов
Темы лекции:
- Критерии прунинга: L1 / L2 / taylor
- Структурированный и неструктурированный прунинг
- Фундаментальные свойства нейронной сети и lottery ticket hypothesis
Научитесь прунить нейронную сеть с фреймворком для структурированного прунинга torch-pruning
3. Low-Precision computing
Квантование нужно для представления нейронной сети через тип данных, меньший исходного. С его помощью она сможет использоваться на устройстве с малыми вычислительными ресурсами
Темы лекции:
- 8-ми битное квантование
- Quantization aware training как способ улучшения качества нейронной сети
- Нестандартные типы данных: fp16 / fp8 / bfloat16
Научитесь пользоваться фреймворком квантования torch.quantization/qnnpack
- Post-Train quantization как способ заквантовать сетку без головной боли
- Cовременные методы квантования: HAWQ и HAWQ-v2
Метод для оптимального подбора архитектуры сети под конкретные задачи
Темы лекции:
- Дифференцируемый и недифференцируемый NAS
- DARTs как основа всех методов для дифф прунинга
- Суперсети и подархитектуры, их связь с прунингом
- Способы обучения суперсетей
- Zero-shot NAS
Эффективные архитектуры нейронных сетей для решения самых разных задач
Темы лекции:
- Общие эффективные ахитектуры: MobileOne, FastVit
- Эффективные архитектуры для детекции, или жизнь без Yolo
- Сегментация PIDNet и DDR-Net
- Эффективный speech2text
Инференс на процессоре для ускорения нейронной сети
Темы лекции:
- Базовое устройство процессора
- x86 vs ARM: особенности инференса
Научитесь пользоваться фреймворком для квантования OpenVINO
7. Инференс на графическом ускорителе. Part 1
Инференс на графическом ускорителе нейронной сети
Темы лекции:
- Особенности работы GPU
- Принцип работы TensorRT
- Понятие CudaGraph
Научитесь применять квантование на TRT
8. Инференс на графическом ускорителе. Part 2
Инференс на графическом ускорителе нейронной сети
Темы лекции:
- Cuda Event: как работают профилировщики на его основе
- Cuda Event: как померить latency отдельных операций на конкретном примере
Научитесь применять квантование на TRT
- Профайлинг в торче
- TensorRT: как посмотреть оптимизированный граф
- TensorRT [advanced]: как запретить оптимизировать отдельные операции
Познакомитесь с методами ускорения, специфичными для больших языковых моделей
1. Основы ускорения LLM
Основные рабочие лошадки для ускорения LLM'ок
Темы лекции:
- MemoryBound вычисления, или как сделать attention быстрее
- Особенности квантования LLM
- Современные методы и механизмы квантования: QuIP, QuIP#, AQLM
- Sparse-перемножение матриц и принцип работы SparseGPT
Изучите и сравните современные библиотеки для локального инфренса LLM
2. Специфичные методы ускорения LLM
Дополнительные механизмы ускорения с обзором небольших и крупных языковых моделей
Темы лекции:
- Conditional Inference
- Speculative decoding
- Small Large Language Models
Ускорите LLM с помощью этих методов
- Современные opensource-фреймворки для ускорения: vLLM, TensorRT-LLM, GGML
Блок 3. Device – 3 лекции
Научитесь запускать нейронные сети на Android, iOS и микрокомпьютерах
1. CPU. Part 2: ARM + Android
Создание простого приложения на мобильном устройстве с использованием нейросетей и её запуск на конкретном девайсе
Темы лекции:
- Особенности ОС Android
- Что такое делегаты и какими они бывают
- NN-API как основной делегат для запуска
- Квантование TFLite
Сравните ускорения разных нейронных сетей на мобильном телефоне
2. CPU. Part 3: ARM + iOS
То же самое, но на iPhone с его фреймворками для запуска
Темы лекции:
- Устройство iOS
- Фреймворк CoreML
- Низкоуровневые фреймворки: Metal, BNNS, Accelerate
Создадите свое приложение с ускоренной нейронной сетью
Микроконтроллеры
3. Одноплатники и их особенности для нейросетей
Темы лекции:
- Устройство и ключевые особенности
- Производители микрокомпьютеров
- Проблемные слои
Запустите нейронную сеть на RKNN-фреймворке для rock chip
- Использование фреймворка MNN
- Квантование в iOS
- Общий workflow
Для просмотра скрытого содержимого необходимо Войти или Зарегистрироваться.