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

@deepschool_support
Download Telegram
Дешево считаем в облаке, если нет GPU

Когда у студентов нашего курса возникают проблемы с их машинами, мы выдаем кредиты на аренду GPU в сервисе vast.ai.

Чтобы было проще познакомиться с сервисом и настроить удаленную работу, мы написали туториал. В нем мы рассказали как выбрать машину, настроить удаленное подключение и работать в VSCode так, будто GPU стоит на вашем компьютере.

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

Читайте и сохраняйте на будущее: https://telegra.ph/Deshevo-schitaem-v-oblake-esli-net-GPU-vastai--VSCode-01-14 😉
🔥302👏21
​​Чем заменить CSV, если у вас очень много данных

Одна из основных проблем формата CSV — размер файлов. В нем мы храним данные в виде строк, соответственно, число 0.0123456789 будет занимать 12 байт. В то же время, это float число, которое должно занимать 4 байта. Мы видим разницу в 3 раза для каждого числа. А их могут быть миллионы! Более того, большой размер файла еще и замедляет скорость его считывания с диска.

Давайте представим: у нас есть датасет размерности (100000000,10) и мы хотим обучить нейросетку. Загрузить в оперативную память такой датасет не получится. Следовательно, нам нужно будет считывать куски с диска. Если в батч мы захотим положить элемент с индексом 1000, то в CSV нам придется пройти все предыдущие 1000 строк (если вы не гуру memory mapping’а). Это очень долго и неэффективно.

Одно из решений перечисленных проблем — хранение данных в формате Hdf (Hierarchical Data Format). В этом посте мы расскажем вам только о нем, а если тема интересна, можно еще погуглить parquet.

Данные в hdf5 хранятся в бинарном формате. Это значит, что 0.0123456789 будет занимать ровно 4 байта. В hdf5 для таблиц есть специальная сущность dataset. Данные в ней хранятся кусками — чанками. В то же время, индексы этих чанков хранятся в B - дереве. Таким образом, у нас получится очень быстро получить доступ к любому чанку. В нашем случае мы возьмем чанк размера (1,10) и сможем очень быстро читать строки.

Можем даже исхитриться и использовать чанк размера (k, 10) и в батч класть данные не по одному элементу, а по k. У нас не будет обычного уровня случайности. Но если k достаточно мало — этим можно пожертвовать в сторону скорости (особенно если bottlneck - чтение с диска)!

Пара интересных фичей hdf5:

1) Сжатие данных (на прикрепленной ниже картинке мы представили пример, во сколько раз может сжать hdf5).

2) Возможность хранения мета-информации. Например, в ней можно хранить описание данных.

3) Возможность хранения нескольких датасетов в одном файле. Например, можно train, test и val хранить в одном файле!

4) А главное, все это поддерживается в pandas! Важно не забыть pip install pytables. Ну а если у вас действительно большие данные, то лучше напрямую работать с h5py.

У читателей может возникнуть вопрос: почему бы не использовать sqlite? Там тоже самое B-дерево, также есть разные типы данных, но еще и доступ произвольный не к чанку, а к элементу… Главная причина — скорость. В большинстве случаев hdf5 просто быстрее. Подробнее можно почитать, например, в этом исследовании.
🔥33👍73🤔1
Self-attention в Computer Vision

Продолжаем серию постов про attention в CV. Ранее мы рассказывали про поканальный механизм внимания, теперь перейдем к пространственному (здесь мы писали про различные типы). В частности, проведем ликбез по Self-Attention, чтобы в следующей части уже перейти к ViT!🚀

Читайте нашу новую статью, чтобы лучше разобраться в attention в CV
🔥31👍54❤‍🔥1
Visual Transformer (ViT)

Вот и кульминация серии постов про attention🚀 Разобрали первый трансформер для изображений ViT. Это очень полезный материал, который поможет вам разобраться в трансформерах.

Прочитав нашу большую статью, вы узнаете/вспомните:
- из каких частей состоит ViT и что делает каждая из них;
- почему в ViT перепутаны слои энкодера; *интрига*
- что такое Multi-Head Self-Attention;
- зачем нужен [cls]-токен;
- чем отличается BatchNorm от LayerNorm.

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

Читайте и делитесь с коллегами, приятного чтения: https://deepschool-pro.notion.site/ViT-a6854b69af4945a89870cfc497654bf1
🔥46👍7❤‍🔥64
Функции активации

#этобаза!👨‍🦳 Даже в знакомых темах можно узнать что-то новое или закрыть пробел в знаниях. В новой статье напоминаем популярные функции активации: их плюсы и минусы, формулы и графики.

Вспомнили:
- зачем нужны активации;
- сигмоиду;
- гиперболический тангенс;
- ReLU, PReLU, Leaky ReLU;
- Swish.

Переходите по ссылке, чтобы прочесть :)
👍51🔥96🍌4
EfficientNet

Продолжаем ликбез по архитектурам! В новой короткой статье рассказываем про семейство EffNet:
- почему EfficientNet получили такое название;
- из чего состоит и как подбирали B0;
- как масштабировали B0 в B1-B7.

Если не знакомы с архитектурой или путались в методе масштабирования EffNet, то читайте статью, поможем разобраться: https://deepschool-pro.notion.site/EfficientNet-edd3125d0f314a24a77376a17072ca56
🔥32👍133🎉2
Unet

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

Поэтому про Unet важно знать и можно вспоминать 🙂 Мы разобрали архитектуру 2015 года, а также соотнесли ее с современным положением дел. А именно рассказали:
- какая идея кроется за Unet;
- какие решения были до этой архитектуры;
- какие идеи в статье уже не актуальны;
- что можно использовать в качестве upsampling;
- и как можно улучшить результат Unet.

Читайте, чтобы освежить знания и узнать новое: https://deepschool-pro.notion.site/Unet-bf1d734f847e4bfd8d8c795cdfa6bbc6
🔥47👍86
Приходите пообщаться

UPD: Спасибо всем, кто заполнил форму!💙 До конца недели свяжемся с каждым из вас. Собрали достаточное количество ответов, поэтому форму закрыли.


Привет! Меня зовут Тимур, я один из основателей проекта DeepSchool. 2 года назад мы загорелись идеей создать курс повышения квалификации в Computer Vision. Но перед составлением программы решили провести интервью с добровольцами из слака ODS, чтобы понять как принести пользу большему числу людей.

Мы постоянно улучшаем наш курс, и хотим снова сверить наше виденье с сообществом, поэтому предлагаем обмен :) Если вы хотите обсудить вопрос, спросить совет на любую около DL/CV-тему и вам кажется, что разговор с нами вам поможет, приходите пообщаться.

Воспринимайте это как встречу в онлайн-баре с коллегами по цеху🍻 Вопрос может быть любой: "какие курсы изучить" , "на работе однотипные проекты, как развиваться", "как мне, тимлиду, поднять настроение в команде" – что угодно. Мы постараемся вам помочь и подготовимся заранее ко встрече. А взамен позадаем вопросы, которые помогут нам улучшить продукт. На встрече буду я и один человек из нашей команды.

Если вас заинтересовало такое предложение, заполните, пожалуйста, гугл-форму. Не стесняйтесь писать, даже если вопрос кажется вам незначительным. Мы выберем 10 человек с разными проблемами и встретимся в ближайшие 2 недели. Остальным подарим утешительный бонус :) После 30 ответов закроем форму.
🔥27👍2
DeepSchool
Приходите пообщаться UPD: Спасибо всем, кто заполнил форму!💙 До конца недели свяжемся с каждым из вас. Собрали достаточное количество ответов, поэтому форму закрыли. Привет! Меня зовут Тимур, я один из основателей проекта DeepSchool. 2 года назад мы загорелись…
Спасибо всем, кто заполнил форму!💙 До конца недели свяжемся с каждым из вас. Собрали достаточное количество ответов, поэтому форму закрыли.

А теперь продолжаем серию постов про статистику)
7👍1
Сравнение метрик двух моделей

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

На этот вопрос мы и ответим в новой статье. Из нее вы узнаете:
- можно ли в лоб сравнивать усредненные метрики двух моделей,
- какие есть тесты,
- и в каких случаях можно использовать каждый из них.

Чтобы детальнее разобраться в выборе лучшей модели, читайте нашу новую статью:
https://deepschool-pro.notion.site/73fa46f62c7d44fb8685f1ba6f004496
👍42🤔54🔥4
Наши авторы

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

Иногда мы переписываем статьи по 5 раз)) А в конце наш корректор, Лиза, развязывает сложные предложения и убирает лишнее. Все для того, чтобы материал был понятен и там была только польза без лишней воды. Поэтому мы не так часто выкладываем посты: над ними проводится большая работа, в которой участвует до 5 человек.

Нашему каналу летом исполнится 1 год, мы опубликовали более 60 постов и собрали 3000 единомышленников. Но мы никогда не рассказывали, кто работает над каналом, и чьи материалы вы читаете. Поэтому в новой серии постов хотим познакомить вас с нашими героями)
41👍14🔥6
Ксюша Рябинова

С Ксюшей мы познакомились на первом потоке нашего курса в 2021 году. В тот момент она уже была довольно сильным инженером, но все равно хотела углубить свои знания. А вот что Ксюша рассказывает о себе сейчас:

"Я училась в Кубанском государственном университете. В универе полюбила методы оптимизации и параллельное программирование и уже тогда задумалась, что было бы круто заниматься чем-то подобным. В итоге так и вышло)

Мое первое место работы – лаборатория Кубанского университета. Там я писала на cuda и c++, решала CV-задачки и работала с обработкой звука. В лабе я вплотную познакомилась с нейросетями. Застала то время, когда все писали на keras или прямо на tensorflow.

Спустя 2 года работы в лабе, мне захотелось расширить свои знания и сменить профиль с CV на NLP. Тогда я устроилась в Мегафон. Там я решала задачи кластеризации и классификации текстов. После года работы аналитиком, мне стало интересно познакомиться ближе с деплоем моделей, и в этот момент я случайно наткнулась на вакансию в S7 Techlab. Решила просто попробробовать пособеседоваться.
С командой S7 случился полный мэтч. И пока это лучшая команда, с которой я когда-либо работала! Мы занимались и NLP, и CV задачами. К дефолтной для чатбота классификации у нас добавилась генерация, которая в последние годы очень сильно хайпует.

А теперь я в Берлине! 15 февраля вышла на работу в eBay в команду поиска. Буду продолжать работать в NLP и приживаться в Германии)

Помимо работы в последние 5 месяцев увлекаюсь переездом в Берлин)) А вообще до этого я увлекалась комнатными растениями) Еще люблю готовить азиатскую еду и в связи с этим пытаюсь убедить себя, что люблю острое))"

В комментариях вы можете пообщаться с Ксюшей и задать ей вопросы, она будет рада поделиться своим опытом)


В нашем канале Ксюша работала над каждым постом, связанным с attention, вот этот список:
- Что такое attention?
- Прогресс развития механизма внимания в CV
- Типы механизмов внимания
- Channel Attention
- Self-attention в Computer Vision
- Visual Transformer (ViT)

можно заметить, что Ксюша писала каждую статью вместе с Марком Страховым. Почему так случилось, мы расскажем уже в следующих постах серии, когда познакомим вас с Марком)
61👍30🔥8👏4
​​Сегментация без нейросетей

В статье-туториале расскажем как решать задачи семантической и инстанс-сегментации с помощью классических методов компьютерного зрения. Реальный алгоритм реального проекта: сегментация сахарной свеклы на снимках с воздуха🧑‍🌾

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

История одного проекта в нашей новой статье:
https://deepschool-pro.notion.site/1d0506d7612947cb9946ba72843662c2
🔥53👍125
Свой Telegram-бот с нейросетью внутри

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

Галя очень крутая! У нее за спиной много опыта в разработке и ML: она работала в JetBrains и Avast, а теперь руководит ML-командой в стартапе Soveren. Ребята находят и классифицируют sensitive данные пользователей (PII/PCI/PHI) в интернет трафике.
Кстати, сейчас они ищут Senior ML инженера на удаленку, поэтому пишите Гале, если вам интересно :)

Давайте поддержим ее начинание хлопками на медиуме, чтобы Галя и дальше радовала нас полезными статьями👏

Поделитесь в комментариях, если вам удалось создать своего бота по туториалу или расскажите про уже созданных ботов :)
🔥37👏135👍5🤔1🎉1
🎙Онлайн-подкаст с Владом Лялиным

Хотим попробовать новый формат контента в нашем канале! В четверг, 2 марта, в 18:00 МСК проведем прямой эфир.

Коротко о Владе:
- учится на PhD в Бостоне, США (примеры статей Влада: раз, два, три);
- автор канала DL in NLP с 5.7к подписчиками — там Влад делится опытом, освещает новости из мира ML и обозревает статьи;
- преподает NLP в UMass Lowel (в России преподавал NLP, работая в iPavlov);
- стажировался в Apple, Google и Amazon.

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

В конце встречи вы сможете задать Владу свои вопросы из онлайн-зала. Или оставляйте вопросы в гугл-форме – некоторые из них мы зададим во время подкаста.

Встречаемся здесь в четверг, 2 марта, в 18:00 МСК 🔔
🔥33👍103
DeepSchool pinned «🎙Онлайн-подкаст с Владом Лялиным Хотим попробовать новый формат контента в нашем канале! В четверг, 2 марта, в 18:00 МСК проведем прямой эфир. Коротко о Владе: - учится на PhD в Бостоне, США (примеры статей Влада: раз, два, три); - автор канала DL in NLP…»
Live stream scheduled for
Live stream started
Live stream finished (25 seconds)
Live stream started