TGINSIGHT CHAT
DeepSchool
@deep_school
ОбразованиеЭто канал школы deepschool.ru. Здесь мы будем: - напоминать вам теорию ML/DL в виде коротких постов, - задавать вопросы с собеседований, - рассказывать про полезные фреймворки - и делиться советами, которые помогут вам в работе. @deepschool_support
Последние посты
Стр. 39 из 45 · 530 постов
Опубликован 20 февр.
Ксюша Рябинова С Ксюшей мы познакомились на первом потоке нашего курса в 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 в ComputerVision - Visual Transformer (ViT) можно заметить, что Ксюша писала каждую статью вместе с Марком Страховым. Почему так случилось, мы расскажем уже в следующих постах серии, когда познакомим вас с Марком)
Опубликован 20 февр.
Наши авторы Вы могли заметить, что мы указываем авторов и редакторов в наших статьях. Авторы генерируют материал, а редакторы проводят ревью. И каждый из нас – практикующий инженер. Вместе мы стараемся написать не просто сухую статью, а вложить в нее свой опыт, чтобы вы понимали как теория соотносится с реальной работой. Иногда мы переписываем статьи по 5 раз)) А в конце наш корректор, Лиза, развязывает сложные предложения и убирает лишнее. Все для того, чтобы материал был понятен и там была только польза без лишней воды. Поэтому мы не так часто выкладываем посты: над ними проводится большая работа, в которой участвует до 5 человек. Нашему каналу летом исполнится 1 год, мы опубликовали более 60 постов и собрали 3000 единомышленников. Но мы никогда не рассказывали, кто работает над каналом, и чьи материалы вы читаете. Поэтому в новой серии постов хотим познакомить вас с нашими героями)
Опубликован 15 февр.
Сравнение метрик двух моделей Представьте, что вы обучили две модели и хотите выбрать из них лучшую. На кросс-валидации значения метрик довольно близки друг к другу. Но если усреднить метрику по фолдам, то первая модель лучше — можно ли доверять такому тесту и отдать предпочтение первой модели? На этот вопрос мы и ответим в новой статье. Из нее вы узнаете: - можно ли в лоб сравнивать усредненные метрики двух моделей, - какие есть тесты, - и в каких случаях можно использовать каждый из них. Чтобы детальнее разобраться в выборе лучшей модели, читайте нашу новую статью: https://deepschool-pro.notion.site/73fa46f62c7d44fb8685f1ba6f004496
Опубликован 15 февр.
Приходите пообщаться UPD: Спасибо всем, кто заполнил форму!💙 До конца недели свяжемся с каждым из вас. Собрали достаточное количество ответов, поэтому форму закрыли. Привет! Меня зовут Тимур, я один из основателей проекта DeepSchool. 2 года назад мы загорелись…
Опубликован 12 февр.
Приходите пообщаться UPD: Спасибо всем, кто заполнил форму!💙 До конца недели свяжемся с каждым из вас. Собрали достаточное количество ответов, поэтому форму закрыли. Привет! Меня зовут Тимур, я один из основателей проекта DeepSchool. 2 года назад мы загорелись идеей создать курс повышения квалификации в Computer Vision. Но перед составлением программы решили провести интервью с добровольцами из слака ODS, чтобы понять как принести пользу большему числу людей. Мы постоянно улучшаем наш курс, и хотим снова сверить наше виденье с сообществом, поэтому предлагаем обмен :) Если вы хотите обсудить вопрос, спросить совет на любую около DL/CV-тему и вам кажется, что разговор с нами вам поможет, приходите пообщаться. Воспринимайте это как встречу в онлайн-баре с коллегами по цеху🍻 Вопрос может быть любой: "какие курсы изучить", "на работе однотипные проекты, как развиваться", "как мне, тимлиду, поднять настроение в команде" – что угодно. Мы постараемся вам помочь и подготовимся заранее ко встрече. А взамен позадаем вопросы, которые помогут нам улучшить продукт. На встрече буду я и один человек из нашей команды. Если вас заинтересовало такое предложение, заполните, пожалуйста, гугл-форму. Не стесняйтесь писать, даже если вопрос кажется вам незначительным. Мы выберем 10 человек с разными проблемами и встретимся в ближайшие 2 недели. Остальным подарим утешительный бонус :) После 30 ответов закроем форму.
Опубликован 10 февр.
Unet Кажется, первое слово, которое ассоциируется с сегментацией у большинства инженеров и ресерчеров – Unet. Возможно, у кого-то уже сложилась похожая ассоциация и с диффузионными моделями. Ведь в них также используются U-образные архитектуры. Поэтому про Unet важно знать и можно вспоминать 🙂 Мы разобрали архитектуру 2015 года, а также соотнесли ее с современным положением дел. А именно рассказали: - какая идея кроется за Unet; - какие решения были до этой архитектуры; - какие идеи в статье уже не актуальны; - что можно использовать в качестве upsampling; - и как можно улучшить результат Unet. Читайте, чтобы освежить знания и узнать новое: https://deepschool-pro.notion.site/Unet-bf1d734f847e4bfd8d8c795cdfa6bbc6
Опубликован 8 февр.
EfficientNet Продолжаем ликбез по архитектурам! В новой короткой статье рассказываем про семейство EffNet: - почему EfficientNet получили такое название; - из чего состоит и как подбирали B0; - как масштабировали B0 в B1-B7. Если не знакомы с архитектурой или путались в методе масштабирования EffNet, то читайте статью, поможем разобраться: https://deepschool-pro.notion.site/EfficientNet-edd3125d0f314a24a77376a17072ca56
Функции активации #этобаза!👨🦳 Даже в знакомых темах можно узнать что-то новое или закрыть пробел в знаниях. В новой статье напоминаем популярные функции активации: их плюсы и минусы, формулы и графики. Вспомнили: - зачем нужны активации; - сигмоиду; - гиперболический тангенс; - ReLU, PReLU, Leaky ReLU; - Swish. Переходите по ссылке, чтобы прочесть :)
Hashtags
Опубликован 30 янв.
Visual Transformer (ViT) Вот и кульминация серии постов про attention🚀 Разобрали первый трансформер для изображений ViT. Это очень полезный материал, который поможет вам разобраться в трансформерах. Прочитав нашу большую статью, вы узнаете/вспомните: - из каких частей состоит ViT и что делает каждая из них; - почему в ViT перепутаны слои энкодера; *интрига* - что такое Multi-Head Self-Attention; - зачем нужен [cls]-токен; - чем отличается BatchNorm от LayerNorm. Также каждую часть трансформера мы реализовали в коде, который вы можете повторить, чтобы глубже разобраться в архитектуре. Читайте и делитесь с коллегами, приятного чтения: https://deepschool-pro.notion.site/ViT-a6854b69af4945a89870cfc497654bf1
Опубликован 23 янв.
Self-attention в Computer Vision Продолжаем серию постов про attention в CV. Ранее мы рассказывали про поканальный механизм внимания, теперь перейдем к пространственному (здесь мы писали про различные типы). В частности, проведем ликбез по Self-Attention, чтобы в следующей части уже перейти к ViT!🚀 Читайте нашу новую статью, чтобы лучше разобраться в attention в CV
Опубликован 17 янв.
Чем заменить 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 просто быстрее. Подробнее можно почитать, например, в этом исследовании.
Опубликован 14 янв.
Дешево считаем в облаке, если нет GPU Когда у студентов нашего курса возникают проблемы с их машинами, мы выдаем кредиты на аренду GPU в сервисе vast.ai. Чтобы было проще познакомиться с сервисом и настроить удаленную работу, мы написали туториал. В нем мы рассказали как выбрать машину, настроить удаленное подключение и работать в VSCode так, будто GPU стоит на вашем компьютере. Если вы тоже можете платить криптой или зарубежной картой и ищете дешевую машину для краткосрочных проектов, то наш туториал будет полезен и вам. Читайте и сохраняйте на будущее: https://telegra.ph/Deshevo-schitaem-v-oblake-esli-net-GPU-vastai--VSCode-01-14😉