MLOps for Finland
In April 2021 DKAI Lab and LiveAI ran a two-day MLOps workshop for a Finnish cohort. No venue, no photographs: eight decks, two live repositories and a wind farm feed.
Nothing in this folder is a photograph. April 2021, and the whole engagement reached Finland down a wire: decks exported to PDF and handed over, notebooks and exercises pulled from a repository, project work parked on LiveAI's Hive platform. One slide sets homework against the student's own Hive project, two methods to add to a model class. The room was a browser tab.
Tarry Singh taught the MLOps sequence under the LiveAI banner, four parts of it surviving here. Part one put numbers around the market and then drew the tooling map: a crowded page of named projects across feature stores, workflow orchestration, model serving and registries, most of them only two or three years old at the time. The argument behind it was plain. A model is not a system. A system has to be reproducible, automatable, extensible and modular, or it never leaves the notebook. Part two took that into testing, and started with the unglamorous kind: write the test, write the code until it passes, refactor. Then it scaled up into data validation, model validation, unit tests across data and model and interface, differential testing, contract tests, and fairness checks sitting next to the performance ones. Quantisation, pruning and distillation arrived as deployment problems rather than research ones. The section closed by telling the cohort to do the complicated work in experiments and push stupidly simple models into production.
Part five split inference into batch and online, then made the cohort argue the trade in concrete terms. A lead scoring model rescored every four hours instead of every twenty-four. Recommendations for a customer who signed up an hour ago and has no nightly batch to sit in. Part six had them build a model registry from nothing: a SQLite table holding name, version, registration date, metrics, remote path and stage, then a class around it to publish a model, increment its version, move it to production and read the production row back out. Concept drift closed the section, by way of Tsymbal's 2004 review of the problem.
Day two brought two more instructors and moved from slides towards a keyboard. Suhas Dattatreya took DevOps and system design, opening on the oldest excuse in software, that it works fine on his machine, and ending with a chat platform pushed from a vague customer requirement into gateways, session and chat tables, and Lambda layers. Aninda Bhattacharjee, engineering lead at deepkapha.ai, took Docker and container discipline, the NGC deep learning stack, a FastAPI plus React plus ONNX combination he called FARO, and DeepSpeed as the answer for a team trying to train a T5-3B model without the GPUs to do it.
The practical exercise survives in two Git archives, which is the closest thing to a record of the room. Design something that ingests data from a known source every thirty minutes, first the quick way, then the way you would actually run it. The quick way is a GitHub Actions cron on a half-hour schedule, a small Python script pulling the Crown Estate's offshore wind farm feed, and an auto-commit action writing the JSON straight back to the branch. The other is an AWS Lambda behind the Serverless Framework in eu-west-1, deployed by a second Actions workflow with the credentials held as repository secrets. Both archives still carry the same capture, pulled at 10:24 UTC on 27 April 2021, the day before the sessions opened.
58 pages, Tarry Singh. Where the tooling stood in 2021, and what an ML system needs past the model: reproducible, automatable, extensible, modular. Exported 3 May 2021.
33 pages. Runtime environments, quantisation, pruning and distillation, then a testing paradigm laid across the data pipeline, the ML pipeline and the interface.
41 pages. ML interfaces, object-oriented model wrappers, and batch inference set against online inference.
30 pages. Building a registry upward from a SQLite table, with versioning, stage promotion and a closing section on concept drift.
23 pages, Suhas Dattatreya of LiveAI. Monolithic to modern infrastructure, tool selection, GitHub Actions, Serverless, and a chat platform taken from requirement to architecture.
17 pages, Aninda Bhattacharjee, engineering lead at deepkapha.ai. Docker, the NGC deep learning stack, the FARO stack, and DeepSpeed on constrained GPUs.
deepkapha-energy-logger and energy-logger-api. A half-hourly GitHub Actions cron and an AWS Lambda under the Serverless Framework, both pulling the same wind farm feed, both carrying a capture from 27 April 2021.
NumPy, pandas, Matplotlib, PCA, MLP, Keras, CNN and RNN exercises with instructor solutions, carried over unchanged from the March 2020 Finland workshop.