Tutorial: install, setup, and experiment tracking. With tests in my chatbot program, all self-hosted!
https://peppe8o.com/raspberry-pi-mlflow/ #RaspberryPi #MLflow #python #AI #MLOps #peppe8o @
RE: https://mathstodon.xyz/@xameer/116457872063761075
just trying logistic regression wiht #MLflow
no sophisticated #machinglearning yet
Как я уместил весь MLOps-пайплайн в 10 строк
В последнее время я часто работал с разными ML-проектами в GitLab. В каждом был свой .gitlab-ci.yml , своя обвязка вокруг MLFlow, своя регистрация и валидация модели. Со временем я понял, что MLOps-пайплайн во всех проектах очень похож, а при работе с новыми копипаста размножается быстрее кроликов. Ну и тут уже хочешь не хочешь, но идея сделать общий шаблон напрашивается. Однако будем честны, обычный template для CI — это круто, но хочется чего-то гибкого, декларативного и красивого. Для достижения этих целей GitLab уже давно предлагает переходить на CI/CD компоненты . В результате я хотел видеть 10 строк YAML, которые будут выдавать полноценный пайплайн с валидацией данных, обучением, quality gates и регистрацией модели. И спустя месяц я добился желаемого. В этой статье покажу, как устроен компонент, на какие грабли наступал по пути, и как подключить всё это в ваш проект. Сам компонент.
Как я уместил весь MLOps пайплайн в 10 строк
В последнее время я часто работал с разными ML-проектами в GitLab. В каждом был свой .gitlab-ci.yml , своя обвязка вокруг MLFlow, своя регистрация и валидация модели. Со временем я понял, что MLOps пайплайн во всех проектах очень похож, а при работе с новыми копипаста размножается быстрее кроликов. Ну и тут уже хочешь не хочешь, но идея сделать общий шаблон напрашивается. Однако будем честны, обычный template для CI — это круто, но хочется чего-то гибкого, декларативного и красивого. Для достижения этих целей GitLab уже давно предлагает переходить на CI/CD компоненты . В результате я хотел видеть 10 строк YAML, которые будут выдавать полноценный пайплайн с валидацией данных, обучением, quality gates и регистрацией модели. И спустя месяц я добился желаемого. В этой статье покажу, как устроен компонент, на какие грабли наступал по пути, и как подключить всё это в ваш проект. Сам компонент.
We’re looking for a way to version and catalogue self-trained deep learning models (training data, code revision, etc.) from our Tissue-Concepts family of medical foundation models.
We’ve briefly looked at #W&B, #MLflow (now integrated into GitLab), and intensely tried storing more-or-less-documented model snapshots to disk.
Has anyone had good or bad experiences with these tools in research / medical ML settings? Any recommendations?
And, finally, success. Figuring out access controls took a bit of work too. It was particularly weird to see that I could navigate to the 'create user' section through the browser, but not actually create the user. The solution to that was setting the --cors-allowed-origins flag to be the sites own URL (I'm sure this makes perfect sense to a webdeveloper).
It will take a bit of getting used to that some management will happen through python scripts (such as changing user passwords)
For anyone curious: 'Invalid Host header' means that the '--allowed-hosts' flag has to be set, with the actual web address through which mlflow will be accessed. That works now.
Next step is checking that the python api also works, and then figuring our access control(s).
Given my zero web developing knowledge, I am feeling very technical.
Next hurdle was acually connecting to the machine through the internet. There are two ways which need to work:
- through a browser, so we can inspect our results.
- through the python API, so we can actually log our results.
This morning I figured out how to get the browser thing to work. Or, more precisely, a friendly IT guy told me what my error message meant, so I could figure out what to change in the setup.