A blue and yellow python wrapped around C++ logo

Python with a Dash of C++: Optimizing Recommendation Serving

Serving recommendation to 200+ millions of users for thousands of candidates with less than 100ms is hard but doing that in Python is harder. Why not add some compiled spice to it to make it faster? Using Cython you can add C++ components to your Python code. Isn’t all machine learning and statistics libraries already written in C and Cython to make them super fast? Yes. But there’s still some optimizations left on the table....

June 30, 2022 · 5 min · Raghava Dhanya
Golang's Gopher with tentacles

Go faster with Go: Golang for ML Serving

So the ask is to do 3 Million Predictions per second with as little resources as possible. Thankfully its one of the simpler model of Recommendation systems, Multi Armed Bandit(MAB). Multi Armed bandit usually involves sampling from distribution like Beta Distribution. That’s where the most time is spent. If we can concurrently do as many sampling as we can, we’ll use the resources well. Maximizing Resource utilization is the key to reducing overall resources needed for the model....

June 20, 2022 · 6 min · Raghava Dhanya
A BPMN pipeline containing tasks 'fetch data', 'load data & train model', 'approval from owner', 'deploy model' and 'email on failure to fetch data'. All script tasks are python

BPMN Pipeline Platform

One of my major work at Mu Sigma Labs was with BPMN based analytics automation/ pipeline platform. Based on an open source platform Activiti. I was the owner and developed, tested, maintained the platform. It served approximately 3k internal users and ran several critical reporting and data pipelines. Technologies Used Java, Spring Boot as Backend. The platform itself supported scripting in Python, R for automation. Angular for Frontend. BPMN Business Process Model and Notation (BPMN) is a standard for modeling business processes in a graphical notation....

June 20, 2022 · 3 min · Raghava Dhanya