Abusing Your CI/CD: Running Abstract Machine Learning Frameworks Inside Github Actions (Global 2020)

Discover how to leverage CI/CD with GitHub Actions to deploy machine learning models, automate training and experimentation, and optimize resources with customizable workflows and self-hosted runners.

Key takeaways
  • CI/CD (continuous integration and continuous delivery) is used for automating and testing code changes before deploying to production.
  • Running machine learning models inside CI/CD can be done using custom actions.
  • GitHub Actions can be used to run machine learning models, such as linear regression.
  • A YAML file is used to define the workflow and triggers for the action.
  • The workflow can be customized to suit specific needs, such as using different environments or platforms.
  • Machine learning models can be trained and deployed using CI/CD, allowing for continuous experimentation and improvement.
  • GitHub Actions can be used to deploy to different platforms, such as Azure.
  • The speaker demonstrates how to use GitHub Actions to train and deploy a linear regression model using the Core ML framework.
  • The action is triggered by changes to the repo and uses the Core ML framework to build and deploy the model.
  • The speaker notes that this is just a simple example and that more complex models and workflows can be built using GitHub Actions.
  • The speaker encourages the audience to try out the example and explore the possibilities of using machine learning in CI/CD.
  • Machines can be used to optimize and run machine learning models, freeing up human resources for other tasks.
  • Best practices for CI/CD include using a combination of technological tooling and cultural change.
  • CI/CD provides a sort of “super-IST (Integration, Security, Testing)” which can be used to automate machine learning models.
  • Serverless functions are not suitable for complex machine learning models, but CI/CD can be used to automate and deploy machine learning models.
  • Self-hosted runners can be used to attach specific hardware devices, such as a Jetson nano, to the workflow.
  • Continuous monitoring and feedback are important for improving machine learning models and the CI/CD process.