3

DIN Recsys

A Deep Interest Network CTR recommender served across four languages — trained in PyTorch, exported to ONNX, served from Go, and explored through a React console.

An end-to-end click-through-rate recommender on the Taobao display-ad dataset, built to demonstrate a full ML serving path across languages.

PyTorch (train) ──► ONNX (export) ──► Go (serve) ──► React (explore)

The interesting engineering is the seam: rather than serve the model from Python, the trained graph is exported to ONNX and run from Go via onnxruntime. Go owns feature assembly — vocabulary lookup, OOV fallback, behavior-sequence padding — and runs the forward pass. A single feature-encoding contract is consumed identically by the Python trainer and the Go server, which is what prevents train/serve skew.

Why DIN

The dataset's signal lives in user behavior sequences. DIN's target-attention pooling weights each historical item by its relevance to the candidate ad, so a user's "interest" is computed per candidate rather than as a flat average.