Yan Gaev

Research Engineer / ML Engineer. I train, evaluate and serve LLMs, and build the agents that use them. AI Head at TurboCloud. Open to London, the USA or remote.

PROJECTS · spans have equal width, it does not mean time

Back to the timeline
INSPECTING · SYSTEMS

LLM inference engine from scratch

Qwen3.5-2B. Custom CUDA kernels, CUDA Graphs, RTX 5090.

322tokens/s at batch 1
7.3ktokens/s at batch 32
21×faster batch-1 decode than the measured HF + FLA baseline
2×faster 262k-token prefill
  • Wrote the engine from scratch with custom CUDA kernels and CUDA Graphs.
  • Achieved 322 tokens/s at batch 1 and 7.3k tokens/s at batch 32; batch-1 decode was 21× faster than the measured Hugging Face + FLA baseline.
  • Accelerated 262k-token prefill by 2× and verified 100% greedy-token agreement with the reference generate() output in the evaluated runs.
Back to the timeline
INSPECTING · SYSTEMS

chipsim: a chip and memory simulator for LLM inference

Python, NSGA-II (pymoo), XGBoost surrogate, DuckDB.

7.7%median error on 170 held-out hardware configurations
20.4%p90 error; 91% of rows within 25%
19%median error, leave-one-vendor-out, three shipped NPUs
3–6×throughput change from the scheduler policy alone
  • Simulates LLM inference on a chip and memory system described in one YAML file: prefill and decode speed, memory map, concurrency, latency percentiles, power and cost.
  • Fitted on 152 measured hardware configurations and tested on 170 held-out ones.
  • With a reserve-full scheduler policy, the simulator gives 1,343 tok/s against 1,341 tok/s measured.
  • Earlier in the same project: a hardware co-design search for Qwen3.6-27B with NSGA-II and a multi-objective XGBoost surrogate.

Limits: the validation rows cover dense Llama and Mistral models only, with no MoE, MLA or linear attention. Some design decisions came after test results, so the test numbers are diagnostics, not a clean estimate.

Back to the timeline
INSPECTING · SYSTEMS

Speculative decoding, model surgery and KV-cache compression

llama.cpp, SGLang.

0.79peak draft acceptance
~100tokens/s on one 32 GB GPU
5.6×KV-cache compression with TurboQuant in SGLang, in the measured setup
  • Grafted an MTP head from Qwen3.8-27B into BAAI AREX-2 for speculative decoding.
  • Implemented TurboQuant in SGLang.
Back to the timeline
INSPECTING · TRAIN

Tool-use SFT and RL on a 10B mixture-of-experts model

GigaChat3.1-10B-A1.8B. PyTorch, TRL, PEFT / LoRA, SGLang, H200.

Call / no-call accuracy66.7% → 89.2%
Correct-tool selection29.2% → 52.8%

Held-out: 30 episodes, 102 decisions. Thin line: before SFT. Bar: after SFT.

  • Measured SFT run: 132 agent traces / 2.2M tokens, contexts up to 250k. Corrected a loss-masking bug involving role headers.
  • 12 GRPO iterations moved the held-out score from 23.6% to 26.4%, inside the ±5 pp evaluation noise. The post-mortem showed that 36% of tasks were never solved in 24 attempts, so a binary outcome reward gave no signal on them.
  • RL pilot on 18 training tasks × 8 attempts: the middle tier rose from 26.4% to 40.3%, the control set stayed flat (62.5% → 63.5%). Part of the rise is regression to the mean, so it shows a direction, not a proven effect. Two-judge agreement was 93.4%.
  • Patched the SGLang tool-call parser: on 59 broken output streams it recovered 24 calls instead of 0, with no regression on 62 healthy streams.
  • Traced a regression in a later checkpoint (agent reasoning −23 pp, bootstrap CI −40…−7) to the model stopping too early.
Back to the timeline
INSPECTING · TRAIN

Russian-language reasoning model: SFT, GRPO and token-level RL

Instruct-to-reasoning conversion.

20M+training tokens
  • Converted an instruct model into a reasoning model through SFT; adapted the tool_call template and reasoning_parser.
  • Trained on more than 20 million tokens and ran GRPO (Group Relative Policy Optimization).
  • Researched token-level RL updates, training a neural network to target specific tokens within a rollout.
Back to the timeline
INSPECTING · TRAIN

Verifiable-reward and preference data for post-training

Data for SFT and RL.

1.5Mtokens of records from arXiv ML papers
892tool calls in rewritten agent traces
  • Created 1.5M tokens of records from arXiv ML papers and rewrote agent traces containing 892 tool calls for post-training datasets.
Back to the timeline
INSPECTING · AGENTS

Rust agent harness: model-specific tools and reliable execution

Rust. Open source.

0 / 1,199tool-execution failures across real tool calls
−46%tool calls after adapting tools to DeepSeek-V4 priors
26 × 6tasks × models, two repeats each
  • Built an agent runtime with tool schemas informed by model probes, bounded concurrent execution, tool-call repair and execution traces.
  • Benchmarked 26 tasks across 6 models, with two repeats: no tool-execution failures across 1,199 real tool calls.
  • Adapting tools to DeepSeek-V4 priors reduced tool calls by 46% in the measured comparison.
Code: github.com/YanGaev2/rust-harness
Back to the timeline
INSPECTING · AGENTS

Agent failure analysis on the BitGN PAC1 benchmark

Python, OpenAI SDK, OpenRouter. 43 tasks: file system, inbox processing, security checks and prompt injection.

90.9%mean score over 37 full runs
144failures classified out of 1,591 task runs
  • Score range 83.7–97.7%, standard deviation 4.0 pp.
  • Failure classes: wrong outcome 38%, no answer 19%, unexpected file writes 18%. Two fragile tasks passed only 40.5% of the time.
  • Turned each failure pattern into an agent practice and built a prompt-evolution loop that rewrites the system prompt from failed traces.
Back to the timeline
INSPECTING · AGENTS

AI analyst agent for advertising analytics

Commercial project. Rust (axum, SSE), React, ClickHouse, MySQL, pyannote, GigaAM.

~27klines of Rust
301tests
13architecture decision records
  • A chat agent that queries production databases through function calling and returns tables and charts.
  • Turns meeting recordings into minutes in a knowledge base: diarization, speech recognition, protocol.
Back to the timeline
INSPECTING · AGENTS

Does a strong planner help a weak executor?

TypeScript, OpenRouter, blind LLM judges. Executors: DeepSeek-V4-pro, DeepSeek-V3, Qwen3.6-35B-A3B.

No gainin correctness on a 4×4 matrix of tasks and injection channels
  • Tested short reasoning seeds from a strong model on three weaker executors, with two blind judges per cell.
  • The only stable finding: a seed given as a previous assistant turn was never worse than the baseline; the same seed in the user message added noise on weak models.
  • Found that DeepSeek accepts reasoning_content on input but silently ignores it, shown with a marker test.
Back to the timeline
INSPECTING · AGENTS

MCP server for delegating work to other agents

TypeScript, Model Context Protocol, Codex CLI, OpenCode.

5review prompts compared on a repository with seeded hidden defects
  • Lets Claude Code hand tasks to Codex and Gemini as autonomous agents.
  • A companion bench scores review prompts against a ground truth that the agent does not see.
Back to the timeline
INSPECTING · AGENTS

SlideML: an agent skill and compiler for editable presentations

Rust, Python, Open XML.

.pptxnative, editable output
  • A compact XML interface and Rust compiler that let agents create native, editable PowerPoint slides, charts, tables and animations.
  • Font-based text measurement, layout warnings and JSON geometry manifests for programmatic checks.
Code: github.com/YanGaev2/slideml
Back to the timeline
INSPECTING · RESEARCH

Concept learning and discovery of an unseen physical law

PyTorch, 19.5M-parameter GPT baselines, MDL concept library.

0 / 2,700attempts in which nine GPT baselines stated the law
−2.39998exponent recovered by an MDL concept library (true −2.4)
  • Designed a synthetic world with gravity proportional to 1/r2.4, three 20M-token corpora and evaluation thresholds fixed before training.
  • World-model research continues.
Back to the timeline
INSPECTING · RESEARCH

Graph-enhanced retrieval-augmented generation

Python, FastAPI, Neo4j, Ollama, Next.js, Docker.

Graph + vectorknowledge graph and vector retrieval in one chat app
  • Document ingestion and chat that combine vector retrieval, entity extraction and a knowledge graph, with a web interface and containerized deployment.
Code: github.com/YanGaev2/hse-vector-system
Back to the timeline
INSPECTING · CAREER · 2024–NOW

AI Head / Lead ML Engineer, TurboCloud

Grew from Systems Analyst to AI Architect to AI Head.

500+internal users of the agent platform
+30%production throughput after modifying SGLang
2×faster agent iteration with tracing
2 GPUsfor fine-tuned open models that matched GPT-5.5 (xhigh) on internal benchmarks
  • Built a corporate agent harness and platform in Rust and React, adopted by over 500 internal users; received direct recognition from company leadership.
  • Integrated a code sandbox, web search and tracing; tracing made agent iteration 2× faster.
  • Fine-tuned open models that matched GPT-5.5 (xhigh) on internal company benchmarks using two GPUs.
  • Modified SGLang to achieve 30% higher production throughput; deployed dozens of on-premises LLM servers.
Back to the timeline
INSPECTING · CAREER · 2023–2024

AI/LLM Engineer, Smartseeds

Freight marketplace with a microservices architecture.

Kafka · RabbitMQevent consumers for electronic transport documents
  • Designed microservices for electronic transport documents: REST contracts, service integrations and Kafka / RabbitMQ consumers.
  • Split two microservices out of the monolith, based on business logic, code structure and existing integrations.
  • Specified search, filters and document flow for the mobile app.
Back to the timeline
INSPECTING · CAREER · 2022–2023

Lead Systems Analyst, T1 Innovations

Tax-monitoring platform for large taxpayers.

MongoDB → Elasticsearchfull-text search migration
  • Designed integrations with the federal tax service system (REST, XML) and with client ERP systems (1C, SAP).
  • Designed in-app notifications from scratch: use cases, prototypes, REST and WebSocket.
  • Analyzed the full-text search migration from MongoDB to Elasticsearch: sharding, indexes and domain mapping.
  • Introduced Keycloak for authentication: Active Directory, OAuth and user import.
Back to the timeline
INSPECTING · CAREER · 2021–2022

Senior Systems Analyst, Moy Dom

  • Analyzed data in billing migrations and Kafka replication projects; wrote requirements and AS-IS / TO-BE process models.
Back to the timeline
INSPECTING · CAREER · 2020–2021

Systems Analyst, Cherkizovo Group

  • Built dashboards on OLAP cubes from 1C and SAP data and launched online monitoring of internal reporting metrics.
Back to the timeline
INSPECTING · CAREER · 2019–2020

Analyst, INFOLine

  • Built financial models and market research for large investment projects of transport companies.
Back to the timeline
INSPECTING · PROFILE

Skills and education

TRAINING
PyTorch, Transformers, TRL, PEFT / LoRA, SFT, GRPO, token-level RL, MoE models, reasoning parsers, agent trajectories, verifiable-reward and preference data.
AGENTS AND EVALUATION
Tool calling, execution harnesses, sandboxes, tracing, held-out evaluations, LLM-as-judge, BFCL, τ²-bench, SWE-bench, MCP, RAG.
SYSTEMS
Python, Rust, TypeScript, CUDA, CUDA Graphs, SGLang, vLLM, llama.cpp, speculative decoding, KV-cache optimization, H100 / H200, Docker.
EDUCATION
HSE University, Faculty of Computer Science. Artificial Intelligence and Computer Vision, 2026.
LANGUAGES
English C1, Russian native.
CONTACT
[email protected] · github.com/YanGaev2 · t.me/yangaev1