Show HN: Collaborative notebooks to train, track, deploy, and monitor ML models
iko.ai
iko.ai
iko.ai offers real-time collaborative notebooks to train, track, deploy, and monitor models.
We built it as an internal platform, first, to make our ML consulting easier, not burn out, lower the skills and the number of people required to do projects because we didn't have the choice at some point. Pardon the missing payments and out of date docs.
We looked around and most of the products either wanted to tie you to a cloud provider's API or infrastructure, or made too many unrealistic assumptions on what an "ML pipeline" should be. We wanted extensibility, flexibility, and freedom (APIs, integrations with other systems, etc).
Here are some features we've been sitting on for quite a long time:
- No setup notebook environment: you get a notebook server off of a fresh Docker image instead of troubleshooting your environment and toying with drivers.
- Real-time collaboration on notebooks: you can work together on the same notebook and see each other's cursors moving, editing code, etc.
- You can use an external S3 bucket, public or private, just like a filesystem from your notebook. `cd` into it, `pd.read_csv`, etc. without boto3 or Tensorflow loaders.
- Deploy a Streamlit or Voila dashboard directly from the notebook interface: you don't have to provision a VM, scp your work, add authentication, remember the IP address to send to the client, etc.
- You can use your own existing Kubernetes cluster (Google Kubernetes Engine, GKE, for now). If you have a GKE cluster, you can use it on the platform for your workloads.
- Scheduled long-running notebooks: we hated losing notebooks' output whenever there was a disconnection or the machine shut down/hibernated, or clumsily closed the browser (duh). You can schedule the notebooks and their output survives to all of this and is streamed. You can even watch the output from other devices (like on a phone during commute in the beginning).
- Automatic experiment tracking: there was no standard way to track experiments, and we had to remember to do so. Now everything is tracked automatically without polluting the code, or adding meta tags to the cells. The notebook, parameters, model, and metrics all get saved.
- One click deployment: you can look at runs for the best model's metrics, and click a button to deploy it. It gives you a nice REST API to invoke the model, and a page to interact with it by uploading a CSV or entering JSON.
- You can click on a button and it packages your model into a Docker image and push it to a registry (DockerHub or GitLab) for now, then do what you want with it, such as deploy it elsewhere. This is useful for sensitive and airgapped systems, for example.
- Live monitoring dashboard: each deployed model has a live dashboard to watch its performance (requests, errors, metrics). You can also grade the model when predictions are wrong.
- AppBooks: turn a notebook into a parametrized AppBook automatically. You can then have multiple runs of the notebook with different parameters, without mutating the code.
- Many parts of the system are addressable with API calls: we didn't want users to be tied to the interface. Our design principle is that every part of this should be controllable programmatically, so it could be automated.
Thanks for reading. Invite link: https://iko.ai/invite/DDFblefkF4F-7AwZJUqFQoH8jv2aXQCXJ7jhi7...