● ABOUTEDINBURGH, UKOPEN TO ROLES — NO SPONSORSHIP NEEDED

The humanbehind thenumbers.

I’m Yash — an ML engineer in Edinburgh. The rule I work by is simple: reproduce before you claim. I rebuilt SmolLM2-135M and Qwen3-0.6B-Base as single-file PyTorch, from a blank editor, and verified both bit-exact against the official HuggingFace weights — max |Δlogits| = 0.0 — before building anything on top.

The reproduction was the floor, not the finish line. From the bit-exact base I ran the full small-model lifecycle — pretraining, architecture and optimizer studies, data-composition A/Bs, a mid-training anneal, supervised fine-tuning, reinforcement learning — under one evidence standard: single-variable diffs at iso-FLOP, three paired seeds, across-seed confidence intervals, a held-out noise floor. All of it ran on one machine, an NVIDIA GB10 Grace Blackwell box on my desk. No rented compute.

The other half of the work is agent systems: Max, the assistant that answers questions on this site; Prism, a research agent that uses recursive language models to decompose million-token corpora into verifiable reasoning chains; LetsBuild, an autonomous pipeline that turns a job description into a published repo; a library of multi-agent orchestration patterns; Velox AI, a voice-agent platform for real phone calls; a talent-intelligence agent; and the LoRA fine-tunes behind LetsFineTune.

What I won’t do is embellish. The nulls on this site get the same prominence as the wins, single-run numbers are tagged as such and never promoted to headlines, and the CV below ships with its employment and education sections intentionally blank until they can be confirmed — I’d rather show a gap than a guess. Every number on this page traces to a results file at a pinned commit.

THE 30 DAYS — JUN 08 → JUL 07, 2026 · EVERY MILESTONE PINNED TO ITS CLAIM
SCROLL →

One study, one standard.

2026-06-08

Bit-exact reproduction builds — the parity gates pass at exactly zero — SmolLM2 and Qwen3

qwen3.parity DETERMINISTIC · BIT-EXACT✓ VERIFIED
2026-06-16

NorMuon vs AdamW — the optimizer A/B, three paired seeds at iso-FLOP

qwen3.normuon 3-SEED · 95% CI✓ VERIFIED
2026-06-18

IMU-1 de-confound, phase 1 — the bundle win decomposes; only the arch axis survives

qwen3.arch_axis 3-SEED · 95% CI✓ VERIFIED
2026-06-21

Architecture sub-drill, phase 2 — value-residual, LN-scaling, head-gating: each significant on its own

qwen3.arch_subdrill 3-SEED · 95% CI✓ VERIFIED
2026-06-24

dclm-edu vs FineWeb-Edu data A/B — the largest effect in the whole study is a data swap

qwen3.dclm_data 3-SEED · 95% CI✓ VERIFIED
2026-06-26

Data-mix curve — the 50/50 mix keeps most of the code win while holding English

qwen3.mix 3-SEED · 95% CI✓ VERIFIED
2026-06-27

Response-masked SFT, three seeds — the in-loop 'win' exposed as an eval-token confound

qwen3.sft_null HONEST NULL✓ VERIFIED
2026-06-30

Mid-training anneal vs iso-token control — the data, not the schedule, carries the effect

qwen3.anneal 3-SEED · 95% CI✓ VERIFIED
2026-07-02

GRPO at 0.6B — the pre-registered null confirms exactly as predicted

qwen3.grpo_null HONEST NULL✓ VERIFIED
2026-07-07

Paper preprint shipped (34 pp., submission-ready) — 'Reproduce, Then Attribute'; every number above traces into it

qwen3.gap_to_original DESCRIPTIVE · n=1✓ VERIFIED
3-seed · 95% CI    descriptive (n=1)    honest null  ·  full methodology on /research
THE RECORD — RENDERED FROM content/cv.md

Curriculum vitae

Download PDFopens the print-optimized /cv

Yash Bishnoi

ML Engineer · Edinburgh, UK · Open to roles — no sponsorship needed

bishnoiyash274@gmail.com · github.com/yashb98 · linkedin.com/in/yash-bishnoi · yashbishnoi.io

Profile

  • Builds language models from scratch and verifies them bit-exact against the official weights before claiming anything on top: max |Δlogits| = 0.0 vs HuggingFace, for both SmolLM2-135M and Qwen3-0.6B.
  • Holds every cross-run claim to a paper-grade evidence standard — single-variable, 3-seed, iso-FLOP, across-seed 95% CIs, a held-out noise floor — and publishes the nulls at the same prominence as the wins.
  • Runs the small-scale LLM lifecycle end to end (pretraining → data studies → mid-training → SFT → RL) on a single NVIDIA GB10 box with a ~119 GB unified memory pool; no rented compute.
  • Every number on this page traces to a results file at a pinned commit — see yashbishnoi.io/research.

Selected projects

BuildFromScratch — from-scratch LM reproductions + research lifecycle (Jun 2026–present)

  • Single-file PyTorch reproductions of SmolLM2-135M (134,515,008 params) and Qwen3-0.6B-Base (596,049,920 params), each verified bit-exact against the official HuggingFace weights: max |Δlogits| = 0.0.
  • Evidence standard: every attributed effect is single-variable, 3-seed, iso-FLOP, scored on held-out bits-per-byte with across-seed 95% CIs; single-run numbers are tagged descriptive (n=1), never presented as headline.
  • Largest measured effect is a pure data swap: dclm-edu vs FineWeb-Edu at fixed tokens improved code BPB by +0.7034 [95% CI +0.6639, +0.7430] — bigger than the optimizer effect (NorMuon +0.4743 BPB [+0.4435, +0.5052], early-training regime, ~42M tokens/arm) or the architecture effect (+0.1179 BPB wikitext-2 [+0.1005, +0.1354]); a 50/50 mix kept ~84% of the code win while holding English.
  • Publishes negative results at equal prominence: WSD schedule and z-loss not significant on the canonical metric; a response-masked-SFT "win" of 0.68 PPL exposed as an eval-token confound and collapsed to +0.009; a pre-registered GRPO/RLVR null at 0.6B confirmed exactly as predicted.
  • Descriptive context (n=1): the faithful reproduction trained from scratch lands within 2.14× of the original Qwen3-0.6B's perplexity on ~30,000× less data (1.19B vs 36T tokens).

Other projects

  • max (TypeScript, Jun 2026) — Max Assistant, a personal AI assistant; the same Max persona answers questions on this site.
  • multi-agent-patterns (Python, Mar–May 2026) — multi-agent orchestration patterns, plus JobPulse daily automation and MindGraph knowledge visualization.
  • Prism (Python, Mar 2026) — a research agent that uses recursive language models to decompose million-token corpora into verifiable reasoning chains.
  • LetsBuild (Python, Mar 2026) — Autonomous Portfolio Factory: job description in, published GitHub repo out.
  • Velox AI (TypeScript, Feb–Mar 2026) — enterprise-grade AI voice-agent platform for real phone-call agents on Twilio + Gemini + Deepgram: visual flow design, multi-agent LLM routing, hybrid RAG, billing, analytics, production observability.
  • talent-agent (TypeScript, Jun 2026) — AI talent-intelligence agent powered by Kimi K2.6.
  • LetsFineTune (Jupyter, Apr 2026) — a collection of fine-tuned language models built with LoRA, Unsloth, and Hugging Face Transformers.

Skills

  • ML / training: PyTorch; from-scratch transformer implementation (RoPE, GQA, SwiGLU, RMSNorm, QK-Norm); pretraining, continued pretraining, low-LR anneals; response-masked SFT; GRPO/RLVR (Dr.GRPO, DAPO dynamic sampling, rejection-sampling and random-reward controls); LoRA / Unsloth; Hugging Face Transformers, datasets, safetensors; lm-evaluation-harness; BPB / perplexity / passkey-retrieval evals; multi-seed CI + iso-FLOP experiment design; FLOP and MFU accounting.
  • Agents / orchestration: multi-agent orchestration patterns; recursive-LM research agents (Prism); autonomous repo generation (LetsBuild); MCP tooling (code-graph-mcp); voice agents with multi-agent LLM routing and hybrid RAG (Velox AI); Kimi K2.6 (talent-agent).
  • Infra / serving: single-box GB10 (Grace Blackwell, aarch64, DGX OS) training operations — unified-memory guards, watchdog sentinels, idempotent resumable training supervisors; Twilio + Deepgram + Gemini telephony stack with production observability (Velox AI).
  • Languages: Python, TypeScript/JavaScript, Bash; Jupyter-notebook workflows.

Experience

Machine Learning Engineer — Independent / Project-based (Oct 2025 – present) · Edinburgh

Self-directed ML research alongside part-time retail work — the work this site documents.

  • Reproduced SmolLM2-135M and Qwen3-0.6B from scratch in single-file PyTorch, each verified bit-exact against the official Hugging Face weights (max |Δlogits| = 0.0).
  • Matched-compute experiment on Qwen3-0.6B: a modernized architecture bundle beat the faithful baseline by 17.9% in-loop (23.52 vs 28.65 val PPL, n=1) — then de-confounded into attributed, 3-seed, CI-backed effects; a second method lost and is reported as a clean negative result.
  • Single-variable, 3-seed ablations with across-seed 95% CIs (e.g. NorMuon vs AdamW: +0.4743 BPB wikitext-2 [+0.4435, +0.5052], early-training regime).
  • Continued pretraining of SmolLM2-135M on TinyStories: validation perplexity 6.89 → 3.79.
  • Honest scope: self-directed research on a single machine — not production or distributed-scale deployment experience.

Co-op — Team Leader (Aug 2025 – present) · Dundee

  • Run day-to-day shifts in a busy retail store, supervising a team of 8+: task allocation, cover planning, rotas around peak trade.
  • Use the store's sales and stock systems to monitor stock levels and reduce shelf gaps; train newer team members on tills, processes, and standards.
  • Previously Customer Team Member (Apr – Aug 2025), same store.

Nidhi Herbal — Market Research Analyst (Jul 2021 – Sep 2024) · Hanumangarh, India

  • Turned sales, supplier, and customer data into buying and sourcing decisions: market trends, customer segments, and competitor pricing analysed in Excel and SQL.
  • Built dashboards tracking supplier performance, lead times, and inventory turnover; maintained CRM data and retention reporting.
  • Automated repetitive reporting with Python (pandas, openpyxl) — the work that led into machine learning.

Earlier

  • E4CC — Full Stack Engineer (Jan – Mar 2024, Gurgaon): full-stack apps in Node.js/React with PostgreSQL/MySQL; schema design and query optimization (~30% page-load improvement via indexing); Agile with Git/Jira/CI-CD.
  • Bharat Intern — Application Developer (Nov – Dec 2023): backend services and REST APIs in Node.js/Python/SQL; deployments to AWS/GCP.

Education

  • University of Dundee — MSc Computer Science (Jan 2025 – Jan 2026). Coursework includes the Machine Learning module documented in the public Machine-Learning_University_of_Dundee repo.
  • JECRC University — MBA, Accounting and Finance (2019 – 2021).
  • Amity University, Jaipur — BSc Biotechnology (2015 – 2019).

Certifications

  • IBM Machine Learning Specialization · Data Cleaning · Feature Engineering · SQL Essential Training

Links

DWG NO. YB-LAB-01 · EQUIPMENT SCHEDULE

The lab — a datacenter on a desk.

Everything in the study above — pretraining, anneals, SFT, GRPO — ran on this one box. Hover or tab the markers for the verified spec of each component.

FIG. 01 — DGX SPARK / GB104 MARKERS · HOVER OR TAB
RIG PHOTO — drops in here
COMPUTE
NVIDIA GB10 Grace Blackwell
~119 GB unified memory (one CPU+GPU pool) · aarch64 · DGX OS
SERVING
vLLM (PagedAttention)
local model serving — no rented compute
MEMORY & TRACE
Qdrant · Langfuse · Postgres
hybrid vector search + step tracing
GUARDS
safe_cuda.py
unified-memory caps for a shared box

Beyond the terminal → drag

Real photos drop in here soon — until then the cards stand in as editorial spreads.

Horizontally scrollable gallery. Use Left and Right arrow keys to move one card, Home and End to jump.
CROSSFIT
Heavy things, early mornings
HIKING
Scottish Highlands on repeat
CAMPING
Offline > offsite
@LETSFINETUNE
Build-in-public, footnote-sized

Want the story with receipts?

See the researchRead the CVEmail me