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

@deepschool_support
Download Telegram
FlashAttention v1

Хотя пиковая вычислительная мощность современных GPU измеряется триллионами FLOPS, на практике производительность на многих задачах глубокого обучения ограничивается скоростью доступа к памяти.

На GPU есть иерархия памяти: регистры и shared memory (SRAM) очень быстрые, но их объём крайне мал (менее 0.1% от объёма VRAM), глобальная память (VRAM) — объёмная, но значительно медленнее. Эффективность алгоритма на GPU определяется тем, насколько успешно он минимизирует обращения к VRAM, удерживая промежуточные данные в SRAM.

Во многих стандартных реализациях нейросетевых операций вычисления оказываются memory-bound, классический пример — attention в трансформерах.

Проблема базового attention


Scaled Dot-Product Attention вычисляется по формуле 1 (см. картинку). На практике это означает явное вычисление и хранение матрицы QKᵀ размером n x n.

При росте длины последовательности это приводит к квадратичному росту памяти и обращений к медленной VRAM-памяти. Attention остаётся memory-bound даже при использовании библиотеки cuBLAS. Масштабирование по длине контекста упирается не в вычисления, а в пропускную способность памяти.

Идея FlashAttention

FlashAttention ускоряет вычисление attention без изменения самой формулы расчёта. Ключевая идея — не хранить матрицу QKᵀ целиком в глобальной памяти.

Это достигается за счёт двух техник: тайлинга и онлайн-Softmax.

Тайлинг (Tiling)

Алгоритм разбивает все входные матрицы Q,K,V на блоки, которые поочередно загружаются в быструю SRAM. 

Каждый блок запросов Q по очереди сопоставляется с блоками K и V. Для каждого такого сочетания прямо в SRAM вычисляется фрагмент внимания, который сразу агрегируется в итоговый результат. Таким образом, не нужно ждать обхода всей последовательности или сохранять промежуточную матрицу QKᵀ. Финальный attention заполняется постепенно теми данными, которые в данный момент лежат в быстрой памяти.

Подробнее про математику tiling-механизма можно прочитать по ссылке.

Онлайн-Softmax

Тайлинг в flashattention был бы не так эффективен без онлайн-Softmax. В стандартной реализации для вычисления весов внимания используется формула 2 (см. картинку).

По формуле знаменатель представляет собой сумму экспонент по строке длиной N. В классической реализации attention это создает проблему: даже используя тайлинг вычисления, необходимы результаты всех блоков Q,K,V для расчёта Softmax. Это вынуждает снова возвращаться к проблеме сохранения матриц целиком в VRAM.

Онлайн-Softmax решает проблему, позволяя обновлять знаменатель и нормализовывать результат по мере подгрузки новых блоков в SRAM, вычисляя результат инкрементально. При обработке каждого нового блока в SRAM алгоритм «на лету» обновляет:

• текущий максимум строки;
• нормализующую сумму экспонент (знаменатель формулы);
• промежуточный результат O — если в новом блоке нашёлся максимум больше предыдущего, алгоритм пересчитывает уже накопленный результат.

Это позволяет получить результат, полностью эквивалентный классическому Softmax, при этом матрица QKᵀ вообще не покидает пределов SRAM.

Итог

FlashAttention показал, что существенное ускорение трансформеров возможно за счёт переосмысления вычислений под архитектуру GPU. Алгоритм снижает потребление памяти с квадратичной до линейной, уменьшает число обращений к медленной памяти VRAM и переводит вычисление attention из memory-bound в compute-bound проблему, когда скорость вычислений ограничена скоростью работы GPU.

Про ускорение LLM, дообучение и их деплой рассказываем на курсе LLM. Запишитесь в лист ожидания до 8 февраля, чтобы первыми занять место и получить скидки до 20% 🔥


Автор: Антон Наумов

🪔 DeepSchool
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥35👍17❤16👏2
Карта LLM: как выбирать модели, проверять качество и улучшать результаты

В этот четверг, 12 февраля, мы проведём открытую лекцию, на которой ответим на популярные вопросы по LLM. Чем отличаются модели? Надо ли доучивать модель? Хостить или ходить по API? На что можно рассчитывать при построении агента или RAG-системы? Почему у кого-то работают RAG и агенты, а кто-то в них разочаровался?

За полтора часа дадим актуальный срез индустрии вокруг LLM:
— актуальные модели и их свойства
— бенчмарки
— self-host VS API
— типы задач
— главные «болячки» ванильных решений
— и актуальные советы по их лечению

Спикер — Дмитрий Калашников, NLP Team Lead в Яндексе🔥

В конце расскажем про курс «LLM», где объясняем теорию LLM, учим дообучению, элайменту, построению RAG, агентских-систем и деплою — всё под кураторством опытных инженеров.

Всем участникам лекции мы подарим скидки на обучение 🎁

📅 Встречаемся в четверг, 12 февраля в 19:00 МСК!

Регистрируйтесь по ссылке и приходите на лекцию!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥6👍4❤‍🔥2
Мок-интервью по компьютерному зрению

Проходить собеседования в DS — отдельный навык, который надо тренировать. Один из вариантов подготовки к ним — просмотр/прохождение мок-интервью.
В новом видео записали мок-интервью на позицию CV-инженера, где решили задачу по применению CV для анализа предметов искусства 🖼

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

А в конце кандидат получил развёрнутый фидбек по каждому из этапов

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

Приходите на наш курс CV Rocket, если хотите научиться решать сложные задачи компьютерного зрения. Ближайший поток стартует 10 марта, а до 1 марта вы можете присоединиться со скидкой до 20%!
Изучайте подробности на сайте и записывайтесь в лист ожидания!


🪔 DeepSchool
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23❤7👍7
Осталось 3 часа до лекции по LLM

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

На лекции вы узнаете:
— какие модели сейчас лучше выбрать и чем они отличаются
— как сравнить модели с помощью бенчмарков
— какие есть варианты применения: self-host против API, стоимость и ресурсы, основные провайдеры
— для каких задач LLM применяются в продуктах и какой уровень качества реально можно ожидать
— главные «болячки» ванильных решений и актуальные советы по их лечению

А ещё расскажем про курс «LLM», где вы узнаете, как устроены современные LLM, как их обучать, запускать и оптимизировать — всё под кураторством опытных инженеров. Всем участникам лекции мы подарим скидки на обучение 🎁

🕕 Регистрируйтесь и приходите сегодня в 19:00 МСК
❤‍🔥6👍5🔥3
Закройте все вопросы по LLM

Как устроены современные LLM, как они обучаются, как с ними работать, как избежать типичных проблем при решении реальных задач — об этом и не только на нашем курсе по большим языковым моделям.

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

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

🔔 Старт 19 февраля, а до 18 февраля действует скидка 5%!

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

Если остались вопросы или сомневаетесь, подходит ли вам эта программа — пишите в поддержку @deepschool_support
👍9🔥6❤5❤‍🔥1
Повышение качества датасетов в CV-проектах

Качество, количество и состав обучающих данных влияют как на итоговые метрики ML-моделей, так и на скорость/стоимость обучения. Чтобы повысить качество датасета, часто требуется фильтрация сэмплов — удаление шума, дубликатов, нерелевантных или плохо размеченных примеров. В новой статье приводим краткий обзор методов фильтрации неподходящих сэмплов и оптимизации распределения сэмплов в датасете.

В статье рассмотрим:
- базовые эвристики
- продвинутые техники на основе CLIP и VLM
- способы сократить затраты на обучение при росте метрик

Читайте новую статью по ссылке👈

Как готовить качественные датасеты и обучать модели для задач CV рассказываем на нашем курсе CV Rocket.
Ближайший поток стартует 10 марта, а до 1 марта вы можете присоединиться со скидкой до 20%! Изучайте подробности на сайте и записывайтесь в лист ожидания!

🪔 DeepSchool
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤9🔥9
Погрузитесь в продвинутый Computer Vision

Если вы практикующий CV-инженер и хотите закрыть пробелы в знаниях, разобрать сложные задачи и узнать про подходы и best practices, то приходите на ближайший поток Computer Vision Rocket!

На курсе вы научитесь:
- готовить данные: собирать, устранять ошибки в разметке, мониторить качество
- отлаживать обучение, находить аномалии и интерпретировать результаты модели
- работать с metric learning и векторным поиском
- работать с видео: трекинг и action-recognition
- предобучать без разметки: от pretext-задач до современных SSL-алгоритмов
- адаптировать модели детекции, сегментации и OCR под сложные кейсы

🗓 Курс стартует 17 марта
🔔 Записывайтесь в лист ожидания до 9 марта, чтобы получить скидку до 20%!

Читайте подробнее про программу и спикеров на сайте и записывайтесь на ближайший поток CV Rocket!
❤14👍6🔥5👏1😍1
Anki-карточки для подготовки к интервью

Помните карточки для запоминания английских слов? С одной стороны слово, с другой перевод. Сделали такие же, только для подготовки к тех-интервью. На лицевой стороне вопрос, на обратной — ответ с примерами.
Начать решили с Docker, но коллекции будут пополняться, stay tuned.

Попробовать: anki.deepschool.ru
🔥69👍18❤12
Optical Context Compression: DeepSeek-OCR & DeepSeek-OCR2

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

В статье разбираем подход оптического сжатия контекста LLM на примере архитектур DeepSeek-OCR и DeepSeek-OCR2 🐋.

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

🪔 DeepSchool
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤9👍5🐳2
DeepSchool
Anki-карточки для подготовки к интервью Помните карточки для запоминания английских слов? С одной стороны слово, с другой перевод. Сделали такие же, только для подготовки к тех-интервью. На лицевой стороне вопрос, на обратной — ответ с примерами. Начать решили…
На прошлой неделе разбирались с Docker, на этой — разбираемся с LLM!

20 новых карточек: attention, RoPE, MoE, LoRA, температура и top-k/top-p, RLHF, RAG, function calling, KV-cache и другие темы, которые спрашивают на собеседованиях.

Формат тот же: вопрос на лицевой стороне, развёрнутый ответ с примерами — на обратной.
Попробовать: anki.deepschool.ru
3🔥39❤9👍9
Сделали алхимию, но про ML

Чтобы немного разбавить рабочую неделю, собрали игру, где можно комбинировать ML-концепции и открывать новые.

Математика + Код = Алгоритм
NumPy + Backprop = PyTorch
CNN + Датасет = ImageNet

200+ элементов: от базовых до ChatGPT и k8s!

Кто первым соберёт Шмидхубера, дайте о себе знать, подарим пиццу!
https://mlchemy.deepschool.ru
3🔥50🤩14❤6
Скоро стартует новый поток LLM Pro

Это курс, на котором вы соберёте полноценные NLP-системы с учётом требований к качеству и нагрузке, разберёте сложные кейсы и архитектуры NLP-решений: от доменной адаптации и эмбеддеров до сложных RAG-систем и агентов.

Приходите, чтобы узнать про best practices и применять похожие подходы в своих проектах.

У вас будет много практики:
• научитесь подбирать архитектуру текстовой классификации в зависимости от ограничений продакшн-среды
• создадите доменно-адаптированные эмбеддинги и настроите стабильную кластеризацию текстов
• адаптируете LLM под специфичный домен через техники пост-претрейна
• разработаете продвинутую RAG-систему с умным поиском, реранкингом и предотвращением галлюцинаций
• построите AI-агента с function calls и генеративным трекингом

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

📅 Старт потока — 26 марта
🔔 Вы можете получить скидку до 20%, если запишетесь в лист ожидания до 15 марта

Читайте подробнее на сайте и оставляйте заявку!

Пишите в нашу поддержку @deepschool_support, если остались вопросы!
И до встречи на курсе!
❤9🔥5🤩4
Готовим LLM для агента: prompting VS fine-tuning

LLM — основа современного AI-агента: от её выбора зависит, насколько хорошо агент будет справляться с задачами и как быстро он будет реализован.

В новой статье даём практические советы по выбору LLM для агента.

Читайте новую статью по ссылке!👈

Научиться строить AI-агентов с нуля можно у нас на курсе LLM Pro.
Старт — 26 марта.
Читайте подробнее на сайте и оставляйте заявку до 15 марта, чтобы присоединиться к обучению со скидкой 20% ⚡️
❤21👍4🔥4
Что говорят выпускники CV Rocket

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

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

Полные тексты этих и других отзывов, подробную информацию о программе и спикерах смотрите на сайте.

Новый поток CV Rocket стартует 17 марта.
Записывайтесь до 9 марта и получите скидку до 20% 🔥
❤10🔥8👍7😁1
Такое на собеседовании вряд ли спросят, но знать обязательно

Приготовили праздничный набор карточек. Из него вы узнаете:

- Что общего между плюшевым мишкой, нобелевкой и вакцинами от COVID
- Самая выгодная аренда гаража в истории
- Как в 81 год выучить Swift по Skype (хороший был файлообменник) и вдохновить Тима Кука
- Кого нужно благодарить за ImageNet

Девушки, с вашим днём 💚
🔥24😍8❤7