Ставь лайк, если хочешь узнать больше про запуск сеток на реальном железе.
А еще будет круто, если ты поделишься этим каналом с коллегой или сокурсником.
А еще будет круто, если ты поделишься этим каналом с коллегой или сокурсником.
Поскольку тема продакшена достаточна обширна, у меня есть достаточно много материала по этой теме.
Соответсвенно, хочется узнать как сильно вы хотите растянуть это удовольствие.
Получать один пост в день для вечернего чтения, соответсвенно растянув эту рубрику, или же по два-три, но узнав все быстрее.
Вопрос очень компексный, т.к. я сам люблю класть что-то в папочку “почитать позже” и никогда ее не открывать.
Соответсвенно, хочется узнать как сильно вы хотите растянуть это удовольствие.
Получать один пост в день для вечернего чтения, соответсвенно растянув эту рубрику, или же по два-три, но узнав все быстрее.
Вопрос очень компексный, т.к. я сам люблю класть что-то в папочку “почитать позже” и никогда ее не открывать.
💻 Железо для ускорения сетей 🖥
Вы наверняка слышали, что для ускорения сеток можно использовать не только 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/
Вы наверняка слышали, что для ускорения сеток можно использовать не только 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/
Хабр
Аппаратное ускорение глубоких нейросетей: GPU, FPGA, ASIC, TPU, VPU, IPU, DPU, NPU, RPU, NNP и другие буквы
14 мая, когда Трамп готовился спустить всех собак на Huawei, я мирно сидел в Шеньжене на Huawei STW 2019 — большой конференции на 1000 участников — в программе которой были доклады Филипа Вонга ,...
Лайк, если слышал об 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)
Если вы все ещё делаете деплой через костылики - присмотритесь.
Мы уже немного поговорили про то, какое железо бывает для запуска сеток. Но как правильно запускать сетки на 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)
Если вы все ещё делаете деплой через костылики - присмотритесь.
GitHub
GitHub - triton-inference-server/server: The Triton Inference Server provides an optimized cloud and edge inferencing solution.
The Triton Inference Server provides an optimized cloud and edge inferencing solution. - GitHub - triton-inference-server/server: The Triton Inference Server provides an optimized cloud and edge i...
🎹Генерация музыки🎵
Написал тут статейку про то, как генерировать музыку с помощью трансформеров. (Спойлер) В целом, почти ничем не отличается от работы с текстом.
Сделал это после участия в соревновании по генерации музыки от Yandex и AI Community.
https://alxmamaev.medium.com/generating-music-with-ai-or-transformers-go-brrrr-3a3ac5a04126
Написал тут статейку про то, как генерировать музыку с помощью трансформеров. (Спойлер) В целом, почти ничем не отличается от работы с текстом.
Сделал это после участия в соревновании по генерации музыки от Yandex и AI Community.
https://alxmamaev.medium.com/generating-music-with-ai-or-transformers-go-brrrr-3a3ac5a04126
Medium
Generating music with AI (or transformers go brrrr)
Let’s write own AI-musician
Будет приятно, если вы прочитаете и поставите clap в блоге.
🤔 Классический CV 🔨
Неожиданно для себя обнаружил, что далеко не все задачи в CV стоит решать словами. А, так тут Unet приделать надо, просто набрать пару тысяч картинок.
Нужно было для соревнования выделить хоккейное поле на картинке, начал я как полагается со сбора датасета, обучения сетки и в итоге уперся в количество картинок которое могу разметить. В итоге от скуки начал тыкать в open cv и играться с цветами, представляя, что я известный дизайнер. И как вдруг, у меня получилось выделить поле практически так, как я хотел, парой строчек кода без всяких сеток.
Если у вас есть интересные материалы про классическое CV, которые не протухли в 2021, закиньте мне @alxmamaev
Неожиданно для себя обнаружил, что далеко не все задачи в CV стоит решать словами. А, так тут Unet приделать надо, просто набрать пару тысяч картинок.
Нужно было для соревнования выделить хоккейное поле на картинке, начал я как полагается со сбора датасета, обучения сетки и в итоге уперся в количество картинок которое могу разметить. В итоге от скуки начал тыкать в open cv и играться с цветами, представляя, что я известный дизайнер. И как вдруг, у меня получилось выделить поле практически так, как я хотел, парой строчек кода без всяких сеток.
Если у вас есть интересные материалы про классическое CV, которые не протухли в 2021, закиньте мне @alxmamaev
Еще немного вам поспамлю
Ну вы прикиньте, никаких сеток, просто баланс белого, вырезание цвета в нужном пространстве по трешхолдам, удаление шума, объединение нескольих масок - и вуа ля, никаких сеток и датасетов.
Все таки в каких-то узких задачах можно обойтись без ML и сбора данных, я в шоках. (простите)
Ну вы прикиньте, никаких сеток, просто баланс белого, вырезание цвета в нужном пространстве по трешхолдам, удаление шума, объединение нескольих масок - и вуа ля, никаких сеток и датасетов.
Все таки в каких-то узких задачах можно обойтись без ML и сбора данных, я в шоках. (простите)
А теперь минутка полезности, если вдруг вам понадобится что-то подобное, вот ссылочка.
https://realpython.com/python-opencv-color-spaces/
https://realpython.com/python-opencv-color-spaces/
Realpython
Image Segmentation Using Color Spaces in OpenCV + Python – Real Python
In this introductory tutorial, you'll learn how to simply segment an object from an image based on color in Python using OpenCV. A popular computer vision library written in C/C++ with bindings for Python, OpenCV provides easy ways of manipulating color spaces.
Привет всем!
У меня образовалась задачка, что для моего проектика надо по размечать данные текстовые. Работка чутка монотонная, но не хитрая.
Может у кого найдутся племянники, знакомые школьники/студенты, кто готов немного посидеть вечерком и получить денежку на карманные расходы?
Если есть пишите мне @alxmamaev
У меня образовалась задачка, что для моего проектика надо по размечать данные текстовые. Работка чутка монотонная, но не хитрая.
Может у кого найдутся племянники, знакомые школьники/студенты, кто готов немного посидеть вечерком и получить денежку на карманные расходы?
Если есть пишите мне @alxmamaev
🖼 Giphy Engineering 👾
Неожиданно обнаружил для себя что у известного сервиса giphy по поиску гифок, есть очень интересный блог про машинное обучение и инженерию на картинках.
Статьи действительно интересные и в них много гифок :)
https://engineering.giphy.com
Неожиданно обнаружил для себя что у известного сервиса giphy по поиску гифок, есть очень интересный блог про машинное обучение и инженерию на картинках.
Статьи действительно интересные и в них много гифок :)
https://engineering.giphy.com
🐰 Зай, тут для тебя новый видос 🎬
Привет, я тут снял видеоролик с генерацией новостей артемия лебедева.
Теперь можно создавать свои альтернативные самые честные новости.
Как говорится, лайк и шер.
https://www.youtube.com/watch?v=hckrREWgjQ4
Привет, я тут снял видеоролик с генерацией новостей артемия лебедева.
Теперь можно создавать свои альтернативные самые честные новости.
Как говорится, лайк и шер.
https://www.youtube.com/watch?v=hckrREWgjQ4
YouTube
ЛЕБЕДЕВ - НЕЙРОСЕТЬ? | Большой заговор масонов и Била Гейтса
Видео сгенерировано с помощью нейронных сетей, распространите его, чтобы оно попало в новости к Артемию!
Контакты автора:
Instagram: https://www.instagram.com/alxmamaev/
Telegram: https://t.me/stackmorelayers
В создании видео помогали:
Монтаж и motion…
Контакты автора:
Instagram: https://www.instagram.com/alxmamaev/
Telegram: https://t.me/stackmorelayers
В создании видео помогали:
Монтаж и motion…
😦 Если вы используете Numpy + Pytorch, скорее всего у вас есть этот баг 😱
Нашёл публикацию в блоге NVidia, про то, как легко и ненавязчиво можно угодить в когти не честного рандома.
Суть бага заключается в следующем. Если использовать np.rand и (ему подобные) внутри Pytorch Dataset, то в случае использования multiprocessing, мы получим неожиданный результат.
Каждый независимый воркер будет генерировать случайные числа идентичные случайным числам других воркеров 🤷♂️
Казалось бы, ну и что? А дело в том, что вы теряете буст от мультипроцессинга для аугментаций и гоняете одни и те же батчи данных по несколько раз.
И этому багу подвержены множество популярных проектов на Pytorch.
Подробнее прочитать можно тут:
https://tanelp.github.io/posts/a-bug-that-plagues-thousands-of-open-source-ml-projects/
Нашёл публикацию в блоге NVidia, про то, как легко и ненавязчиво можно угодить в когти не честного рандома.
Суть бага заключается в следующем. Если использовать np.rand и (ему подобные) внутри Pytorch Dataset, то в случае использования multiprocessing, мы получим неожиданный результат.
Каждый независимый воркер будет генерировать случайные числа идентичные случайным числам других воркеров 🤷♂️
Казалось бы, ну и что? А дело в том, что вы теряете буст от мультипроцессинга для аугментаций и гоняете одни и те же батчи данных по несколько раз.
И этому багу подвержены множество популярных проектов на Pytorch.
Подробнее прочитать можно тут:
https://tanelp.github.io/posts/a-bug-that-plagues-thousands-of-open-source-ml-projects/
tanelp.github.io
Using PyTorch + NumPy? You're making a mistake.
A bug that plagues thousands of open-source ML projects.