🍎 Apple M1 vs Tesla v100🔥
Может прозвучать глупо, но не спешите делать свои выводы. На презентации чипа m1 Apple, заявили, что у них будет аппаратная поддержа для Deep learning штук. Ранее я думал, что он будет способен применяться только для инференса всяких TFLite моделек, но сегодня на Reddit наткнулся на интересный пост.
https://wandb.ai/vanpelt/m1-benchmark/reports/Can-Apple-s-M1-help-you-train-models-faster-cheaper-than-NVIDIA-s-V100---VmlldzozNTkyMzg
Чувак просто взял и сравнил работу чипа M1 с карточкой от Nvidia Tesla V100 и получил интересные результаты.
Понятное дело, что в общем и целом V100 выигрывает, но эта штука и весист как полмакбука, а электричества кушает как чайник.
На задачах с малым количеством весов, например тренировка последнего полносвязного слоя сети на MacMini проходит быстрее, чем на Tesla V100.
Только представьте, вы уже можете решать часть задач на Mac быстрее чем на топовых карточках. При этом потребление элетричества процессором M1 в 4 раза меньше.
На больших сетках пока, понятное дело проигрыш. Автор так же заметил, что learning rate на чипах m1 более привередливый и модель иногда не сходится, возможно это баги в ранних реализациях библиотеки.
Конечно, использовать все это еще рано, но это выглядить очень многообещающе, от того интересно, что покажут Pro версии девайсов от Apple. (Macbook pro не в счет)
Может прозвучать глупо, но не спешите делать свои выводы. На презентации чипа m1 Apple, заявили, что у них будет аппаратная поддержа для Deep learning штук. Ранее я думал, что он будет способен применяться только для инференса всяких TFLite моделек, но сегодня на Reddit наткнулся на интересный пост.
https://wandb.ai/vanpelt/m1-benchmark/reports/Can-Apple-s-M1-help-you-train-models-faster-cheaper-than-NVIDIA-s-V100---VmlldzozNTkyMzg
Чувак просто взял и сравнил работу чипа M1 с карточкой от Nvidia Tesla V100 и получил интересные результаты.
Понятное дело, что в общем и целом V100 выигрывает, но эта штука и весист как полмакбука, а электричества кушает как чайник.
На задачах с малым количеством весов, например тренировка последнего полносвязного слоя сети на MacMini проходит быстрее, чем на Tesla V100.
Только представьте, вы уже можете решать часть задач на Mac быстрее чем на топовых карточках. При этом потребление элетричества процессором M1 в 4 раза меньше.
На больших сетках пока, понятное дело проигрыш. Автор так же заметил, что learning rate на чипах m1 более привередливый и модель иногда не сходится, возможно это баги в ранних реализациях библиотеки.
Конечно, использовать все это еще рано, но это выглядить очень многообещающе, от того интересно, что покажут Pro версии девайсов от Apple. (Macbook pro не в счет)
W&B
Can Apple’s M1 Help You Train Models Faster & Cheaper Than NVIDIA’s V100?
In this article, we analyze the runtime, energy usage, and performance of Tensorflow training on an M1 Mac Mini and Nvidia V100. .
Кстати, на секундочку подумайте, что в новых IPad и IPhone будут стоять схожие чипы, а значит запускать какие-то более сложные сетки в виде GPT и прочего стафа на носимых девайсах не будет такой болью.
🔨 Запуск сеток в продакшен 📐
Часто, при прохождении собеседования в компании на позиции DL разработчика, меня спрашивали про вывод сеток в продакшен. Так получается, что делать fit/predict делать умеют примерно все, а вот запускать что-то на реальном железе, так чтобы оно не работало со скоростью 5 fps в секунду никто не умеет (мало кто).
Так сложилось, что в последнее время я достаточно сильно приближен к этой теме, поэтому решил замутить серию постов, где я не сколько буду объяснять вам как запустить что-то в прод, сколько буду скидывать различные материалы, которые могут вам помочь в этой не простой задаче, с некоторыми пояснениями. В принципе это мой стандартный формат постов.
И так приступим.
Часто, при прохождении собеседования в компании на позиции DL разработчика, меня спрашивали про вывод сеток в продакшен. Так получается, что делать fit/predict делать умеют примерно все, а вот запускать что-то на реальном железе, так чтобы оно не работало со скоростью 5 fps в секунду никто не умеет (мало кто).
Так сложилось, что в последнее время я достаточно сильно приближен к этой теме, поэтому решил замутить серию постов, где я не сколько буду объяснять вам как запустить что-то в прод, сколько буду скидывать различные материалы, которые могут вам помочь в этой не простой задаче, с некоторыми пояснениями. В принципе это мой стандартный формат постов.
И так приступим.
🏗 Верхнеуровневый обзор фремворков для инференса сеток.
Нашел интересную статью на Хабре, где автор делает обзор множества фреймворков для инференса сетей. Подчеркну, что это не фремворки для обучения, аля TF, Pytorch, Keras, а именно стек, который позволит вам запускать сетки быстро для работы в проде.
Автор хорошо структурировал их по типу применения: от серверов, то мобилок и встраиваемых девайсов. Советую к прочтению как новичкам, так и бывалым. Так например, автор раскрывает следущие темы:
* OpenCV еще живее всех живых
* GPU не всегда лучше CPU
https://m.habr.com/ru/company/recognitor/blog/524980/
Нашел интересную статью на Хабре, где автор делает обзор множества фреймворков для инференса сетей. Подчеркну, что это не фремворки для обучения, аля TF, Pytorch, Keras, а именно стек, который позволит вам запускать сетки быстро для работы в проде.
Автор хорошо структурировал их по типу применения: от серверов, то мобилок и встраиваемых девайсов. Советую к прочтению как новичкам, так и бывалым. Так например, автор раскрывает следущие темы:
* OpenCV еще живее всех живых
* GPU не всегда лучше CPU
https://m.habr.com/ru/company/recognitor/blog/524980/
Хабр
Как запихать нейронку в кофеварку
Мир машинного обучения продолжает стремительно развиваться. Всего за год технология может стать мейнстримом, и разительно измениться, придя в повседневность. За прошедший год-полтора, одной из таких...
Ставь лайк, если хочешь узнать больше про запуск сеток на реальном железе.
А еще будет круто, если ты поделишься этим каналом с коллегой или сокурсником.
А еще будет круто, если ты поделишься этим каналом с коллегой или сокурсником.
Поскольку тема продакшена достаточна обширна, у меня есть достаточно много материала по этой теме.
Соответсвенно, хочется узнать как сильно вы хотите растянуть это удовольствие.
Получать один пост в день для вечернего чтения, соответсвенно растянув эту рубрику, или же по два-три, но узнав все быстрее.
Вопрос очень компексный, т.к. я сам люблю класть что-то в папочку “почитать позже” и никогда ее не открывать.
Соответсвенно, хочется узнать как сильно вы хотите растянуть это удовольствие.
Получать один пост в день для вечернего чтения, соответсвенно растянув эту рубрику, или же по два-три, но узнав все быстрее.
Вопрос очень компексный, т.к. я сам люблю класть что-то в папочку “почитать позже” и никогда ее не открывать.
💻 Железо для ускорения сетей 🖥
Вы наверняка слышали, что для ускорения сеток можно использовать не только 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://news.1rj.ru/str/stackmorelayers
В создании видео помогали:
Монтаж и motion…
Контакты автора:
Instagram: https://www.instagram.com/alxmamaev/
Telegram: https://news.1rj.ru/str/stackmorelayers
В создании видео помогали:
Монтаж и motion…