rhythmvertigo
Joined 6 years ago
Joined 6 years ago
GitHub & GitLab have both made it quite easy to use your own resources as runners. I recently met someone who was doing Actions with a Jetson Nano on their dresser :)
One of our motivations for building visual reports that appear like comments in a pull request is giving teams metrics & info to discuss when deciding if merge is right. That way, the automated part is training and testing, but the decision making is human (i.e., data scientists whose skills are better used interpreting models & data than running repetitive training scripts).
1. Yes! Let me link some reports and example repos:
- A basic classification problem with scikit learn: https://github.com/iterative/cml_base_case/pull/2
- CML with DVC & Vega-Lite graphs: https://github.com/iterative/cml_dvc_case/pull/4
- Neural style transfer with EC2 GPU: https://github.com/iterative/cml_cloud_case/pull/2
2. If training fails, you'll be notified that your run failed in the GitHub Action dashboard (or GitLab CI/CD dashboard). See here for some real life examples of failure ;) : https://github.com/iterative/cml_cloud_case/actions
3. CML reports are markdown documents, so you can write any kind of text to them. If your metrics are output in a file `metrics.txt`, you can have your runner execute `cat metrics.txt >> report.md` and then have CML pass on the report to GitHub/GitLab. Likewise, any graphing library is supported because you can add standard image files (.png, .jpg) to the report. So custom metrics and custom graphs. We like DVC for managing and plotting metrics, but we're biased because we also maintain it.
4. Yep, GitHub Actions is pretty powerful and flexible. Works with whatever external services you can connect to your Action!
5. It's not strictly a Docker technology. We use Docker images preinstalled with the CML library in our examples, but you can just install the library with npm in your own image. https://github.com/iterative/cml#using-your-own-docker-image
Let me know if there's anything else I can tell you about
CML automatically generates human-readable reports with metrics and data viz in every pull/merge request, and helps you use storage and GPU/CPU resources from cloud services. CML addresses three hurdles for making ML compatible with CI:
1. In ML, pass/fail tests aren’t enough. Understanding model performance might require data visualizations and detailed metric reports. CML automatically generates custom reports after every CI run with visual elements like tables and graphs. You can even get a Tensorboard.dev link as part of your report.
2. Dataset changes need to trigger feedback just like source code. CML works with DVC so dataset changes trigger automatic training and testing.
3.Hardware for ML is an ecosystem in itself. We’ve developed use cases with CML and Docker Machine to automatically provision and deploy cloud compute instances (CPU & GPU) for model training.
Our philosophy is that ML projects- and MLOps practices- should be built on top of traditional software tools and CI systems, and not as a separate platform. Our goal is to extend DevOps’ wins from software development to ML. Check out our project site (https://cml.dev) and repo, and please let us know what you think!
We are the company behind very popular open-source tools for ML workflow- DVC.org and CML.dev. We are solving the complexity of managing datasets, ML infrastructure, ML models lifecycle management. We are Hashicorp for ML.
We’re seeking a Technical Community Manager to help us sustain and grow our active, worldwide community!
Requirements:
experience in data science or open source software
AND
passion for building a community of developers, data scientists and engineers
Listing: https://weworkremotely.com/listings/iterative-technical-comm...