#hypex
Сегодня расскажу немного о своей работе. Настоящей работе в Сбере. Можно было бы даже сказать, что это реклама 😂
Короче. Сбер помимо зарабатывания денег занимается опенсурсом. Причём весь этот опенсурс по лицензии Apache-2. То есть можно использовать как угодно, и ничего тебе за это не будет.
Над одним из них работаю и я, а именно HypEx. Недавно это добро появилось на Github (https://github.com/sb-ai-lab/HypEx). Меня там пока в контребьютерах не видно, но обещают исправить, ибо я там пишу целый модуль (естественно не один).
Так вот, либа предлагает простой интерфейс для проведения A/B тестов, как рандомизированных, так и посредством мэтчинга. Сейчас команда делает основной упор именно на мэтчинг, да и началось всё с него, но я работаю больше над рандомизированными тестами.
В общем, если вам может быть такое интересно, предлагаю ознакомиться и накидать звёздочек 🤩
Буду время от времени рассказывать о релизах свежих.
Сегодня расскажу немного о своей работе. Настоящей работе в Сбере. Можно было бы даже сказать, что это реклама 😂
Короче. Сбер помимо зарабатывания денег занимается опенсурсом. Причём весь этот опенсурс по лицензии Apache-2. То есть можно использовать как угодно, и ничего тебе за это не будет.
Над одним из них работаю и я, а именно HypEx. Недавно это добро появилось на Github (https://github.com/sb-ai-lab/HypEx). Меня там пока в контребьютерах не видно, но обещают исправить, ибо я там пишу целый модуль (естественно не один).
Так вот, либа предлагает простой интерфейс для проведения A/B тестов, как рандомизированных, так и посредством мэтчинга. Сейчас команда делает основной упор именно на мэтчинг, да и началось всё с него, но я работаю больше над рандомизированными тестами.
В общем, если вам может быть такое интересно, предлагаю ознакомиться и накидать звёздочек 🤩
Буду время от времени рассказывать о релизах свежих.
GitHub
GitHub - sb-ai-lab/HypEx: Fast and customizable framework for automatic and quick Causal Inference in Python
Fast and customizable framework for automatic and quick Causal Inference in Python - sb-ai-lab/HypEx
🤩2
#todo
Намутил минимально юзабельный интерфейс. Кажется, что просто, но на деле очень много подводных камней. Правда пока это только пустой интерфейс без бэкэнда.
Намутил минимально юзабельный интерфейс. Кажется, что просто, но на деле очень много подводных камней. Правда пока это только пустой интерфейс без бэкэнда.
🤔1
#activity
Может показаться, что я пропал, но креститься не стоит. В последнее время я много занимаюсь HypEx (да и не в рабочее время) и мучу стикосы в телегу.
Может показаться, что я пропал, но креститься не стоит. В последнее время я много занимаюсь HypEx (да и не в рабочее время) и мучу стикосы в телегу.
🫡3
#activity
Понял, что проекты идут слишком хаотично, и я постоянно меняю контекст и мало что довожу до финала. Поэтому попробую протестировать следующие решения:
1. Я разработал инструмент приоритезации. Раньше это всегда были очень сложные штуки, детерменирующие контекст для оптимального управления. Сейчас инструмент очень простой без модели описания контекста, а сам контекст задаётся эвентами с субъективной оценкой. Кажется, что этого достаточно.
2. Планирую формализовать цикл разработки проекта, чтобы подход был более упорядоченным и при этом качественным. Как сделаю, расскажу о нём.
3. Создать приоритезированную очередь разработки. О ней напишу ниже.
Приоритезированная очередь разработки:
1. Выбирается наиболее приоритетный проект на основании решения 1.
2. Формулируются требования к этой разработке. Если проект новый, то MVP, если нет, то к новой версии.
3. Когда требования закрыты, версия публикуется.
4. Перерыв после проделанной работы.
Все свежие идеи и обстоятельства фиксируются и оцениваются в решении 1, чтобы быть учтенными при запуске нового цикла очереди в приоритезации.
Кажется, что эти меры могут создать более дисципленированную среду и явные результаты.
Понял, что проекты идут слишком хаотично, и я постоянно меняю контекст и мало что довожу до финала. Поэтому попробую протестировать следующие решения:
1. Я разработал инструмент приоритезации. Раньше это всегда были очень сложные штуки, детерменирующие контекст для оптимального управления. Сейчас инструмент очень простой без модели описания контекста, а сам контекст задаётся эвентами с субъективной оценкой. Кажется, что этого достаточно.
2. Планирую формализовать цикл разработки проекта, чтобы подход был более упорядоченным и при этом качественным. Как сделаю, расскажу о нём.
3. Создать приоритезированную очередь разработки. О ней напишу ниже.
Приоритезированная очередь разработки:
1. Выбирается наиболее приоритетный проект на основании решения 1.
2. Формулируются требования к этой разработке. Если проект новый, то MVP, если нет, то к новой версии.
3. Когда требования закрыты, версия публикуется.
4. Перерыв после проделанной работы.
Все свежие идеи и обстоятельства фиксируются и оцениваются в решении 1, чтобы быть учтенными при запуске нового цикла очереди в приоритезации.
Кажется, что эти меры могут создать более дисципленированную среду и явные результаты.
#activity
Цикл разработки проекта
Состоит из 4 блоков:
1. Планирование
2. Исследование
3. Разработка
4. Публикация.
Планирование. На этом блоке формируются требования к версии и план её разработки.
Исследование. Здесь изучаются источники информации, из которых черпаются знания и оформляются в какой-то артефакт. Например, тесты существующих решений или просто статья с кратким изложением теории.
Разработка. Здесь происходит вся магия.
Публикация. Работа не будет иметь смысл, если о ней не рассказать и её результатами никто не сможет воспользоваться. Здесь готовятся материалы для публикации.
В результате прохождения полного цикла должен получиться качественный масштабируемый артефакт.
Цикл разработки проекта
Состоит из 4 блоков:
1. Планирование
2. Исследование
3. Разработка
4. Публикация.
Планирование. На этом блоке формируются требования к версии и план её разработки.
Исследование. Здесь изучаются источники информации, из которых черпаются знания и оформляются в какой-то артефакт. Например, тесты существующих решений или просто статья с кратким изложением теории.
Разработка. Здесь происходит вся магия.
Публикация. Работа не будет иметь смысл, если о ней не рассказать и её результатами никто не сможет воспользоваться. Здесь готовятся материалы для публикации.
В результате прохождения полного цикла должен получиться качественный масштабируемый артефакт.
#hypex
Статья про опенсусь, который я делаю в Сбере) Скоро собираюсь на этот проект фуллтайм перейти.
https://habr.com/p/778774/
Статья про опенсусь, который я делаю в Сбере) Скоро собираюсь на этот проект фуллтайм перейти.
https://habr.com/p/778774/
Habr
HypEx и мэтчинг. Эксперимент без A/B-тестирования?
Привет, Хабр! Меня зовут Дмитрий Тихомиров, я работаю в блоке «Финансы» в команде разработки HypEx (Hypotheses and Experiments) — open source-библиотеки для Python. Наша команда хотела придумать ёмкое...
🔥3
image_2023-12-11_22-44-22.png
72.6 KB
#activity
Небольшой отчет об активности. На самомделе бОльшая часть работы на неделе была в планировании грядущих проектов, поэтому тут активность только в рамках #hypex. Но скоро поделюсь плодами планирования.
Небольшой отчет об активности. На самомделе бОльшая часть работы на неделе была в планировании грядущих проектов, поэтому тут активность только в рамках #hypex. Но скоро поделюсь плодами планирования.
🔥1
#activity
Как и обещал, делюсь результатами планирования.
На первое место по скору вышла идея нового проекта. Подробнее об идее расскажу позднее. Как появится время, займусь продумыванием архитектуры проекта.
Как и обещал, делюсь результатами планирования.
На первое место по скору вышла идея нового проекта. Подробнее об идее расскажу позднее. Как появится время, займусь продумыванием архитектуры проекта.
#plot_adapter
Новый проект над которым начинаю работу. Пока рабочее название "Plot Adapter".
В чём идея:
🎮 универсальный интерфейс к разным бэкэндам построения графиков (пока это plotly и matplotlib).
🪛 возможность легко вносить изменения в графики
🗂 изменение группы графиков
Во вложении ориентировочная схема пайплайна.
Новый проект над которым начинаю работу. Пока рабочее название "Plot Adapter".
В чём идея:
🎮 универсальный интерфейс к разным бэкэндам построения графиков (пока это plotly и matplotlib).
🪛 возможность легко вносить изменения в графики
🗂 изменение группы графиков
Во вложении ориентировочная схема пайплайна.
#activity
В ближайших планах доделать таки стикосы в ТГ и работать над MVP Plot Adapter.
1. Готовить картиночки к публикации довольно скучная и монотонная работа, которую, к тому же, надо делать на стационарном компе (большой экран и высокоточная мышь для работы с мелкими деталями изображения). Тут просто надо подготовить к публикации 20+ изображений и опубликовать их.
2. Потихоньку продумываю архитектуру. Главный бенчмарк MVP: один и тот же код, генерирующий идентичные графики в matplotlib и plotly.
Детализация:
2.1. Прототип архитектуры.
2.2. В качестве тестового датасета проведу небольшой анализ курсов 5 валют (€, £, ¥, $, ₽) и 4 металлов (Ag, Au, Pt, Pd).
2.3. Реализация архитектуры под обычный plot с линией. Тут важно получить просто идентичную линию в разных бэках.
В ближайших планах доделать таки стикосы в ТГ и работать над MVP Plot Adapter.
1. Готовить картиночки к публикации довольно скучная и монотонная работа, которую, к тому же, надо делать на стационарном компе (большой экран и высокоточная мышь для работы с мелкими деталями изображения). Тут просто надо подготовить к публикации 20+ изображений и опубликовать их.
2. Потихоньку продумываю архитектуру. Главный бенчмарк MVP: один и тот же код, генерирующий идентичные графики в matplotlib и plotly.
Детализация:
2.1. Прототип архитектуры.
2.2. В качестве тестового датасета проведу небольшой анализ курсов 5 валют (€, £, ¥, $, ₽) и 4 металлов (Ag, Au, Pt, Pd).
2.3. Реализация архитектуры под обычный plot с линией. Тут важно получить просто идентичную линию в разных бэках.
Возникла идея делиться короткими фактами, которые удаётся обнаружить в ходе ресерча (и не очень ресерча) в рубрике с отдельным тэгом. Что скажете?
Anonymous Poll
83%
Разбавить лог фактами
17%
Концентрированный лог
Dmatryusофрения pinned «#activity В ближайших планах доделать таки стикосы в ТГ и работать над MVP Plot Adapter. 1. Готовить картиночки к публикации довольно скучная и монотонная работа, которую, к тому же, надо делать на стационарном компе (большой экран и высокоточная мышь…»
Dmatryusофрения
#activity В ближайших планах доделать таки стикосы в ТГ и работать над MVP Plot Adapter. 1. Готовить картиночки к публикации довольно скучная и монотонная работа, которую, к тому же, надо делать на стационарном компе (большой экран и высокоточная мышь…
#activity
Чуть изменил подход. И ввёл в проектах разбиение на пространства и наверное введу изменения в скоринг с учётом этих пространств.
Поэтому задача со стикерами положена в бэклог, размечена и оценена.
Чуть изменил подход. И ввёл в проектах разбиение на пространства и наверное введу изменения в скоринг с учётом этих пространств.
Поэтому задача со стикерами положена в бэклог, размечена и оценена.
Dmatryusофрения
#activity Чуть изменил подход. И ввёл в проектах разбиение на пространства и наверное введу изменения в скоринг с учётом этих пространств. Поэтому задача со стикерами положена в бэклог, размечена и оценена.
#activity
Ввёл изменения в скоринг. Теперь задачи приоритезируются ещё и по пространству к которому они принадлежат. Это значительно меняет приоритетность проектов и позволяет одновременно менять его по группе проектов. В общем, пока такое изменение видится позитивным.
Несмотря на то, что текущий проект (Plot Adapter) отъехал с новой приоритезацией значительно вниз, в рамках артефактной парадигмы работа будет продолжаться до достижения MVP. Пока формируется первичная архитектура.
Ввёл изменения в скоринг. Теперь задачи приоритезируются ещё и по пространству к которому они принадлежат. Это значительно меняет приоритетность проектов и позволяет одновременно менять его по группе проектов. В общем, пока такое изменение видится позитивным.
Несмотря на то, что текущий проект (Plot Adapter) отъехал с новой приоритезацией значительно вниз, в рамках артефактной парадигмы работа будет продолжаться до достижения MVP. Пока формируется первичная архитектура.