CAST AI logo
CAST AI

Senior Applied ML Engineer | Kimchi (Model Router)

RemoteFull-timeSeniorEuropeDevelopment
Share

Why Kimchi?

Great models are raw ingredients. Kimchi is what happens when you ferment them with good engineering. It started inside CAST AI helping companies run LLMs on their own Kubernetes clusters; today it runs its own coding harness on any model you pick, and the router deciding which model answers each request is built in-house too.

The Auto Router

The promise is one enforcement layer for your AI: budgets, spend attribution, and model routing, applied before a request ever hits a model. The Auto Router decides, for every request, which model serves it. It works with eight open-source models whose input prices span more than 20×, cached input up to 50× cheaper than fresh, frontier providers on customers' own keys, and a coding agent that fires hundreds of requests before its task is done. Frontier-level task success at a fraction of the token cost is the product, and it stays true only if the model inside the router keeps getting better. That model is yours.

About the role

Every request gets a decision: which model serves it. This is an applied-ML seat, not an infrastructure one. Platform engineers own the proxy, the streaming path, and the fleet. You own the model inside them: the training data, the objective, the evaluation, and the iteration loop that ships a better router every cycle.

Routing is a prediction problem wearing a product's clothes. For every request you predict the quality each candidate model would deliver, what it would cost, and how fast it would decode, and you have to be right enough, in aggregate, that the savings are real and the quality never dips below frontier.

The data is messy: rollout outcomes from benchmark harnesses, per-request records from the live fleet, override signals, and token streams whose speed depends on the serving concurrency at the moment. Speed itself is a correctness variable: on deadline-bound agentic work, a model that decodes three times slower doesn't do the same work slower, it does less work. That's why naive cost-per-token objectives quietly optimize for the wrong thing. A router change ships only after production-parity evaluation with error bars, then gets held to its numbers in live traffic.

Stack: Python; PyTorch; SQL at scale (ClickHouse); OpenAI- and Anthropic-compatible LLM APIs; benchmark and rollout harnesses (RouterBench-class); GitLab CI.

Responsibilities

  • Own the routing model end to end: features, objective, training, calibration, and release cadence. Iterate it like a product, not a research artifact.
  • Build the evaluation that gates every change: production-parity benchmarks, router-vs-router comparisons, holdouts by task family, error bars on pass rates. Nothing ships on vibes.
  • Turn fleet data into training signal: per-request outcomes from production, benchmark rollouts, and override feedback, with failure categorization (infra vs task) so poisoned labels never reach the policy.
  • Model the objective the user actually experiences: task success × token cost × wall-clock speed under the real concurrency regime, with cached-input economics in the picture.
  • Run the online loop: shadow, A/B, full rollout, drift monitoring, retrain. When production disagrees with your offline eval, find out why before the next ship.
  • Push the frontier where it pays: calibrated decisions, abstention under uncertainty, speed-aware routing.
  • Partner with platform engineers on instrumentation: the features and labels recorded per request (decode speed first-class among them) and the experiments the data path must support.

Requirements

  • 5+ years in applied ML or ML research; you've trained, evaluated, and shipped models that make real-time decisions (ranking, recommendation, bandits, pricing, or LLM routing) and can tell that story with receipts.
  • Strong Python and SQL at scale: you can pull, clean, and interrogate millions of request-level records without waiting on anyone.
  • You know the difference between a model that got better and an eval that got easier.
  • Real opinions about what LLM benchmarks measure, agentic harnesses included.
  • Enough serving knowledge (TTFT, decode speed, batching, prefix caching, concurrency) to model the objective honestly.
  • You instrument before you optimize, error bars and all.
  • A wide mandate excites you more than it unsettles you.

Nice to haves

  • Experience with LLM routing specifically: RouterBench-class evals, cost/quality/latency Pareto fronts.
  • Calibration, abstention, or conformal methods in production decision systems.
  • Experience running online A/B loops with drift monitoring on a model that touches real money.

What's in it for you?

  • Competitive salary (depending on level of experience).
  • Flexible, remote-first global environment.
  • Collaboration with a global team of cloud experts and innovators passionate about pushing the boundaries of Kubernetes technology.
  • Equity options.
  • Fast-paced workflow with quick feedback; most feature projects are completed in 1 to 4 weeks.
  • 10% of your work time for personal projects or self-improvement.
  • Learning budget for professional and personal development, including international conferences and courses.
  • Annual hackathon to spark new ideas and strengthen team bonds.
  • Team-building budget and company events.
  • Equipment budget.
  • Extra days off to help maintain a healthy work-life balance.

Hiring process

  1. Screening call with Recruiter
  2. Hiring Manager interview
  3. Technical interview (system design)
  4. Live coding
  5. Culture Check interview with an executive

A background check may be conducted at the final stage of recruitment through a third-party provider, Checkr. Cast AI does not provide any form of visa sponsorship/work permit.

Ready to apply for this role?

Apply Now →

Please mention “I found this job at Remocate!”

Get fresh remote & relocation jobs in your inbox

A short digest of new openings. No spam, unsubscribe anytime.

Related jobs

Apply Now →