DeepSchool
9.65K subscribers
74 photos
1 video
1 file
413 links
Это канал школы deepschool.ru. Здесь мы будем:
- напоминать вам теорию ML/DL в виде коротких постов,
- задавать вопросы с собеседований,
- рассказывать про полезные фреймворки
- и делиться советами, которые помогут вам в работе.

@deepschool_support
Download Telegram
Научитесь создавать и деплоить DL-сервисы

Вчера на лекции мы представили новый поток курса «Деплой DL-сервисов» и приглашаем на него вас!

На программе вы научитесь:
писать код для обучения моделей «по фэншую»
конвертировать модели в JIT и ONNX
версионировать данные, эксперименты и модели
автоматизировать рутину и быть уверенным в своём коде
писать веб-сервисы на FastAPI
собирать приложения с помощью Docker
сервить модели с NVIDIA Triton
тестировать веб-сервисы и подменять зависимости при помощи DI
настраивать CI/CD и деплоить веб-сервисы на удалённые машины «по кнопке»
мониторить веб-приложения при помощи Prometheus и Grafana

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

На протяжении всего обучения вас будут поддерживать опытные инженеры: ревьюить ваш код, отвечать на вопросы во время лекций, на Q&A-сессиях и в чате.

🚀 Курс стартует 28 августа
⚡️До 27 августа для подписчиков DeepSchool действует скидка 5%!

Изучайте подробности о программе и спикерах и присоединяйтесь к обучению.

Если возникают вопросы, пишите нам в поддержку в Телеграм!
🔥10👏76😁3👍1
Как уменьшить время сборки и размер Docker-образов?

Docker — стандарт для контейнеризации при разработке и эксплуатации приложений. По мере роста проекта разработчики часто сталкиваются с проблемами увеличения времени сборки Docker-образов и их размера.

В новой статье рассматриваем методы, которые помогут уменьшить размеры образов и ускорить процесс их сборки🚀

Читайте статью по ссылке!

И приходите на курс «Деплой DL-сервисов», на котором вы наведёте порядок в репозиториях и внедрите лучшие практики в свои проекты!
🔥1410👏5❤‍🔥32👍1😁1
Краткая история механизма внимания в NLP

Механизм внимания — один из ключевых компонентов современных нейросетей, позволяющий моделям концентрироваться на важных фрагментах данных. Это повлияло на улучшения в разных областях: NLP, Robotics и GenAI. В новой статье рассказываем историю появления и развития механизма внимания👨🏼‍💻

Из этой статьи вы узнаете:
- какие были предпосылки появления механизма внимания
- какие основные принципы работы self-attention, cross-attention и multi-head self-attention
- и как работает позиционное кодирование и маскирование

Читайте статью по ссылке! 👈
18🔥14👍6😁2👏1
⚡️Через месяц стартует новый поток курса «Ускорение нейросетей»

Мы уже готовим новые материалы на эту тему, а пока давайте вспомним базу по ускорению. Для этого мы собрали подборку наших публикаций, из которых вы узнаете про основные принципы, познакомитесь с методами ускорения свёрточных нейросетей и LLM.

1. Введение в методы ускорения свёрточных нейронных сетей — рассказали, какие существуют методы ускорения и как они связаны, познакомились с NAS, прунингом, дистилляцией и квантизации ей.

2. В чём же считать: fp8, fp32 или fp16 — в каких типах данных крутить нейронку, чтобы сэкономить память и не потерять точность? В  этой статье разобрали, как они работают, где их лучше применять, как учить, инференсить и с какими подводными камнями здесь можно столкнуться.

3. 3 фишки для ускорения LLM — рассмотрели 3 популярных метода ускорения LLM — инференс-фреймворки, спекулятивное декодирование и квантование.

4. Практическое применение ускорения — рассмотрели задачи ускорения, связанные с автопилотом, обработкой видео с дронов и беспилотными поездами.

5. 11 вопросов CTO про ускорение нейросетей — в этом видео Саша Гончаренко, СТО стартапа enot.ai и хэдлайнер нашего курса «Ускорение нейросетей», ответил на разные вопросы, связанные с ускорением нейросетей. Почему нельзя просто взять маленькую модель? Не скучно ли ускорять модели? А можно сделать NAS NMS на NPU?

Изучайте материалы и записывайтесь на новый поток, который стартует 30 сентября!
До 19 сентября вы можете записаться в лист ожидания. Для его участников действуют скидки до 20%!🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥12🤝5👍1😁1
Сервинг модели Grounding DINO с BentoML

Доставка ML-модели до конечного пользователя так же важна, как и её разработка. В одной из предыдущих статей мы уже рассказывали про model-serving при помощи фреймворков Trition и Torchserve.

В новой статье показали пример, как обернуть модель Grounding DINO при помощи другого популярного фреймворка — BentoML. 🍱

Читайте новую статью по ссылке!
14🔥12👍7😁2❤‍🔥1🤝1
Как OpenVINO оптимизирует memory-bound сценарии

OpenVINO — open-source фреймворк от Intel для оптимизации и эффективного инференса нейронных сетей. Он позволяет запускать модели на x86/ARM(!)/RISC-V(!) CPU, GPU и NPU, используя C++, Python и другие языки программирования. 🚀

Инференс модели — это выполнение графа операций, таких как add, mul, relu, softmax и т.д. Выполнение каждой операции сводится к запуску низкоуровневых программных блоков — kernels. Каждый kernel загружает данные из ОЗУ в регистры процессора, считает результат и пишет его обратно. Одна из проблем при выполнении графа операций — простой процессора в связи с тем, что данные не успевают «доехать» до регистров. Этот сценарий называется memory-bound. Его появление зависит от скорости процессора, пропускной способности памяти и типа выполняемой операции.

Естественное желание — минимизировать простой процессора. Для этого необходимо уменьшить количество обращений в память и выполнить больше операций с уже загруженными данными. Один из используемых подходов — fusing: объединение нескольких операций в один kernel. Для таких операций данные один раз загружаются в регистры, проходят цепочку вычислений и только потом выгружаются обратно в память. Это позволяет лучше загружать вычислительные блоки CPU за счёт уменьшения количества операций с памятью.

Поддерживать десятки (а то и сотни) вариантов fusing’а вручную очень сложно, поэтому был разработан Snippets — JIT-компилятор внутри OpenVINO. Он находит подграфы модели, которые можно исполнить эффективнее, и компилирует для них оптимизированные kernels. И это не ограничено заранее зашитыми паттернами: Snippets может собрать подграфы с произвольными комбинациями поддерживаемых операций. Выделенные подграфы Snippets переводит в более удобное для оптимизации представление, оптимизирует работу с памятью и циклами, распределяет данные по регистрам процессора, чтобы лишний раз не гонять их в память. 🦾

Одна из новых фишек Snippets — поддержка dynamic shapes. Часть оптимизаций зависит от размера входных данных. Можно перекомпилировать kernel под новые входы, но на практике это получается медленно. Решение следующее: shape-зависимые части (например, шаги указателей или размеры буферов) выносятся в отдельный RuntimeConfig. Он получает параметры и подставляет их в уже скомпилированный kernel. Добавляется небольшой оверхед, но зато теперь можно работать с текстами разной длины или изображениями различных размеров без потери производительности.

Итак, на практике мы имеем следующие результаты: ускорение трансформерных моделей, а именно — текстовые (BERT и не только) до 25%, Stable Diffusion до 40%, Whisper до 30%; а также экономию памяти в attention-блоках Stable Diffusion на 15-50%. 🏆

На курсе «Ускорение нейросетей» мы подробно разбираем OpenVINO и другие инструменты для оптимизации инференса. Записывайтесь на новый поток, который стартует 30 сентября! Вы можете присоединиться со скидкой до 20%, если запишитесь в лист ожидания до 19 сентября.


Полезные ссылки:
- Подробный разбор принципов работы Snippets
- Статья про поддержку динамических шейпов

Автор: Артур Панюков
🔥238🤝6👍2😁2
Как запрунить свою первую модель?

Представим ситуацию: мы выбрали фреймворк и тип данных для инференса модели, и теперь нам нужно её ускорить. Что делать? Один из вариантов - использовать прунинг!

В новом видео рассказываем о том, что такое прунинг и с чего в нём можно начать 🙂‍↕️

В видео мы узнаем:
- как запрунить свою первую модель
- почему короткий путь не равен верному решению
- и для чего нужен тюнинг, самая важная часть прунинга

Смотрите по ссылке! 🎞

А уже 30 сентября стартует новый поток «Ускорение нейросетей», где мы подробно рассказываем про прунинг и другие методы ускорения. Запишитесь в лист ожидания до 19 сентября, чтобы получить скидку до 20%
Please open Telegram to view this post
VIEW IN TELEGRAM
119🔥11👏6😁1
Почему ускорение нейросетей — важный навык в DL-индустрии

В видео Александр Гончаренко, CTO enоt.аi и хэдлайнер курса «Ускорение нейросетей», рассказал, почему оптимизация инференса стала необходимым навыком для DL-инженера, на чём строится ускорение нейросетей и как в этом помогает разобраться наша программа.

Cмотрите видео по ссылке!

30 сентября стартует новый поток курса «Ускорение нейросетей». А вы ещё успеваете записаться в лист ожидания, чтобы присоединиться со скидкой до 20%!
12🔥8👍5😁1
Интервью с подписчиками канала

Привет! Это Тимур, один из основателей школы

Если вы практикующий backend-разработчик, не особо разбираетесь в ML/DL, работаете или планируете работать с LLM, и при этом не против поболтать со мной в Zoom 50 минут, заполните, пожалуйста, эту форму

Время от времени мы проводим серии интервью, чтобы ещё лучше понимать, как наши программы могут помочь повысить квалификацию инженеров. Поговорить хочу о вашем виденье индустрии, рынка, о задачах, сложностях или планах в работе с LLM. Отвечу и на ваши вопросы, если они есть

Спасибо всем откликнувшимся✌️
14🤝7🔥4😁3
Как оптимизировать инференс на ноунейм-плате

Всё больше моделей запускаются на конечных устройствах: в телефонах, роботах, колонках, автомобилях, домофонах и т.д. — у всех разные ОС и архитектуры, а значит и свои нюансы инференса моделей. На лекции мы разберём как раз такой случай из практики с кучей нюансов и их решениями!

Советуем прийти, если вы:
— никогда не ускоряли модели
— ускоряли, но не для эдж-девайсов
— ускоряли для эджей и у вас есть вопросы

🗓 25 сентября, четверг, 18:00 МСК

На лекции узнаете:
как снизить стоимость инференса на примере автономного автомобиля
как запустить Vision transformer на плате Texas Instruments
о проблемах запуска трансформеров на кастомных платах с NPU
про применение прунинга к таким платам

В конце представим новый поток курса «Ускорение нейросетей». Всем участникам лекции подарим скидки на обучение!

🙋‍♂️Спикеры лекции:
— Александр Гончаренко — CTO ENOT.аi, хэдлайнер курса Ускорение нейросетей
— Тимур Фатыхов — основатель DeepSchool, ex Lead CV Engineer KoronaPay

Регистрируйтесь на лекцию по ссылке!

🎁После регистрации вы получите туториал по использованию TensorRT и OpenVino.

До встречи 25 сентября в 18:00 МСК!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥126👍6❤‍🔥1😁1🎉1
Закройте вопросы по LLM

Если хотите разобраться, как устроены современные LLM, как их обучать, запускать и оптимизировать — приходите на ближайший поток курса LLM. Старт — 16 октября!

На курсе вы научитесь:
— использовать доступные LLM под свои задачи
— работать с RAG, агентами и tool calls
— эффективно тюнить модели
— деплоить и ускорять инференс LLM

Обучение подойдёт и тем, кто только знакомится с LLM, и кто уже работает с ними. А если до этого не работали с доменом NLP, то разберётесь в его особенностях.

Запишитесь в лист ожидания до 5 октября, чтобы первыми занять место и получить скидки до 20%.
Изучайте подробности о программе и спикерах и записывайтесь на новый поток!

Напоминаем, что места ограничены, часть уже занята, поэтому рекомендуем не откладывать ✍️

По всем вопросам пишите нам в поддержку @deepschool_support
🔥118👍6😁2
Встречаемся через 3 часа

Сегодня на примере реальной задачи разберём, как запустить трансформер на плате с NPU. Обсудим проблемы, которые с этим связаны, и как их решать!

А также представим программу курса Ускорение нейросетей и подарим скидки участникам лекции ⚡️

Вы ещё успеваете зарегистрироваться!
Приходите сегодня в 18:00 МСК!
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥5👍1😁1
Как наконец-то разобраться в ускорении нейросетей?

Записывайтесь на наш курс! На нём вы научитесь важному навыку для DL-инженера.

Возможно, вы уже сталкивались в работе с оптимизацией инференса и ускорением нейросетей, пробовали фреймворки вроде ONNX, TensorRT, OpenVINO, знаете про квантование, прунинг и дистилляцию, но при этом:

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

Или если только начинаете погружаться в тему ускорения — тогда приходите на ближайший поток «Ускорения нейросетей»!
Обучение начинается 30 сентября, а до 29 сентября вы успеваете присоединиться со скидкой 5%

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

Если остались вопросы, то ждём вас в нашей поддержке @deepschool_support
И до встречи на лекциях 🎓
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥107😁2
Когда память дороже точности: приближённые структуры данных

Проблема: многие алгоритмы с линейным потреблением памяти не справляются с большим количеством данных. Решение: приближённые структуры!

В новой статье разбираем три популярные структуры данных с константным потреблением памяти, решающие ключевые задачи:
- HyperLogLog — оценка количества уникальных элементов,
- Фильтр Блума — проверка принадлежности ко множеству,
- Count-Min Sketch — подсчёт частот элементов.

Все они работают приближенно, зато позволяют работать с огромными объёмами данных. Читайте, как применять их на практике: https://blog.deepschool.ru/math/kogda-pamyat-dorozhe-tochnosti-priblizhyonnye-struktury-dannyh/
1🔥2113👍11😁1
LLM для кодинга | Подкаст «Под Капотом» с Максимом Шапошниковым

Гость выпуска — Максим Шапошников, Research Engineer в Tessl, ex-Amazon. Сейчас Максим делает инструменты для Spec-Driven Development: агенты пишут код по чётким бизнес-спецификациям (никакого вайбкодинга!). 🤯

В этом выпуске мы обсудили:
- достигли ли мы предела в развитии языковых моделей
- каким образом интегрировать LLM в рабочие процессы и проекты и ничего не сломать
- и как устроиться на работу в Амазон и даже без PhD пройти на исследовательскую позицию

Смотрите новый выпуск по ссылке!
17🔥12👏6👍2😁1
«Отличный курс для подготовки к собеседованиям»

Таким отзывом делится выпускница курса LLM Екатерина Синькова

📍В карточках мы собрали цитаты из отзывов других выпускников.

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

Напоминаем, что новый поток начинается 16 октября, а до 5 октября можно записаться в лист ожидания, чтобы получить скидку до 20%🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥7👏5😁2🐳1