Staff Machine Learning Engineer, Adobe Firefly
San Jose, California
Saloni Garg is a Staff Machine Learning Engineer at Adobe (Firefly) in San Jose, CA. She leads development of the post-training and RLHF pipelines for multimodal foundation models, supporting SFT, DPO, and reward model training, along with distributed training and automated evaluation infrastructure at scale.
She previously worked at Wayfair as a Senior ML Infrastructure Engineer in Mountain View, CA, and before that as a Founding ML Engineer at Brisko in Bengaluru, India. She is co-author of a textbook on retrieval-augmented generation (De Gruyter, 2026) and recipient of the 2026 CITRIS Athena Award.
Focus: post-training and RLHF (SFT, DPO, reward models) / distributed GPU training (PyTorch, CUDA, FSDP, NCCL) / evaluation infrastructure / inference optimization / ML infrastructure
LinkedIn / GitHub / Google Scholar / Book / Hugging Face / OpenReview / Email
San Jose, CA
- Led development of the post-training and RLHF pipelines for multimodal foundation models, supporting SFT, DPO, and reward model training across 1,000+ GPU clusters using PyTorch, CUDA, FSDP, and NCCL.
- Built distributed training pipelines that supported 500+ large-scale training runs per week, reducing end-to-end training time by 2.2x through mixed precision, activation checkpointing, and communication optimizations.
- Developed automated evaluation infrastructure spanning 50+ benchmarks and 10,000+ model evaluations per day, enabling rapid iteration on model quality, reasoning, and safety.
- Built RLHF preference data generation and curation pipelines processing 100M+ model responses and producing 20M+ preference pairs for post-training and alignment.
- Improved multi-node training efficiency by increasing GPU utilization from 58% to 86%, reducing GPU compute cost by 40% while improving cluster reliability.
- Partnered with research scientists to productionize post-training algorithms for multimodal models ranging from 7B to 30B parameters, enabling weekly model releases and reproducible large-scale experimentation.
- Optimized video diffusion inference by profiling UNet, attention, VAE, and temporal modules with PyTorch Profiler, NVIDIA Nsight Systems/Compute, and CUDA Graphs, identifying GPU synchronization, kernel launch, and memory bottlenecks responsible for 34% of end-to-end latency.
- Refactored GPU execution to overlap preprocessing, denoising, attention, and VAE stages using asynchronous execution and CPU-GPU pipelining, improving sustained GPU utilization from 55% to 82% and recovering 15-20% additional serving capacity.
- Developed dynamic batching and request scheduling policies for variable-length video generation workloads, improving throughput per GPU by 1.8x while maintaining p95 latency under 20 seconds.
Mountain View, CA
- Productized ML systems for the search and recommendation platform, serving 5M+ customer interactions daily and improving ranking and recommendation quality for high-traffic surfaces.
- Optimized distributed model-serving pipelines for latency and throughput, reducing p95 inference latency by 32% and increasing serving throughput by 2.1x through batching, parallel execution, feature-pipeline optimization, and resource tuning.
- Developed high-throughput Python/C++ inference and feature-processing components, profiling CPU, memory, network, and serialization overhead to eliminate bottlenecks in latency-sensitive production services.
- Designed scalable offline and online inference pipelines processing billions of product, customer, and behavioral signals, improving feature freshness while reducing compute and infrastructure costs by 27%.
- Built distributed benchmarking and performance-analysis tooling to evaluate model execution, feature retrieval, batch sizes, concurrency, and resource utilization across production workloads, reducing performance-debugging cycles from days to hours.
- Improved model serving efficiency through dynamic batching, caching, asynchronous execution, and resource-aware scheduling, increasing hardware utilization by ~35% while maintaining production latency SLOs.
Bengaluru, India
- Built the core voice AI/NLP stack from scratch: speech-to-text, intent classification, entity extraction, and dialogue-understanding models that achieved 90%+ intent accuracy across 50+ voice intents.
- Developed and optimized real-time voice inference pipelines for conversational assistants, reducing end-to-end response latency by 40% and supporting ~2k voice interactions/month across early customer deployments.
The LNM Institute of Information Technology, Jaipur, India.
RL environment for diagnosing GPU training failures, in Prime Intellect Verifiers format. Published on the Prime Intellect Hub and as a dataset on Hugging Face, with train, hard, test, and out-of-distribution splits and a full validation run on A100 hardware.
Python / Verifiers / Prime Intellect / Hugging Face
Provenance-first, correctable memory layer for AI agents: source pointers, append-only log, tombstones, and an MCP server. Published under MIT; listed on Glama.
Python / MCP / SQLite or Postgres / MIT
Browser agent for general web tasks: shadow DOM and iframe handling, canvas vision fallback, uploads, drag and drop, multi-tab support, MCP server, and a benchmark suite. Published under MIT.
TypeScript / Playwright / MCP / MIT
Contributor to Ray and PyTorch. Full list of repositories at github.com/saloni-garg.
Pull requests I have open upstream, grouped by the bug or feature. Statuses as of October 2026; every title links to the PR itself.
One bug, five codebases: uniform-reward GRPO groups
In GRPO training, when every response in a group earns the same reward, the advantage should be exactly zero. Float32 group statistics invented a nonzero one instead. I found the bug class, fixed it, and sent the same fix upstream five times:
"[algo] fix: give uniform reward groups exactly zero grpo advantage." Scalar and vectorized paths fixed; new tests cover uniform groups at several sizes.
PR #8349
"fix(data): give uniform reward groups exactly zero advantage." Fix in the grouped-reward post-processing, with new grouped-reward tests.
PR #2494
"fix(ppo): give uniform reward groups exactly zero advantage in group_norm." The most severe instance found: uniform groups were getting advantages up to about 0.98 instead of 0.
PR #1383
"[fix][train] Give uniform reward groups exactly zero GRPO advantage." Fix in the PPO utilities, with new unit tests for uniform groups.
PR #2531
"[algo] fix grpo giving uniform reward groups nonzero advantages." EasyR1 vendors the same algorithm code, bug included; fixed with tests.
PR #11020
Compilers, TPU, and Triton
"Fix view decomposition returning a base larger than the view storage." The view decomposition fallback could build a base tensor larger than the storage it views; the fix re-checks the base and declines the decomposition.
PR #5846
"Fix view decomposition IndexError on 0-d views with a storage offset." Zero-dimensional views with a storage offset crashed the decomposition; the fix declines it cleanly instead.
PR #5847
"[Interpreter] Fix NaN/Inf handling in interpreter float conversions." The Triton interpreter's float conversions mishandled NaN and infinity; fixed with regression tests.
PR #12489
Verifiers and evaluation tooling
"fix: stop awm code verifiers from passing on an untouched database." Over a thousand AWM code verifiers passed against a freshly seeded database; the fix adds a no-change guard. Test suite passing.
PR #1477
OpenAI and Anthropic
"Fix completions ending in a decorator replacing the test's check()." In the execution harness, a completion ending in a bare decorator could replace the test's own check function and pass without running; the fix isolates the test block.
PR #72
"Raise in JacobianLens.save() when the storage dtype would turn finite entries into inf." Saving cast Jacobians to fp16 unchecked, silently turning large finite entries into infinity; the fix raises a clear error naming the layer.
PR #21
Also open: a listing PR adding memfix to punkpeye/awesome-mcp-servers (PR #16020).
AI Risk Summit. KV-Cache as Attack Surface: Side Channels in Shared LLM Inference Infrastructure.
CloudX. Token Spikes, Timeout Cascades, and Silent Failures: Debugging GenAI Systems in Production.
Vector Search Conference. GPU or CPU? Optimizing Vector Search Infrastructure for Cost and Speed.
CloudX. How to Build a Blameless Debugging Culture with Observability Tools.
NDC London. Neural Style Transfer: The Art and Science of Generative AI.
BuildStuff, Vilnius. Can You Guess Which Song Snippets Are Written by AI?
CloudX PRO. Serverless: Because Managing Servers Is So 2022.
Red Hat Summit, Boston. Women in Open Source Award segment, and an interview on theCUBE.
Linux App Summit, Barcelona. Lightning talk, "Open Source is great, how can we spread it?", with Amit Sagtani; filmed interview with Nextcloud founder Frank Karlitschek.
UseData Conf, Moscow. Machine Learning Based Autonomous Car Driving Algorithms.
PyCon; ILP Summit. Tech speaker.
LinkedIn: linkedin.com/in/saloni-garg
Google Scholar: Google Scholar profile
GitHub: github.com/saloni-garg
Email salonigarg2318@gmail.com