News for hackers. Stuff that matters.
Re:Who needs MLflow when you have SQLite? by LeanderK on Wednesday November 16, 2022 @12:10PM (#33626621)
I think MLflow is a good idea (very) badly executed. I would like to have a library that combines:

- simple logging of (simple) metrics during and after training

- simple logging of all arguments the model was created with

- simple logging of a textual representation of the model

- simple logging of general architecture details (number of parameters, regularisation hyperparameters, learning rate, number of epochs etc.)

- and of course checkpoints

- simple archiving of the model (and relevant data)

and all that without much (coding) overhead and only using a shared filesystem (!) And with an easy notebook integration. MLflow just has way to many unnecessary features and is unreliable and complicated. When it doesn't work it's so frustrating, it's also quite often super slow. But I always end up creating something like MLflow when working on an architecture for a long time.

EDIT: having written this...I fell like trying to write my own simple library after finishing the paper. A few ideas have already accumulated in my notes that would make my life easier.

EDIT2: I actually remember trying to use SQLite to manage my models! But the server I worked on was locked down and going through the process to get somebody to install me SQLite was just not worth it. It's also was not available on the cluster for big experiments, where it would be even more work to get it, so I gave up on the idea of trying SQLite.

Re:Who needs MLflow when you have SQLite? by pletnes on Wednesday November 16, 2022 @12:33PM (#33627016)
Sqlite is in python’s stdlib, so how can this be an issue? Was there no local filesystem whatsoever?
Re:Who needs MLflow when you have SQLite? by tekknolagi on Wednesday November 16, 2022 @02:27PM (#33629083)
sqlite bindings are in the stdlib but not the library itself.
Re:Who needs MLflow when you have SQLite? by imachine1980_ on Wednesday November 16, 2022 @03:43PM (#33630240)
im asking from ignorance, what the difference in effect this context of not having the library itself?
Re:Who needs MLflow when you have SQLite? by funklute on Wednesday November 16, 2022 @03:58PM (#33630480)
Using the bindings is only possible if the library itself is already installed (since the bindings directly make use of the library, under the hood).
Re:Who needs MLflow when you have SQLite? by simonw on Wednesday November 16, 2022 @08:49PM (#33633881)
I've never encountered a Python installation on any operating system where `import sqlite3` worked but the underlying libraries were not available.

I imagine this is because SQLite is VERY easy to bundle with Python itself. So on some platforms the OS SQLite is used, but on others it gets shipped as part of the Python installation itself.

It even works in WebAssembly via Pyodide!

Re:Who needs MLflow when you have SQLite? by idomi on Wednesday November 16, 2022 @09:38PM (#33634236)
+1 I also think it's faster that way on both environment setup and ad hoc rapid experiments, from my experience using the library in a team doesn't scale well, it becomes pretty slow.
Re:Who needs MLflow when you have SQLite? by edublancas on Wednesday November 16, 2022 @12:47PM (#33627281)
I'm happy to collaborate with you, let's build the best experiment tracker out there! Feel free to ping me at [email protected]
Re:Who needs MLflow when you have SQLite? by Fiahil on Wednesday November 16, 2022 @01:36PM (#33628163)
> I think MLFlow is a good idea (very) badly executed.

Oh yes, I'm glad to see other with similar opinion.

Re:Who needs MLflow when you have SQLite? by smehta73 on Wednesday November 16, 2022 @01:43PM (#33628305)
have you used comet? it basically does everything you are asking and lot more user-friendly than MLFlow
Re:Who needs MLflow when you have SQLite? by nerdponx on Wednesday November 16, 2022 @01:43PM (#33628321)
Isn't Comet a proprietary SaaS? I like MLFlow because I can run it on my own computer if I want to.
Re:Who needs MLflow when you have SQLite? by tomrod on Wednesday November 16, 2022 @03:06PM (#33629736)
Check out flyte and union.ml. No personal affiliation, just good projects in the vein of airflow/prefect/mlflow/kubeflow
Re:Who needs MLflow when you have SQLite? by YetAnotherNick on Wednesday November 16, 2022 @03:20PM (#33629950)
I really like guild.ai. The best thing is that their developers assumed people to be lazy and automatically makes flag for global variables and track them.
Re:Who needs MLflow when you have SQLite? by kumare3 on Thursday November 17, 2022 @12:45AM (#33635432)
@tomrod, thank you for the callout. By the way we are integrating mlflow into Flyte in a way that you do not need to start the web server to view the logs. They are available Locally and statically in Flyte Ui. Ofcourse you cal also use mlflow server
Re:Who needs MLflow when you have SQLite? by tomrod on Thursday November 17, 2022 @09:30AM (#33639341)
I'm having a fanboy moment. This is like tweeting about Mark Hamil or Ryan Reynolds and they tweet back.

Thanks for the great open source libraries yall!

Re:Who needs MLflow when you have SQLite? by shmoejoe on Wednesday November 16, 2022 @08:42PM (#33633827)
Re:Who needs MLflow when you have SQLite? by GeneralMayhem on Wednesday November 16, 2022 @11:49PM (#33635097)
Yep - totally agree. I respect the attempt to introduce something that is basically an opinionated CRUD app as a central place to put your model metadata. But it's not really ready for large-scale production, or for use by teams bigger than about 5.

It's kind of flaky and slow. It doesn't have namespacing. It's overly opinionated on the workflow (the way that states work, with a model version being in exactly one of dev, staging, prod is super hard to work with).

But beyond that, the biggest problem I have with MLFlow is what I call the "part of this complete breakfast" problem, which the ML/data-science arena is particularly susceptible to these days: the marketing talks a lot about what problems can be solved using the product, but not a lot about what parts of the problem the product actually solves. This is often because an honest answer to the latter question would be "not much". In the case of MLFlow, that would be totally fine, because honestly an opinionated CRUD app is a very useful thing. But it should be a lot more honest about what it does. It's not a system for automatically tracking model metrics, it's a database into which you can write model metrics with a known key structure.

Re:Who needs MLflow when you have SQLite? by dataisamazing on Saturday November 19, 2022 @10:11PM (#33677784)
Autologging literally does log your model metrics automatically in most cases.