3 comments

[ 3.2 ms ] story [ 22.3 ms ] thread
I've been working with machine learning in production for more than a decade. The biggest challenges I see are actually organizational rather than algorithmic when it comes to delivering value. Most of that comes down to the additional time and complexity ML adds to projects that are on an "agile" cadence. Models that do make it into production are at high risk of being permanently short circuited for simpler logic whenever a maintenance issue comes up and the original contributor, ever in high demand, has moved on to a new project, team or company.

I'm a huge believer in the value of ML, but it seems hard right now to realize the vision. This is one idea I had to make ML simpler. How can we make things better?

I'm a big fan of Postgres and this is really a nice project, one question how does this compare to Apache Madlib.

Also is it safe to run untrusted extensions in Postgres which is serving transactions in production.

Shameless Plug: I have been building a similar Open-Source standalone tool that can provide AI/ML REST APIs, but would like to use embedded Postgres tackle big data/model problems. https://github.com/rebataur/dskube

The strategy is similar to Madlib. I tried to deploy Madlib a year or so ago, and it didn't have the features I wanted and development seemed somewhat slow/stalled with vmware deprecating support for pymadlib. I got a wild hair last week, and wanted to see how hard it would be to build something comparable, except leveraging the work of the python ML ecosystem instead of reimplementing algos from scratch, and I think we've been able to cover a significant amount of ground quickly.

Untrusted extensions are not necessarily unsafe, but the main difference is you need to be a database superuser to install them (and hopefully vet them). This is really a problem for most hosted database services like AWS RDS, Azure etc, but not for people who are running their own Postgres instances. In the future I think we'll need a solution that can spin up a replica with superuser permissions to install the extension on, which would also have safety and scalability advantages compared to installing it on the primary.

It looks like we have some similar thinking along how easy it should be to use ML in orgs, vs the current reality. I'd love to hear more about dsKube and what you're learning on with that approach.