Недавно гугл опубликовал best practices для работы с jupyter notebook https://cloud.google.com/blog/products/ai-machine-learning/best-practices-that-can-improve-the-life-of-any-developer-using-jupyter-notebooks - наиболее популярным инструментом для проведения DS экспериментов. От части это реклама сервиса https://cloud.google.com/ai-platform-notebooks/, но в целом текст полезный и в основном советы выглядят логичным и мы у себя на проекте организовали похожим образом, что тоже приятно.
Из статьи узнал о https://github.com/jupyter/nbdime - решает проблему, как в git выглядит сравнение jupyter ноутбуков, дополнительно https://github.com/jupyterlab/jupyterlab-git позволяет упростить сравнение ноутбуков. Жаль для visual studio code нет нормального плагина для nbdime.
В статье говорится про параметризацию ноутбуков и запуск и для этого можно использовать https://papermill.readthedocs.io/en/latest/ , ещё есть статья от netflix как они ведут работу с ноутбуками https://medium.com/netflix-techblog/scheduling-notebooks-348e6c14cfd6
Почему-то раздел *Log all experiments* очень абстрактный, там явно нужно добавить ссылку на https://mlflow.org/ - аналогов много, но лично мне mlflow нравится своей простотой.
Если вы только начинаете организовывать работы ML команды, то без сомнения следует уделить время на автоматизацию и воспроизводимость экспериментов, иначе вас ждёт notebook hell. Хорошо организованная работа с экспериментами позволит сосредоточить усилия команды над задачей, а воспроизводимость результатов поможет избежать ошибок.
#jupyter #best #practice #process
Из статьи узнал о https://github.com/jupyter/nbdime - решает проблему, как в git выглядит сравнение jupyter ноутбуков, дополнительно https://github.com/jupyterlab/jupyterlab-git позволяет упростить сравнение ноутбуков. Жаль для visual studio code нет нормального плагина для nbdime.
В статье говорится про параметризацию ноутбуков и запуск и для этого можно использовать https://papermill.readthedocs.io/en/latest/ , ещё есть статья от netflix как они ведут работу с ноутбуками https://medium.com/netflix-techblog/scheduling-notebooks-348e6c14cfd6
Почему-то раздел *Log all experiments* очень абстрактный, там явно нужно добавить ссылку на https://mlflow.org/ - аналогов много, но лично мне mlflow нравится своей простотой.
Если вы только начинаете организовывать работы ML команды, то без сомнения следует уделить время на автоматизацию и воспроизводимость экспериментов, иначе вас ждёт notebook hell. Хорошо организованная работа с экспериментами позволит сосредоточить усилия команды над задачей, а воспроизводимость результатов поможет избежать ошибок.
#jupyter #best #practice #process
Google Cloud Blog
Jupyter Notebook Manifesto: Best practices that can improve the life of any developer using Jupyter notebooks | Google Cloud Blog
Our best practices for Jupyter Notebook at Google can help you transfer your notebooks from experimental to production-ready.
Конспект: Схемы бизнес процессов для нетерпеливых
Важно знать:
Бизнес процесс — это обычная блок-схема алгоритма, только описываете не работу код и взаимодействие сервисов, а людей и взаимодействие между отделами.
Например самый простой алгоритм для приёма заказы пиццы:
— Задайте границы, укажите начало (A) и конец процесса (B), потом обозначьте основные задачи, чтобы пройти из A в B
— Когда каркас готов (обычно последовательный набор действий) добавьте возможные разветвления, разные случаи if-else
— Разделяйте разные отделы, показывайте взаимодействие между ними
— Добавьте артефакты если это нужно. Это может быть результат действия или что-то необходимое для выполнения (презентация, контракт, заявка и т.д.)
— Отметьте базы данных (crm, таблицы) и инструменты, которые вы используете — фокусируйтесь на потоке работ
— Помните про метрики, всегда нужно собирать различные показатели, обозначьте прямо на диаграмме метрики, на каком этапе и что вы измеряете (число звонков, число принятых заказов и т.д.)
— Свяжите с другими бизнес процессами (когда завершился процесс оформления заказа, начинается процесс приготовления или процесс доставки)
Инструменты:
— Самая популярная нотация, BPMN 2.0 (Business Process Management Notation), такие диаграммы легко читаются и понятны, даже если вы ничего не знаете о BPMN.
Ссылка в комментариях
#business #process
Важно знать:
Бизнес процесс — это обычная блок-схема алгоритма, только описываете не работу код и взаимодействие сервисов, а людей и взаимодействие между отделами.
Например самый простой алгоритм для приёма заказы пиццы:
[звонок]-[принять заказ]-[получить адрес доставки]-[передать заказ на кухню]-[заказ оформлен]
Советы:— Задайте границы, укажите начало (A) и конец процесса (B), потом обозначьте основные задачи, чтобы пройти из A в B
— Когда каркас готов (обычно последовательный набор действий) добавьте возможные разветвления, разные случаи if-else
— Разделяйте разные отделы, показывайте взаимодействие между ними
— Добавьте артефакты если это нужно. Это может быть результат действия или что-то необходимое для выполнения (презентация, контракт, заявка и т.д.)
— Отметьте базы данных (crm, таблицы) и инструменты, которые вы используете — фокусируйтесь на потоке работ
— Помните про метрики, всегда нужно собирать различные показатели, обозначьте прямо на диаграмме метрики, на каком этапе и что вы измеряете (число звонков, число принятых заказов и т.д.)
— Свяжите с другими бизнес процессами (когда завершился процесс оформления заказа, начинается процесс приготовления или процесс доставки)
Инструменты:
— Самая популярная нотация, BPMN 2.0 (Business Process Management Notation), такие диаграммы легко читаются и понятны, даже если вы ничего не знаете о BPMN.
Ссылка в комментариях
#business #process