Почему каждый DL-инженер должен написать свою либу для обучения сеток, а потом отказаться от неё.
Расскажу про опыт написания kekas-а, и почему в своей команде мы пользуемся pytorch-lightning как более зрелым решением.
4. Для чего вообще нужен какой-то фреймворк?
Унификация пайплайнов
Ускорение экспериментов
Уменьшение количества кода
Это отличный повод прочитать доклад
5. Для чего вообще нужен какой-то фреймворк?
Унификация пайплайнов
Ускорение экспериментов
Уменьшение количества кода
Это отличный повод прочитать доклад
6. Для чего вообще нужен какой-то фреймворк?
Унификация пайплайнов
Ускорение экспериментов
Уменьшение количества кода
Это отличный повод прочитать доклад
7. Для чего вообще нужен какой-то фреймворк?
Унификация пайплайнов
Ускорение экспериментов
Уменьшение количества кода
Это отличный повод прочитать доклад
8. Почему не нужен какой-то фреймворк?
- Копируются баги
- Коллегам сложно работать по вашему фреймворку
- Ограничивает в возможностях
- В реальной работе пайплайн меняется относительно редко
11. Какие фичи есть в кекасе (и каких там нет)?
● Awesome name
● Mixed Precision (FP16)
● Learning Rate Finder
● One Cycle policy
● Tensoboard logging
● Best checkpoints saving
● Early stopping
● TTA
● Freeze / unfreeze
● Easy customization
12. Какие фичи есть в кекасе (и каких там нет)?
● Awesome name
● Mixed Precision (FP16)
● Learning Rate Finder
● One Cycle policy
● Tensoboard logging
● Best checkpoints saving
● Early stopping
● TTA
● Freeze / unfreeze
● Easy customization
● “Normal” name
● Tests
● Documentation
● Distributed training
28. И ещё несколько...
- Test Time Augmentations
- One Cycle learning (~warmup)
- Plot logs in notebook
- Add custom callbacks
29. Что я получил после того, как написал кекас
- очень много веселья
- прокачался как DL-инженер
- получил в руки заточенный под себя инструмент
30. Почему мы в команде (больше) не используем кекас
- нет доков -> только я знаю внутренности
- нет Distributed training
- недостаточно гибкости для генеративных моделей
- не всех устраивает название
32. Фичи pytorch-lightning
● Running grid search on a cluster
● Fast dev run
● Logging
● Implement Your Own Distributed (DDP) training
● Multi-GPU & Multi-node
● Training loop
● Hooks
● Configure optimizers
● Validations
● Model saving & Restoring training session
35. Заключение
Написание своего велосипеда это отличное упражнение и обязательно вас
прокачает
Но в команде лучше пользоваться чем-то общим - написать свой совместный
или же воспользоваться готовым