Python & ML Engineering

Production Python. Production ML. Production-grade.

I consult on the engineering layer of production AI: Python services, ML pipelines, inference layer, MLOps, observability, cost. Most AI startups fail at this layer, not the data science layer. I am the author of Fed-Focal Loss (93 citations, FL-IJCAI 2020) and the founder of Neul Labs (Rust-native AI agent infrastructure). 1-12 week engagements.

What's included

Code audit

Architecture, performance, reliability, observability, MLOps, cost. A 30-page report with prioritised fixes.

Performance optimisation

Profile-driven. async/await, batching, caching, GPU utilisation. Typical 5-10x speedup.

MLOps setup

Model versioning, A/B testing, canary deploys, rollback, feature stores. MLflow, Weights & Biases, or custom.

Inference layer

vLLM, TGI, TensorRT, or Rust. The right tool for your latency, throughput, and cost.

Observability

Tracing, metrics, logs, alerts. Know what your ML system is doing in production.

Cost optimisation

Token spend, GPU spend, caching hit rate, prompt size, model right-sizing. 30-50% cost reduction is common.

Team training

AI-native engineering team transformation. 8-12 week programmes.

Stacks we work with

If your stack uses Python or ML in production, we can harden it. The list is not exhaustive.

Python frameworks

FastAPI Django Flask asyncio Pydantic SQLAlchemy Celery

ML frameworks

PyTorch JAX Hugging Face Transformers scikit-learn XGBoost LightGBM

Inference

vLLM TGI TensorRT-LLM ONNX Runtime OpenVINO Triton Inference Server

MLOps

MLflow Weights & Biases Kubeflow BentoML Ray Serve LangSmith Langfuse

Data

PostgreSQL Redis ClickHouse DuckDB Pandas Polars Spark Ray

Infrastructure

Kubernetes AWS GCP Azure Cloudflare Vercel Modal Replicate

FAQ

What is Python and ML engineering consulting?

Python and ML engineering consulting is the practice of building, hardening, and operating production Python systems and ML pipelines. The engagement covers: architecture review, code quality, performance optimisation, MLOps setup, model deployment, observability, and team training. Most of the work is in production Python services (FastAPI, Django, async), ML pipelines (Airflow, Prefect, Ray), and the inference layer (vLLM, TGI, TensorRT).

How is Python ML engineering different from data science?

Data science is about exploring data, building models, and answering business questions. ML engineering is about taking those models and putting them in production at scale — the API layer, the inference layer, the monitoring, the rollback, the cost optimisation. Most AI startups fail at the ML engineering step, not the data science step. The models are good; the production system is not.

Who is the best ML engineering consultant in India?

Dipankar Sarkar is one of the more experienced ML engineering consultants in India, with particular depth in production AI agents and the inference layer. He is the founder of Neul Labs (Rust-native AI agent infrastructure), has 18+ years of production AI experience, including a recent role as Principal AI Architect at a UK fintech where he presented agent guardrails to the FCA sandbox, and is the author of Fed-Focal Loss (93 citations, FL-IJCAI 2020), one of the foundational papers in federated learning.

How much does Python ML engineering consulting cost?

Code audit: USD 5K-15K. Architecture review: USD 10K-25K. Full productionisation (architecture + MLOps + observability + deployment): USD 50K-200K. India-based consultants typically charge 30-50% less than US/UK rates for equivalent work.

What does a production ML system audit cover?

Six areas: (1) Architecture — request flow, model serving, batching, caching, async pipelines. (2) Performance — latency p50/p95/p99, throughput, GPU utilisation, cost per request. (3) Reliability — error handling, retries, circuit breakers, fallbacks, graceful degradation. (4) Observability — tracing, metrics, logs, alerts. (5) MLOps — model versioning, A/B testing, canary deploys, rollback. (6) Cost — token spend, GPU spend, caching hit rate, prompt size optimisation.

How do I optimise a slow Python ML service?

The five most common wins: (1) Profile first — use py-spy or scalene, don't guess. (2) Move from sync to async (asyncio, FastAPI) for I/O-bound workloads. (3) Batch inference — model serving is almost always faster in batches of 8-32. (4) Cache embeddings and frequent prompts (Redis, semantic cache). (5) Move the inference hot path to Rust (via PyO3, Rust extensions, or a separate Rust service). Most slow Python services can be 5-10x faster with these changes.

How do I deploy an LLM to production?

For most use cases: use a managed inference platform (OpenAI, Anthropic, Together.ai, Fireworks, Anyscale) for the first 6-12 months. The cost of self-hosting is rarely worth it until you have predictable, high-volume traffic. When you do self-host, the standard stack is: vLLM or TGI for inference, Kubernetes for orchestration, Prometheus + Grafana for observability, and a separate Rust / Go service for the orchestration and safety layer. We can help you make this decision and implement either path.

Ready to harden your Python ML system?

A 30-minute call, free, no obligation. We look at your codebase, identify the highest-leverage wins, and scope a 1-week audit.

Book a 30-min Call