#shap #explainability #ml
Шок-контент, либа SHAP, оказывается, не поддерживается уже несколько лет. Может, автор умер, или просто забил, не знаю. А я-то думаю, чего она такая медленная, ужасный код, а тут ещё вчера выяснилось, что ошибки, всплывавшие ещё пару лет тому, до сих пор не исправлены, и issues висят открытые. Так что лучше полагайтесь на другие реализации, если найдёте. Вроде в Rapids/CuML что-то есть.
Шок-контент, либа SHAP, оказывается, не поддерживается уже несколько лет. Может, автор умер, или просто забил, не знаю. А я-то думаю, чего она такая медленная, ужасный код, а тут ещё вчера выяснилось, что ошибки, всплывавшие ещё пару лет тому, до сих пор не исправлены, и issues висят открытые. Так что лучше полагайтесь на другие реализации, если найдёте. Вроде в Rapids/CuML что-то есть.
👍3😢1😨1
Вы моделируете для клуба угловые в футболе. Разбили пространство у ворот на несколько зон, крутите стату. Из зон A и Б с углового атаковали по 1000 раз, забили 3.7% и 5.8%.
Anonymous Poll
0%
Я посоветую тренеру все угловые направлять в зону А, объясню почему в комментах
33%
Я посоветую тренеру все угловые направлять в зону Б, т.к. оттуда выше процент реализации
67%
Мне пока неясно, куда лучше напрвлять угловые, объясню почему в комментах
Forwarded from New Yorko Times (Yury Kashnitsky)
Командный пет-проект – шикарный опыт
#career #petproject
Зная, что конверсия из поста про MLOps-курс https://news.1rj.ru/str/new_yorko_times/96 в упомянутую там статью на Хабре – около 1%, опишу выводы из той же статьи чуть подробнее. Будет полезно всем, кто хочет командой попилить проект, будь то любой пет (как с chatGPT так и без) или командный проект в рамках скоро стартующего курса по MLOps.
- Поработать в команде над интересным проектом – очень крутой опыт, он и сам по себе полезен, и “продавать” его тоже можно на собеседованиях. Это может сравниться с командной зарубой в Kaggle соревновании – тут можно многому научиться, как работе с GitHub, так и навыкам планирования
- Очень важно иметь дедлайн, скажем, конец соревнования на Kaggle или окончание курса. Иначе мотивация бодро фигачить начинает падать
- Оптимальный размер команды – от 3 до 5 человек. Недаром и на Kaggle к этому пришли. Сверх этого – уже есть риск нанять балласт вместо паравоза
- Хорошо бы довести пет-проект до красивой демки, на которую можно и в резюме сослаться и в любой ситуации хоть в лифте показать. Вот наша http://cryptobarometer.org - барометр, показывающий тональность новостей о крипте
- Немного “галеры” привнести в душевный пет-проект не помешает: если обозначить цели (можно в формате OKR) и настроить базовые Scrum-ритуалы, будет более четкое понимание, кто что делает и куда команда движется. Но надо аккуратно, все же пет-проджект – это больше про веселье и полет фантазии
- Здорово в начале сотрудничества побрейнстормить: собраться и накидать идей, обсудить и приоретизировать (сервисы типа https://easyretro.io хорошо для этого подходят)
- Очень помогает делать мини-демки внутри команды. Даже если встречаться всего на час в неделю, имеет смысл начать с 20-минутной демки кого-то из участников (например, продемонстрировать продвижения с фронтендом или сервисом LabelStudio), а потом уже обычный стендап с обсуждением текущих задач.
- Мне помогло разделение активности на треки – инженерный и исследовательский. Первый – про API, докеры и куберы, второй – про прикладной рисеч а-ля active learning, помогают ли аугментации данных и т.д. В целом как Delivery vs. Discovery в корпорациях
- Также помогло четко расписать роли в команде, у нас это был один ML-инженер, два Data Scientist-a/аналитика/ML-исследователя, один Data Engineer и тимлид
- Неочевидным, но, как кажется, верным решением было подождать, пока кто-то один (тимлид, конечно) накидает прототип решения, с мок-версиями всех компонентов (например, базовый круалер и tf-idf вместо берта) и прописанным в коде взаимодействием компонентов. Имея такой прототип, можно было уже намного эффективнее распараллелить задачи по совершенствованию каждого компонента (иначе – затыки а-ля краулер готов, а база еще нет, active learning вроде готов, но неоткуда разметку брать и т.д.).
#career #petproject
Зная, что конверсия из поста про MLOps-курс https://news.1rj.ru/str/new_yorko_times/96 в упомянутую там статью на Хабре – около 1%, опишу выводы из той же статьи чуть подробнее. Будет полезно всем, кто хочет командой попилить проект, будь то любой пет (как с chatGPT так и без) или командный проект в рамках скоро стартующего курса по MLOps.
- Поработать в команде над интересным проектом – очень крутой опыт, он и сам по себе полезен, и “продавать” его тоже можно на собеседованиях. Это может сравниться с командной зарубой в Kaggle соревновании – тут можно многому научиться, как работе с GitHub, так и навыкам планирования
- Очень важно иметь дедлайн, скажем, конец соревнования на Kaggle или окончание курса. Иначе мотивация бодро фигачить начинает падать
- Оптимальный размер команды – от 3 до 5 человек. Недаром и на Kaggle к этому пришли. Сверх этого – уже есть риск нанять балласт вместо паравоза
- Хорошо бы довести пет-проект до красивой демки, на которую можно и в резюме сослаться и в любой ситуации хоть в лифте показать. Вот наша http://cryptobarometer.org - барометр, показывающий тональность новостей о крипте
- Немного “галеры” привнести в душевный пет-проект не помешает: если обозначить цели (можно в формате OKR) и настроить базовые Scrum-ритуалы, будет более четкое понимание, кто что делает и куда команда движется. Но надо аккуратно, все же пет-проджект – это больше про веселье и полет фантазии
- Здорово в начале сотрудничества побрейнстормить: собраться и накидать идей, обсудить и приоретизировать (сервисы типа https://easyretro.io хорошо для этого подходят)
- Очень помогает делать мини-демки внутри команды. Даже если встречаться всего на час в неделю, имеет смысл начать с 20-минутной демки кого-то из участников (например, продемонстрировать продвижения с фронтендом или сервисом LabelStudio), а потом уже обычный стендап с обсуждением текущих задач.
- Мне помогло разделение активности на треки – инженерный и исследовательский. Первый – про API, докеры и куберы, второй – про прикладной рисеч а-ля active learning, помогают ли аугментации данных и т.д. В целом как Delivery vs. Discovery в корпорациях
- Также помогло четко расписать роли в команде, у нас это был один ML-инженер, два Data Scientist-a/аналитика/ML-исследователя, один Data Engineer и тимлид
- Неочевидным, но, как кажется, верным решением было подождать, пока кто-то один (тимлид, конечно) накидает прототип решения, с мок-версиями всех компонентов (например, базовый круалер и tf-idf вместо берта) и прописанным в коде взаимодействием компонентов. Имея такой прототип, можно было уже намного эффективнее распараллелить задачи по совершенствованию каждого компонента (иначе – затыки а-ля краулер готов, а база еще нет, active learning вроде готов, но неоткуда разметку брать и т.д.).
Forwarded from Техножрица 👩💻👩🏫👩🔧
Решила поностальгировать над первым учебным пособием по нейросетям, которое я читала. Книжка вышла в 2007 году, а я ходила на спецкурс, который вели по ней то ли в 2014, то ли в 2015 году. В то время это был единственный курс по нейросетям на мехмате (to the best of my knowledge), и читал его сам автор книжки - пожилой уже профессор Голубев. К сожалению, я не нашла полной версии данного учебного материала в интернете, но вот сокращенная версия, которая дает почувствовать стиль изложения: https://www.mathnet.ru/links/0d06f1ed4abeaf72dccbe0fcd18cec74/fpm915.pdf .
Легко видеть, что такое изложение воспринимается намного труднее, чем современные учебные материалы по тем же темам. Также оно содержит много причудливых названий, которые не используются сейчас. И хотя сам профессор был доброжелательным, отвечал на все вопросы и старался, чтобы спецкурс был интересным, воспринимать его все равно было немного трудновато - даже на последнем курсе мехмата.
Тем не менее, именно оттуда я узнала про основы нейросетевых методов - как устроена полносвязная сеть, что такое градиентный спуск, обратное распространение ошибки...
Хорошо, что сейчас все то же самое научились излагать намного доступнее, понаделали хороших фреймворков (в те времена я знала только три варианта: Theano, Sklearn или "сделай сама" - например, в матлаб; Tensorflow, если и существовал, то в совершенно неиграбельном состоянии, а PyTorch ещё и не пахло), и теперь не только старшекурсники мехмата, но и люди с намного меньшим математическим бэкграундом (даже некоторые старшеклассники!) могут заниматься данной областью.
Ну а книжка, конечно, хоть к настоящему моменту и устарела (начинающим, конечно, я уже порекомендую начинать с более современных материалов), но я её все равно с любовью украсила наклейками и храню как память.
#учебные_материалы #учеба_на_мехмате
Легко видеть, что такое изложение воспринимается намного труднее, чем современные учебные материалы по тем же темам. Также оно содержит много причудливых названий, которые не используются сейчас. И хотя сам профессор был доброжелательным, отвечал на все вопросы и старался, чтобы спецкурс был интересным, воспринимать его все равно было немного трудновато - даже на последнем курсе мехмата.
Тем не менее, именно оттуда я узнала про основы нейросетевых методов - как устроена полносвязная сеть, что такое градиентный спуск, обратное распространение ошибки...
Хорошо, что сейчас все то же самое научились излагать намного доступнее, понаделали хороших фреймворков (в те времена я знала только три варианта: Theano, Sklearn или "сделай сама" - например, в матлаб; Tensorflow, если и существовал, то в совершенно неиграбельном состоянии, а PyTorch ещё и не пахло), и теперь не только старшекурсники мехмата, но и люди с намного меньшим математическим бэкграундом (даже некоторые старшеклассники!) могут заниматься данной областью.
Ну а книжка, конечно, хоть к настоящему моменту и устарела (начинающим, конечно, я уже порекомендую начинать с более современных материалов), но я её все равно с любовью украсила наклейками и храню как память.
#учебные_материалы #учеба_на_мехмате
#postgres #rdbms
Выбирают постгре-совместимую СУБД для распределённого хранения данных (на многих серверах), частично они состоят из временных рядов (неизменяемые, append-only) без первичного ключа (типа показаний сенсоров) , частично из записей с меткой времени, но всё же подверженных нечастому изменению, уже с первичным ключом. часть с json, часть нормализованная. Таблицы большие. Рассматриваю TimescaleDB vs Citus. Если есть опыт использования, отпишите впечатления в комменты, плиз.
Выбирают постгре-совместимую СУБД для распределённого хранения данных (на многих серверах), частично они состоят из временных рядов (неизменяемые, append-only) без первичного ключа (типа показаний сенсоров) , частично из записей с меткой времени, но всё же подверженных нечастому изменению, уже с первичным ключом. часть с json, часть нормализованная. Таблицы большие. Рассматриваю TimescaleDB vs Citus. Если есть опыт использования, отпишите впечатления в комменты, плиз.
#ottertune #rdbms #tuning
Внезапно, есть сервис, который тюнит с помощь МЛ настройки ваших СУБД (postgres,mysql). Оказывается, 40% облачных инстансов overprovisioned. Достигнутые метрики точности, как обычно, никогда не уточняются. На Хабре давно видел статью от Postgres Pro о динамическом ML-планировщике, так и не знаю, пошел ли он в прод.
https://www.youtube.com/watch?v=J_3NHB5bQgM&ab_channel=MicrosoftDeveloper
Внезапно, есть сервис, который тюнит с помощь МЛ настройки ваших СУБД (postgres,mysql). Оказывается, 40% облачных инстансов overprovisioned. Достигнутые метрики точности, как обычно, никогда не уточняются. На Хабре давно видел статью от Postgres Pro о динамическом ML-планировщике, так и не знаю, пошел ли он в прод.
https://www.youtube.com/watch?v=J_3NHB5bQgM&ab_channel=MicrosoftDeveloper
YouTube
Why Postgres Is Better Than MySQL for Automated Knob Tuning | Citus Con: An Event for Postgres 2022
Video of a talk by Dana Van Aken at Citus Con: An Event for Postgres. Abstract: Database management systems (DBMS) expose dozens of configurable knobs that control runtime behavior. Setting these knobs correctly for an application's workload can improve the…
#ottertune
Системные параметры ОС тоже тюнятся. ML-метрики достигнутые нигде не упомянуты, что заставляет задуматься, а есть ли там вообще МЛ, или это просто оптимизация брутфорс перебором. Работает только с AWS, стоит $110/mo/instance
https://www.youtube.com/watch?v=SFoYQqGfxhE&t=4s&ab_channel=PostgresConference
Системные параметры ОС тоже тюнятся. ML-метрики достигнутые нигде не упомянуты, что заставляет задуматься, а есть ли там вообще МЛ, или это просто оптимизация брутфорс перебором. Работает только с AWS, стоит $110/mo/instance
https://www.youtube.com/watch?v=SFoYQqGfxhE&t=4s&ab_channel=PostgresConference
YouTube
OtterTune: An Automatic Database Configuration Tuning Service
Database management systems (DBMS) expose dozens of configurable knobs that control their runtime behavior. Setting these knobs correctly for an application's workload can improve the performance and efficiency of the DBMS. But such tuning requires considerable…
Forwarded from Записки Ппилифа (Ppilif [GMT+1])
Абсолютно проклятая штука.
Чуваки упаковывают единичные квадраты для разных n в самые маленькие возможные квадраты. Эти картинки — ад для перфекциониста.
https://erich-friedman.github.io/packing/squinsqu/
Чуваки упаковывают единичные квадраты для разных n в самые маленькие возможные квадраты. Эти картинки — ад для перфекциониста.
https://erich-friedman.github.io/packing/squinsqu/
❤🔥2
Forwarded from DLStories
Google Research представили очередную text-to-image модель Muse, которая (как обычно) бьет SOTA в задаче генерации картинок по метрикам FID и CIP. Но кроме качественной генерации у модели есть интересная особенность — она не использует диффузию.
Устройство Muse — на второй картинке к посту. Вот что там происходит:
1. Текст прогоняется через предобученную большую языковую модель (конкретно в этой работе это T5-XXL), на выходе получается эмбеддинг текста. Тут ничего нового: все недавние text-to-image получают эмбеддинги текста таким способом.
2. На картинках датасета обучается VGGAN. Это автоэнкодер, у которого дискретное латентное пространство. То есть, латентное представление картинки — это набор дискретных токенов. В Muse латентное представление имеет размер 16х16, т.е. одна картинка — это 16х16 дискретных векторов.
3. Далее берется Transformer и обучается под следующую задачу:
- берем картинку, прогоняем через энкодер VQGAN’а, получаем 16х16 латентных токенов;
- случайным образом заменяем несколько из этих латентных токенов на специальный токен [MASK].
- Подаем эти токены вместе с positional encoding, а также эмбеддинг текста из T5 в качестве кондишена на вход Transformer. Задача Transformer — используя информацию из текста восстановить замаскированные токены. Т.е. на выходе Transformer должен выдать латентное представление VQGAN’а для входящей картинки размера 16х16.
4. На этапе инференса мы получаем эмбеддинг входящего текста из T5. Его подаем в обученный Transformer из 3 пункта вместе с латентным вектором размера 16х16, состоящим полностью из токенов [MASK]. Далее в течение нескольких шагов Transformer генерирует токены VQGAN’а вместо всех токенов [MASK]. После того, как все токены [MASK] заменены на токены VQGAN’а, эти токены подаются в декодер VQGAN’а, который выдает итоговую картинку.
Muse использует два набора VQGAN+Transformer: один для первичной генерации low-res картинок размера 256х256, второй для генерации high-res картинок размера 512х512. VQGAN+Transformer для low-res картинок работают ровно так, как описано выше. В случае генерации high-res картинок есть одно отличие: Transformer учится восстанавливать замаскированные токены основываясь не только на эмбеддингах текста, но и на токенах VQGAN’а меньшего разрешения. (на картинке это показано пунктирной стрелкой).
Авторы Muse утверждают, что генерация картинки в две стадии (low-res -> high-res) повышает качество итоговых изображений.
Вот такое устройство модели позволяет ей генерировать качественные картинки, обгоняя по FID и CLIP метрикам другие популярные модели типа Imagen, Parti, GLIDE, DALL-E 2. При этом Muse работает еще и намного быстрее (сравнение скоростей — на 3 картинке к посту).
Стоит еще сказать, что идея устройства Muse позволяет легко делать text-based image editing и image inpainting. Делается так: берем картинку, которую хотим изменить, получаем с помощью VGGAN латентные токены. Заменяем на [MASK] те из них, которые относятся к части картинки, которую хотим изменить, и затем позволяем модели восстановить картинку на основе нового текста.
Ссылки:
Страница проекта
Статья. Там — больше деталей устройства и обучения модели.
Инфу о Muse нашла в канале Мишин Лернинг
Устройство Muse — на второй картинке к посту. Вот что там происходит:
1. Текст прогоняется через предобученную большую языковую модель (конкретно в этой работе это T5-XXL), на выходе получается эмбеддинг текста. Тут ничего нового: все недавние text-to-image получают эмбеддинги текста таким способом.
2. На картинках датасета обучается VGGAN. Это автоэнкодер, у которого дискретное латентное пространство. То есть, латентное представление картинки — это набор дискретных токенов. В Muse латентное представление имеет размер 16х16, т.е. одна картинка — это 16х16 дискретных векторов.
3. Далее берется Transformer и обучается под следующую задачу:
- берем картинку, прогоняем через энкодер VQGAN’а, получаем 16х16 латентных токенов;
- случайным образом заменяем несколько из этих латентных токенов на специальный токен [MASK].
- Подаем эти токены вместе с positional encoding, а также эмбеддинг текста из T5 в качестве кондишена на вход Transformer. Задача Transformer — используя информацию из текста восстановить замаскированные токены. Т.е. на выходе Transformer должен выдать латентное представление VQGAN’а для входящей картинки размера 16х16.
4. На этапе инференса мы получаем эмбеддинг входящего текста из T5. Его подаем в обученный Transformer из 3 пункта вместе с латентным вектором размера 16х16, состоящим полностью из токенов [MASK]. Далее в течение нескольких шагов Transformer генерирует токены VQGAN’а вместо всех токенов [MASK]. После того, как все токены [MASK] заменены на токены VQGAN’а, эти токены подаются в декодер VQGAN’а, который выдает итоговую картинку.
Muse использует два набора VQGAN+Transformer: один для первичной генерации low-res картинок размера 256х256, второй для генерации high-res картинок размера 512х512. VQGAN+Transformer для low-res картинок работают ровно так, как описано выше. В случае генерации high-res картинок есть одно отличие: Transformer учится восстанавливать замаскированные токены основываясь не только на эмбеддингах текста, но и на токенах VQGAN’а меньшего разрешения. (на картинке это показано пунктирной стрелкой).
Авторы Muse утверждают, что генерация картинки в две стадии (low-res -> high-res) повышает качество итоговых изображений.
Вот такое устройство модели позволяет ей генерировать качественные картинки, обгоняя по FID и CLIP метрикам другие популярные модели типа Imagen, Parti, GLIDE, DALL-E 2. При этом Muse работает еще и намного быстрее (сравнение скоростей — на 3 картинке к посту).
Стоит еще сказать, что идея устройства Muse позволяет легко делать text-based image editing и image inpainting. Делается так: берем картинку, которую хотим изменить, получаем с помощью VGGAN латентные токены. Заменяем на [MASK] те из них, которые относятся к части картинки, которую хотим изменить, и затем позволяем модели восстановить картинку на основе нового текста.
Ссылки:
Страница проекта
Статья. Там — больше деталей устройства и обучения модели.
Инфу о Muse нашла в канале Мишин Лернинг
❤🔥2
#scalping #trading #futures
Посмотрел вебинар от Алора по скальпингу на срочном рынке. Очень вдохновляет. Оказывается, скальперы - это такие люди, которые сидят над мониторами и клавами, открывают позицию на 5-60 секунд и быстро фиксируют прибыль или убыток. И некоторые ещё умудряются при этом зарабатывать!
Если вдруг кто захочет поработать со мной в этом направлении, пишите.
https://alorstudy.ru/pl/teach/control/lesson/view?id=275259867&editMode=0
Посмотрел вебинар от Алора по скальпингу на срочном рынке. Очень вдохновляет. Оказывается, скальперы - это такие люди, которые сидят над мониторами и клавами, открывают позицию на 5-60 секунд и быстро фиксируют прибыль или убыток. И некоторые ещё умудряются при этом зарабатывать!
Если вдруг кто захочет поработать со мной в этом направлении, пишите.
https://alorstudy.ru/pl/teach/control/lesson/view?id=275259867&editMode=0
Forwarded from Kali Novskaya (Tatiana Shavrina)
Присылайте затравки, завтра продолжим! Мы уже выяснили:
🔹 что считает модель все еще плохо
🔹со стихами на русском тоже беда
🔹явно проскальзывают знания после 2021 года
🔹 есть знания в очень разных форматах + реально крутое написание кода
🔹 что считает модель все еще плохо
🔹со стихами на русском тоже беда
🔹явно проскальзывают знания после 2021 года
🔹 есть знания в очень разных форматах + реально крутое написание кода
🤡1
#gpt4
"По заявлению OpenAI, модель GPT-4 сдала смоделированный адвокатский экзамен лучше 90 % людей, экзамен SAT Reading test (нужно ответить на вопросы по небольшим текстам) — лучше, чем 93 % людей, а экзамен SAT по математике — лучше, чем 89 % людей."
https://3dnews.ru/1083402/zapushchena-bolshaya-yazikovaya-iimodel-gpt4
"По заявлению OpenAI, модель GPT-4 сдала смоделированный адвокатский экзамен лучше 90 % людей, экзамен SAT Reading test (нужно ответить на вопросы по небольшим текстам) — лучше, чем 93 % людей, а экзамен SAT по математике — лучше, чем 89 % людей."
https://3dnews.ru/1083402/zapushchena-bolshaya-yazikovaya-iimodel-gpt4
😢1