STACK MORE LAYERS
2.11K subscribers
82 photos
15 videos
3 files
161 links
Еще один канал в твоем списке, который ты не будешь читать
Author: @alxmamaev
Download Telegram
Уже хочешь новый MacBook?
Кстати, на секундочку подумайте, что в новых IPad и IPhone будут стоять схожие чипы, а значит запускать какие-то более сложные сетки в виде GPT и прочего стафа на носимых девайсах не будет такой болью.
🔨 Запуск сеток в продакшен 📐

Часто, при прохождении собеседования в компании на позиции DL разработчика, меня спрашивали про вывод сеток в продакшен. Так получается, что делать fit/predict делать умеют примерно все, а вот запускать что-то на реальном железе, так чтобы оно не работало со скоростью 5 fps в секунду никто не умеет (мало кто).

Так сложилось, что в последнее время я достаточно сильно приближен к этой теме, поэтому решил замутить серию постов, где я не сколько буду объяснять вам как запустить что-то в прод, сколько буду скидывать различные материалы, которые могут вам помочь в этой не простой задаче, с некоторыми пояснениями. В принципе это мой стандартный формат постов.

И так приступим.
🏗 Верхнеуровневый обзор фремворков для инференса сеток.

Нашел интересную статью на Хабре, где автор делает обзор множества фреймворков для инференса сетей. Подчеркну, что это не фремворки для обучения, аля TF, Pytorch, Keras, а именно стек, который позволит вам запускать сетки быстро для работы в проде.
Автор хорошо структурировал их по типу применения: от серверов, то мобилок и встраиваемых девайсов. Советую к прочтению как новичкам, так и бывалым. Так например, автор раскрывает следущие темы:
* OpenCV еще живее всех живых
* GPU не всегда лучше CPU

https://m.habr.com/ru/company/recognitor/blog/524980/
Ставь лайк, если хочешь узнать больше про запуск сеток на реальном железе.

А еще будет круто, если ты поделишься этим каналом с коллегой или сокурсником.
Поскольку тема продакшена достаточна обширна, у меня есть достаточно много материала по этой теме.
Соответсвенно, хочется узнать как сильно вы хотите растянуть это удовольствие.
Получать один пост в день для вечернего чтения, соответсвенно растянув эту рубрику, или же по два-три, но узнав все быстрее.

Вопрос очень компексный, т.к. я сам люблю класть что-то в папочку “почитать позже” и никогда ее не открывать.
Сколько постов в день сделаем?
Anonymous Poll
67%
1
18%
2
14%
3
💻 Железо для ускорения сетей 🖥

Вы наверняка слышали, что для ускорения сеток можно использовать не только GPU?
Так, например Google предоставляет на своем Cloud сервисе доступ к TPU (Tensor Processor Unit). Apple и Samsung встраивают чипы для расчета сеток на мобильных телефонах. Intel выпускает фремворки для оптимизации сеток под свои процессоры. А, что если мы засунем сетку прямо в память процессора в виде последовательности транзисторов? Мы получим FPGA и ASICS! Что на счет сеток на базе аналоговых сигналов вместо бинарных - IBM тут как тут.


Короче, эта статься позволит поставить кучу разных букв названий процессорвов на свои места. Автор доступным языком пояснил, что уже можно использовать сейчас, а что, вероятно, будет нашим must have в 2050 (никогда не стоит забывать, что всего 40 лет назад мы играли в Commodore с всего 64КБ на борту)

https://m.habr.com/ru/post/455353/
Лайк, если слышал об ASICS и FPGA, только в контексте майнинга битка.
🥷Запускаем сетки на Triton🧜‍♂️

Мы уже немного поговорили про то, какое железо бывает для запуска сеток. Но как правильно запускать сетки на backend, так чтобы у нас была максимальная производительность и пользователи не замечали простоев?

Писать свой сервер на Flask - заведомо плохая идея. Конечно есть специфические фреймворки для каждого из фреймворков: tfservering, PyTorch Serv, Redis AI (кстати, его крайне не рекомендую, очень мало можно настроить и документация так себе), and e.t.c.

Но есть серебренная пуля для всего? Так чтобы быстро, удобно и сразу все фреймворки? Да!

Nvidia Triton 🧜‍♂️

https://github.com/triton-inference-server/server


Тритон умеет работать со большинством популярных фреймворков, автоматически собирает запросы в батчи. Для него легко можно написать свой модуль с кастомной логикой на C++/Python/TorchScript, где вы можете делать например препроцессинг данных и соединить это с моделью в единый пайплайн не выходя из конфигов тритона!

У него есть поддержка GRPC и HTTP, что позволяет легко сгенерировала клиент под любую платформу, при этом есть уже готовые официальные для python, c++ и go.

А если вы хотите аркестрировать ваши модели на нескольких машинах, triton поддерживает KFservering (да, да, тот самый kubernetes)

Если вы все ещё делаете деплой через костылики - присмотритесь.
🎹Генерация музыки🎵

Написал тут статейку про то, как генерировать музыку с помощью трансформеров. (Спойлер) В целом, почти ничем не отличается от работы с текстом.

Сделал это после участия в соревновании по генерации музыки от Yandex и AI Community.

https://alxmamaev.medium.com/generating-music-with-ai-or-transformers-go-brrrr-3a3ac5a04126
Будет приятно, если вы прочитаете и поставите clap в блоге.
🤔 Классический CV 🔨

Неожиданно для себя обнаружил, что далеко не все задачи в CV стоит решать словами. А, так тут Unet приделать надо, просто набрать пару тысяч картинок.

Нужно было для соревнования выделить хоккейное поле на картинке, начал я как полагается со сбора датасета, обучения сетки и в итоге уперся в количество картинок которое могу разметить. В итоге от скуки начал тыкать в open cv и играться с цветами, представляя, что я известный дизайнер. И как вдруг, у меня получилось выделить поле практически так, как я хотел, парой строчек кода без всяких сеток.


Если у вас есть интересные материалы про классическое CV, которые не протухли в 2021, закиньте мне @alxmamaev
Используешь классические подходы?
Еще немного вам поспамлю

Ну вы прикиньте, никаких сеток, просто баланс белого, вырезание цвета в нужном пространстве по трешхолдам, удаление шума, объединение нескольих масок - и вуа ля, никаких сеток и датасетов.

Все таки в каких-то узких задачах можно обойтись без ML и сбора данных, я в шоках. (простите)
Привет всем!

У меня образовалась задачка, что для моего проектика надо по размечать данные текстовые. Работка чутка монотонная, но не хитрая.

Может у кого найдутся племянники, знакомые школьники/студенты, кто готов немного посидеть вечерком и получить денежку на карманные расходы?

Если есть пишите мне @alxmamaev
🖼 Giphy Engineering 👾

Неожиданно обнаружил для себя что у известного сервиса giphy по поиску гифок, есть очень интересный блог про машинное обучение и инженерию на картинках.

Статьи действительно интересные и в них много гифок :)

https://engineering.giphy.com
🐰 Зай, тут для тебя новый видос 🎬

Привет, я тут снял видеоролик с генерацией новостей артемия лебедева.
Теперь можно создавать свои альтернативные самые честные новости.

Как говорится, лайк и шер.

https://www.youtube.com/watch?v=hckrREWgjQ4
Тем временем незаметно подкрался поворотный момент
Будешь считать свои сеточки на картах AMD?