Forwarded from ML Advertising
Как поймать прод, если он падает?
Я уже писал о том, как подготовиться к инцидентам на проде, чтобы, если это вдруг произошло, не терять время и разрешить быстро.
Сегодня разберем, что делать, когда инцидент уже просходит, и, например,
- у сервиса отпал регион
- трафик на платформу клиент перестал фильтроваться
- произошел резкий скачек QPS входных запросов, ваш кластер машин не вывозит
- latency резко увеличился и не хочет уменьшаться etc.
1️⃣ Для начала, сразу после того, как вам пришло уведомление, или вас пинганул менеджер, оцените ущерб (или по-модному blast radius). Для таких целей у вас должен быть доступ в аналитическую БД, куда аггрегируются ивенты (по аукционам, пользователям, минутам, регионам), и где вы можете, написав SQL запрос, оценить, на каком регионе, клиентской DSP, сегменте пользователей имеет место инцидент. А еще лучше для таких целей иметь уже готовый дашборд с основными аггрегатами и группами.
2️⃣ После того, как оценили ущерб, определяем состояние сервиса:
- operational: работает, возможно с небольшой долей ошибок
- degraded performance: значительная доля ошибок, ухудшен пользовательский опыт, ухудшено качество ML моделей, но основные сценарии работают или резервные (fallback) модели подхватили трафик
- partial outage: часть функционала отпала, отпал регион, полностью не отправляются запросы на конкретные DSP
- major outage: все полегло
После того, как оценили состояние, эскалируем инцидент своему менеджеру и команде инфры
3️⃣ Локализуйте проблему. Постарайтесь определить, из какого сервиса происходит причина инцидента. Если причина на сервисе, куда вы ранее не контрибьютили, пингуйте соответствующие команды, чтобы они подключились и проверили свои зоны ответственности.
4⃣️️️️️️ Пока ищется причина инцидента сфокусируйтесь на том, чтобы оживить прод (по-модному stop bleeding) - проверьте, какие были крайние коммиты, связанные с ошибками, и откатите их.
Если проблема в новых артефактах, которые кеширует сервис, то зачистите кеш (если у вас есть доступ) и перезалейте рабочие или fallback артефакты.
Если проблема в повышенном использованием CPU/ RAM от выброса трафика, upscal'ите машины на кластере
Детально исследовать, что именно привело к инциденту можно уже после - когда проблема решена.
5️⃣ Если все разрешилось - продолжайте мониторить и составьте postmortem. В нем укажите
- Оцененный ущерб
- Проанализируйте причину, почему так произошло
- Укажите ваши действия, и в какие сроки вы их предприняли
Что делают в это время менеджеры и аналитики?
- помогают связаться со стейкхолдерами (чтобы те были в курсе происходящего и могли со своей стороны что-то сделать - например, включить fallback) или нужными командами разработки
- смотрят на метрики и помогают оценить ущерб и в целом состояние приложения
- помогают эскалировать в нужную команду
Также рекомендую хорошую статью, как поднимают упавший прод на Ozon'е
Я уже писал о том, как подготовиться к инцидентам на проде, чтобы, если это вдруг произошло, не терять время и разрешить быстро.
Сегодня разберем, что делать, когда инцидент уже просходит, и, например,
- у сервиса отпал регион
- трафик на платформу клиент перестал фильтроваться
- произошел резкий скачек QPS входных запросов, ваш кластер машин не вывозит
- latency резко увеличился и не хочет уменьшаться etc.
1️⃣ Для начала, сразу после того, как вам пришло уведомление, или вас пинганул менеджер, оцените ущерб (или по-модному blast radius). Для таких целей у вас должен быть доступ в аналитическую БД, куда аггрегируются ивенты (по аукционам, пользователям, минутам, регионам), и где вы можете, написав SQL запрос, оценить, на каком регионе, клиентской DSP, сегменте пользователей имеет место инцидент. А еще лучше для таких целей иметь уже готовый дашборд с основными аггрегатами и группами.
2️⃣ После того, как оценили ущерб, определяем состояние сервиса:
- operational: работает, возможно с небольшой долей ошибок
- degraded performance: значительная доля ошибок, ухудшен пользовательский опыт, ухудшено качество ML моделей, но основные сценарии работают или резервные (fallback) модели подхватили трафик
- partial outage: часть функционала отпала, отпал регион, полностью не отправляются запросы на конкретные DSP
- major outage: все полегло
После того, как оценили состояние, эскалируем инцидент своему менеджеру и команде инфры
3️⃣ Локализуйте проблему. Постарайтесь определить, из какого сервиса происходит причина инцидента. Если причина на сервисе, куда вы ранее не контрибьютили, пингуйте соответствующие команды, чтобы они подключились и проверили свои зоны ответственности.
4⃣️️️️️️ Пока ищется причина инцидента сфокусируйтесь на том, чтобы оживить прод (по-модному stop bleeding) - проверьте, какие были крайние коммиты, связанные с ошибками, и откатите их.
Если проблема в новых артефактах, которые кеширует сервис, то зачистите кеш (если у вас есть доступ) и перезалейте рабочие или fallback артефакты.
Если проблема в повышенном использованием CPU/ RAM от выброса трафика, upscal'ите машины на кластере
Детально исследовать, что именно привело к инциденту можно уже после - когда проблема решена.
5️⃣ Если все разрешилось - продолжайте мониторить и составьте postmortem. В нем укажите
- Оцененный ущерб
- Проанализируйте причину, почему так произошло
- Укажите ваши действия, и в какие сроки вы их предприняли
Что делают в это время менеджеры и аналитики?
- помогают связаться со стейкхолдерами (чтобы те были в курсе происходящего и могли со своей стороны что-то сделать - например, включить fallback) или нужными командами разработки
- смотрят на метрики и помогают оценить ущерб и в целом состояние приложения
- помогают эскалировать в нужную команду
Также рекомендую хорошую статью, как поднимают упавший прод на Ozon'е
Telegram
ML Advertising
Как подготовиться к инциденту на проде, чтобы разрешить его как батя?
Если в вашей компании есть высоконагруженные сервисы, то наверняка вы уже сталкивались с инцидентами: когда происходят выбросы входного трафика, ошибок 500, зомби инстансами серверов,…
Если в вашей компании есть высоконагруженные сервисы, то наверняка вы уже сталкивались с инцидентами: когда происходят выбросы входного трафика, ошибок 500, зомби инстансами серверов,…
Forwarded from IT analysis • Системный и бизнес анализ
Webhook, Websocket и SSE
Продолжаем тему интеграций, сегодня рассмотрим 3 механизма для передачи данных: Websocket, Webhook и SSE.
Из карточек вы узнаете: принцип работы каждой технологии, плюсы и минусы, а также в каких задачах применяется эти технологии.
Изучайте новое и не забывайте отдыхать. Всем хороших выходных 🏖
Кстати, на 1000 подписчиков будет розыгрыш небольшого подарка (+1 повод пригласить друзей подписаться) 😊
Продолжаем тему интеграций, сегодня рассмотрим 3 механизма для передачи данных: Websocket, Webhook и SSE.
Из карточек вы узнаете: принцип работы каждой технологии, плюсы и минусы, а также в каких задачах применяется эти технологии.
Изучайте новое и не забывайте отдыхать. Всем хороших выходных 🏖
Forwarded from Клуб CDO
Полезная статья, вынесу пожалуй в отдельный пост
https://habr.com/ru/companies/piter/articles/853400/?utm_source=habrahabr&utm_medium=rss&utm_campaign=853400
https://habr.com/ru/companies/piter/articles/853400/?utm_source=habrahabr&utm_medium=rss&utm_campaign=853400
Хабр
Какую архитектуру конвейера данных следует использовать?
Здесь представлен обзор архитектур конвейеров данных, которые вы можете использовать сегодня. Данные важны для любого приложения и нужны для разработки эффективных конвейеров для доставки и управления...
Forwarded from ML Boost Camp
Пока мы готовим новую лекцию, у вас есть уникальная возможность посмотреть разборы соревнований, в которых я(Слава) участвовал. В каждом видео есть кусочек теории, секреты и приемы
1) Егэ по русскому это было мое первое соревнование с которого начался мой путь в светлое будущее. Можете умилиться, как неправильно я произношу Bert. От начала изучения питона и мл до этого соревнования прошло 3 месяца. В рамках него я изучал nlp
2) Прогнозирование короны второе соревнования. Тут я впервые столкнулся с деревьями, бустингами, табличками и понял, что это не мое. Так же погрузился в изучение визуализации и EDA
3) Потом я перешел на kaggle и первое соревнование было по звуку. Тут емко содержится теория по аудио и приемы, которые я использовал. Золото этого соревнования дало мне понять. что бояться ничего не надо(кроме ос)
4) Ну и замыкаем еще двумя соревнованиями, и снова по NLP. Первое - оценка сложности текста. Второе - извлечение сущностей. Каждое дополняет другое и глубже погружает в NLP
Приятного просмотра!
1) Егэ по русскому это было мое первое соревнование с которого начался мой путь в светлое будущее. Можете умилиться, как неправильно я произношу Bert. От начала изучения питона и мл до этого соревнования прошло 3 месяца. В рамках него я изучал nlp
2) Прогнозирование короны второе соревнования. Тут я впервые столкнулся с деревьями, бустингами, табличками и понял, что это не мое. Так же погрузился в изучение визуализации и EDA
3) Потом я перешел на kaggle и первое соревнование было по звуку. Тут емко содержится теория по аудио и приемы, которые я использовал. Золото этого соревнования дало мне понять. что бояться ничего не надо(кроме ос)
4) Ну и замыкаем еще двумя соревнованиями, и снова по NLP. Первое - оценка сложности текста. Второе - извлечение сущностей. Каждое дополняет другое и глубже погружает в NLP
Приятного просмотра!
YouTube
Artificial Intelligence Journey 2019 — Владислав Крамаренко
Владислав Крамаренко рассказывает про соревнование Artificial Intelligence Journey 2019 на платформе Data Souls. Владислав выиграл специальную номинацию «Лучшее решение тестовой части» и занял седьмое место в рейтинге.
Из этого видео вы сможете узнать:…
Из этого видео вы сможете узнать:…
Forwarded from NLP Wanderer
Preference Optimization 28_10_2024.pdf
2 MB
Это слайды с текстом, пока устно ее я рассказывал только внутри команды Vikhr.
Внутри вы узнаете:
- Теория Bradley-Terry и откуда берутся Reward модели
- Что нужно для обучения Reward модели и как его делаем мы
- Откуда взялся DPO и каковы его недостатки
- Какова мотивация нас и других авторов улучшать DPO
- Как устроен наш функционал SMPO - Simple Margin Preference Optimization
- Какие есть способы улучшения DPO на уровне данных и как готовим эти данные мы
Задавайте вопросы в комментариях, если что-то непонятно, будем обсуждать.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Заскуль питона (Data Science)
predict_proba выдает на выходе вероятности отнесения к какому-либо классу. Мы решаем задачу с Propenity Score Matching, нам нужно в первой итерации (как бы сокращая размерность) для каждого объекта выборки определить вероятность отношения к тритменту (то есть определить 1 - пользователь совершил какое-то действие).
1. Сначала мы вычисляем линейную комбинацию векторов признаков и весов (с определенным байесом).
2. Результат подается в функцию активацию, например, классический вариант, это сигмоида (для бинарной классификации) и softmax (для многоклассовой классификации).
3. Определяем вероятности.
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
X, y = make_classification()
lr = LogisticRegression()
lr.fit(X, y)
z = np.dot(X, lr.coef_.reshape(-1, 1)) + lr.intercept_
model_predict = lr.predict_proba(X)[:5, 1]
naive = 1 / (1 + np.exp(-z)).flatten()[:5]
print(model_predict)
print(naive)
Дополнительные материалы:
1. How to Use Logistic Regression predict_proba Method in scikit-learn
2. CatBoost. Predict Proba
3. Predict_proba examples in MLflow - October 2024
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Тимлид Очевидность | Евгений Антонов
Я принес. «У нас нет культуры встреч»
Сегодня я принес вам пост своей знакомой, Вероники Ильиной, про то, как минимальными усилиями создать базовую культуру встреч. https://t.me/ask_catwomenko/132
А еще на похожую тему когда-то делал доклад во Владимире https://t.me/general_it_talks/333
Суть невероятно проста и меня всегда очень расстраивает, когда даже её люди не делают (а это встречается нередко).
⁃ Готовимся ко встрече: составляем свою и читаем чужую агенду.
⁃ Фасилитируем встречу, чтобы всё нужное было обсуждено.
⁃ Делаем резюме встречи с конкретикой кому и чем заняться.
Это не отнимает много времени и энергии, зато сильно увеличивает продуктивность этих встреч. А еще снижает их повторяемость.
Сегодня я принес вам пост своей знакомой, Вероники Ильиной, про то, как минимальными усилиями создать базовую культуру встреч. https://t.me/ask_catwomenko/132
А еще на похожую тему когда-то делал доклад во Владимире https://t.me/general_it_talks/333
Суть невероятно проста и меня всегда очень расстраивает, когда даже её люди не делают (а это встречается нередко).
⁃ Готовимся ко встрече: составляем свою и читаем чужую агенду.
⁃ Фасилитируем встречу, чтобы всё нужное было обсуждено.
⁃ Делаем резюме встречи с конкретикой кому и чем заняться.
Это не отнимает много времени и энергии, зато сильно увеличивает продуктивность этих встреч. А еще снижает их повторяемость.
Telegram
Вероника отвечает
«У нас нет культуры встреч», — жалуются мне и сотрудники компаний, и их руководители
Все ждут, что кто-то напишет чек-лист идеальной встречи, план коммуникаций о нем, сделает магические пассы руками и волшебным образом интегрирует чек-лист каждому в голову.…
Все ждут, что кто-то напишет чек-лист идеальной встречи, план коммуникаций о нем, сделает магические пассы руками и волшебным образом интегрирует чек-лист каждому в голову.…