AI.Insaf
1.09K subscribers
122 photos
1 file
33 links
Личный канал Инсафа Ашрапова
Исполнительный директор по исследованию данных в банке (aka Lead DS) — @insafq
Здесь про AI, менеджмент, личные истории и многое другое
加入频道
Сегодня выступил с лекцией на Летней школе МФТИ (альма-матер как-никак) на тему "Мониторинг корпоративных рисков в условиях неопределенности".

Обсудили важность интерпретации моделей, концепцию bias и variance, а также методы blending'a. Но получился своеобразный кармический откат за свои пропуски лекций в универе – большая часть школьников выбрала делать домашку вместо докладов. Надеюсь, что кто таки остался вынес что-то полезное 🫡
🫡8👍7🔥3😎1
Новая карьера – консультант 😉

Недавно со мной связались из Яндекс Практикума. Мы обсудили особенности найма, а также навыки, которые необходимо развивать data scientist’ам для работы с табличными данными (спойлер: ML, Python, SQL). Мне даже удалось дать рекомендации по программе курса. Похоже, что главный пробел курсов заключается в недостаточном фокусе по работе с данными, которая, по сути, является основой для DS.

Отмечу интересную бесплатную возможность для нанимающих менеджеров: через форму можно выбрать и пообщаться с сервисом найма, это если с поиском грустно. https://practicum.yandex.ru/graduate-recruitment/contact-us/ Уверен, что у других курсов тоже есть такая опция
👍8🔥2🤝1
Как я был ментором на конкурсе ai стартапов

На проект я попал, когда основные этапы валидации командой уже были пройдены, и даже были совершены несколько тестовых проверочных продаж (revenue > 0), то есть даже была проведена бизнес-валидация продукта. Проект представлял собой личного ассистента по выбору одежды. Его суть сводилась к поиску одежды по референсам и предложению вариантов сочетаний.

Техническая часть свелась к использованию предобученных моделей (ViT – Visual Transformers, например, CLIP), которые позволяли учитывать как текстовые запросы пользователя, так и референсы в виде картинок для получения итогового эмбеддинга запроса. Такой эмбеддинг можно было использовать для поиска предметов одежды в базе, например, через FAISS. Сейчас можно было бы использовать более мощные модели (например, MiniCPM Llama3 и другие мультимодальные модели), но тогда мы были ограничены технологиями того времени. В любом случае, это классическая задача image retrieval with text feedback, и открытых решений на тот момент было мало – например, в 2022 году Amazon представил FashionVLP, также есть решение CoSMo.pytorch и метод Яндекс Поиска, основанный на хитрых эмбеддингах тут. Есть и статья на Хабре про metric learning.

Сложности начались, когда потребовалась база спарсенных предметов одежды онлайн-магазинов. Отдельный вопрос – как поддерживать ее в актуальном состоянии.

Тем не менее, рабочий прототип с телеграм-ботом ребята смогли собрать.

И что самое удивительное – это была команда школьников со своим продуктом и продактом. Жалко, что они не прошли в финал, где в жюри даже был Артемий Лебедев.
👍9🔥7😁3👾2
Почему классические бустинги часто лучше нейросетей на табличных данных, хотя трансформеры доминируют в текстах и изображениях?
По мотивам обзорных статей c arxiv

⭐️ Deep Neural Networks and Tabular Data: A Survey (2022) авторы выделяет несколько причин, включая даже стагнацию deep learning методов (где прорыв):

Различие в природе данных играет ключевую роль:
- Табличные данные – гомогенные (однородные)
- Тексты и изображения – гетерогенные (разнородные)
Основные причины:
Плохое качество данных и зависимость от препроцессинга. Пропуски, выбросы, несбалансированность выборок, противоречивые или разнородные распределения. Если деревья из коробки неплохо справляются с этим, то для сеток каждую проблему приходится решать вручную, зачастую уникально для каждой задачи. Например, одни только категориальные признаки можно заэнкодить большим количеством способов. Без предобработки (например, квантильного-нормального нормирования) качество сетей сильно снижается, а с ним теряется часть исходной информации что тоже не есть хорошо.
Отсутствие или нелинейная связь признаков, т.е. явная корреляция не ожидается. Для изображений важна локальная связь соседних пикселей (используются свертки), для текста – порядок слов. В табличных данных такой структуры часто нет.
Критичная важность признаков. Для табличек – нормально, когда изменение одного признака полностью меняет результат модели. А для картинок необходимо все-таки изменение большего региона пикселей, например, чтобы собака стала кошкой на фотографии. Это не проблема даже для decision tree. Авторы статьи предполагают, что проблема будут митигированы через хитрые регуляризации.
Время обучения и необходимость GPU. Для задач на табличных данных GPU часто недоступны (они заняты обучением LLM). Даже если они есть, обучение сетей может быть на 2–4 порядка медленнее. Например, в одной задаче бустинг обучался за 1 минуту, а TabR (новая нейросеть от Яндекса) – более 10 часов. Хотя там проблема в неудачном использовании KNN в retrieval-модуле.

⭐️ A Closer Look at Deep Learning on Tabular Data тут авторы пошли во все тяжкие, построив бенчмарк на 300 датасетах. Почти в 200 из 300 деревья выигрывают, особенно Catboost. При этом авторы отмечают что, в небольших датасетах, TabR (сетка от Яндекса, которую упоминал ранее), оказывается сильнее. Общий вывод чем сложнее и специфичнее постановка задачи (например, при переходе из бинарной классификации к мультикласс - привет py-boost), чем больше вероятность что сетки выстрелят

Как общий итог сетки могут быть полезны в условиях скорее супер большего кол-ва данных, особенно если есть неструктурированные данные. Отдельная история когда есть последовательность данных, такие как транзакции пользователей и здесь сетки могут лучше учесть зависимости, https://arxiv.org/pdf/1911.02496 пример. Слышал про тезис что сетки могут помочь в задаче построении признаков, которые для бустингов придется делать самому. Так или иначе бустинги всегда должны быть в бейзлайне
👍8🔥6🤔2
1я статья. Бустинги (первая половина таблицы) сильно лучше сеток, хотя в HIGGS сетка SAINT выигрывают. Но в HIGGS данные получены через генерацию Монте Карло, так что вывод спорный
👍4🔥3🤝1
2я статья
👍5🔥1🤝1
📕 Книга ML System Design от Alex Xu

Отличная обзорная книга о том, как проектировать системы машинного обучения. В русскоязычном сегменте ML популяризировал эту тему Валера Бабушкин через серию роликов. Более того, он позже участвовал в создании курса и книги. Но вернёмся к книге от Alex Xu, тем более он сам ее рекомендует. Книжку я бы советовал, в первую очередь, менеджерам, которым предстоит проектировать что-то новое. Например, вы всегда внедряли бустинги для скоринга, а теперь нужно заняться ранжированием видео в выдаче. Эта книга предлагает чёткий пайплайн, с чего стоит начать. А вот DSм будет скучно, как и мне тоже показалась. Важно: книга не про обучение моделей, а скорее про подход к проектированию систем.


Пайплайн

⭐️ Понять проблему
• Какую задачу нужно решить? Какая итоговая бизнес-цель? (например, увеличение конверсий, увеличение кликов, ранжирование товаров).
• Какие ограничения? (объём данных, доступные ресурсы, производительность).

⭐️ Архитектура
a. Пайплайн ML-модели
• Как будут происходить получение, хранение и обработка данных? Какие этапы ETL необходимы? Выбор баз данных
• Какие признаки планируем использовать в модели?
• Какие целевые метрики будем использовать? (ROC AUC, MAP@K и т.д.).
• Какую модель выбрать? (можно подумать над SOTA-решениями).
• Как организовать деплой? (Batch/Online предсказания, необходимость API, логирование).

b. Масштабируемость
• Горизонтальное vs вертикальное масштабирование. Нужно ли предусмотреть запас для обработки большего объёма данных?
• Как расширять решение при росте нагрузки?
• Надёжность: отказоустойчивость, например, откат на более простую модель, если основная падает или работает слишком медленно.
• Производительность: как соблюдать баланс между точностью и временем предсказаний (latency vs accuracy).

c. Мониторинг
• Как часто переобучать модель?
• Как построить процесс оценки качества модели? (онлайн/офлайн метрики, A/B тестирование).
• Можно изучить отдельно тему MLops (aka DevOps) для более глубокой проработки.

⭐️ Подвести итоги


Пример: Рекомендательная система для интернет-магазина

1. Уточнение задачу: Рекомендация товаров, метрика — CTR.
2. Архитектура: Данные из базы + обработка событий в реальном времени → тренировка модели (SVD + самые популярные товары) → деплой через REST API.
3. Балансировка: offline-тренировка + быстрые онлайн-предсказания.
4. Мониторинг: Latency и CTR в продакшене.
👍91🔥1🤔1🤝1
схема от автора книги
👍63🤔1
📕 Книга Decode and Conquer: Answers to Product Management Questions Или как через CIRCLES и DIGS дойти до ICE MoSCoW

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

⭐️ CIRCLES — для анализа и декомпозиции задачи:
• Comprehend: Понять проблему и ситуацию. Например, если обнаружена ошибка в проде:
- Discovery-подход: Определить, какой бизнес-сегмент просел, какие метрики изменились
- Delivery-подход: Проанализировать последние изменения, релизы и потенциальные баги
• Identify: Кто пользователь и его потребности, кого аффектит история?
• Report the customer’s needs: Определить ключевые пользовательские потребности
• Cut: Расставить приоритеты на основе ограничений и целей. Например, используя методы приоритезации (R)ICE или MoSCoW
• List: Предложить несколько решений проблемы
• Evaluate: Оценить компромиссы и trade-offs между решениями
• Summarize: Итоговые выводы
В целом некоторые шаги объединяемы иначе можно уснуть отвечая на все из них, например Identify и Report.

⭐️ DIGS — для структурированного ответа на кейсы (короче и больше сути):
• Define: Сформулировать задачу и гипотезы
• Identify: Определить основные метрики и ограничения
• Generate: Придумать несколько вариантов решений
• Select: Обосновать выбор наилучшего решения

⭐️ MoSCoW — для приоритизации задач:
• Must-have: Критичные функции, без которых продукт не работает
• Should-have: Важные, но не критические задачи
• Could-have: Желательные улучшения (если есть время)
• Won't-have: То, что пока не войдет в фокус

⭐️ RICE = Reach х Impact х Confidence / Effort для приоритизации задач:
• Reach (Охват): Сколько пользователей затронет задача
• Impact (Влияние): Насколько сильно решение повлияет на пользователей
• Confidence (Уверенность): Насколько уверены вы в данных и оценках? (например, 80% уверенности — высокая, 50% — средняя
• Effort (Затраты): Сколько времени или ресурсов займет реализация задачи (ПШЕ)


🤔 Кажется решать через CIRCLES долго, а вот через DIGS как раз:
Define: Задача: Увеличить конверсию из просмотров в заявки на объявления. Гипотеза: Конверсия низкая из-за сложной формы заявки и недостаточно заметного CTA.
• Identify:
- Метрики. Конверсия из просмотра объявления в заявку (%). Количество незавершенных заявок.
- Ограничения: Временные ресурсы на разработку и дизайн.
Generate: Решения. (1) Улучшить видимость кнопки "Оставить заявку". (2) Упростить форму заявки. (3) Добавить пуш-уведомления о новых предложениях. (4) Показать доверие к объявлениям через метрики (рейтинг продавца).
Select: Выбираем решение с максимальным ROI (RICE): Решение 1 и 2: Легко внедряемые с высоким влиянием на конверсию.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4👌2
В октябре съездил в Кейптаун, ЮАР – поездка всего на неделю, но удалось много чего посмотреть. Только сейчас разобрал фотки с поездки. Трансфер занял всего 24 часа с пересадкой в Эфиопии – зато смена времени на полгода: пока в Москве была осень, там уже весна. Это был тур через @heapcheaptrips_tours, что сняло вопросы организации. Была небольшая группа из 6+ человек.

🌍 Океаны (Индийский и Атлантический), горы, причем непростые, а столовые (с плоской вершиной), – всё это создает интересные пейзажи. В школе читал про мыс доброй надежды, а вот удалось на нем побывать.

🏘 Достаточно безопасно, но ночью мы это не проверяли. При этом все отели обнесены колючей проволокой под напряжением. Напоминание о сложности истории — многокилометровые тауншипы (гетто), оставшиеся со времен апартеида.

🌸 Весна в ЮАР – это время цветения множества растений, большинство из которых растет только там, создается ощущение эдакой другой планеты. Весной еще приплывают киты и пингвины, последние, конечно, бесконечно милые. Пока плыли к китам, проплыли сквозь стаю дельфинов 🐬 — их, наверное, под сотню. Ощущение, как в фильме про дикую природу.

🦁 Настоящее сафари – в Национальном парке Крюгер, но туда нужно ехать в глубь страны до Йоханнесбурга, от которого еще столько же до самого парка. Там настоящая жизнь, но это время + риск малярии. Нам же удалось одним днем съездить в питомник: это не сафари, но уже точно не зоопарк. Посмотреть на львов на расстоянии вытянутой руки с открытой машины, не говоря уже об африканских слонах, буйволах и т. д., – <3
Рекомендую :)
👍10🔥72🥰1
11🔥5👍1🤩1
🔥174🙏2