Reading and reproducing ML papers
The Structured Three-Pass Reading Method
Pass 1: The10-Minute Survey (Decision Pass)
Goal: Decide if this paper is worth your time.
What to read (in order):
- Title + Abstract → Main claim
- Introduction (first 2 paragraphs) → Problem & motivation
- Section headings → Structure of solution
- Conclusion → What they achieved
- Figures & captions → Visual story
- References → Context (recognize key citations?)
Output: Answer these questions:
- What category is this? (New architecture / Training technique / Theoretical result / Dataset / Application)
- What problem does it solve?
- Is the claimed improvement relevant to my work?
- Are the assumptions reasonable?
Pass 2: The 1-Hour Deep Dive (Understanding Pass)
Goal: Grasp the main contributions without reproducing.
How to read:
- Read sequentially but skip profs (for now)
- Annotate in margins: "Why this choice?", "What if we changed X?"
- For each figure/table:
- Write what it claims before reading the caption
- Check if your interpretation matches
- Identify the core innovation: What is the one new idea?
- Note experimental setup details: Dataset, baselines, hyperparameters
Key questions to answer:
- Mathematical formulation: What are the inputs, outputs, loss function?
- Algorithmic innovation: What's new compared to prior work?
- Experimental evidence: Is the improvement statistically significant? Ablations convincing?
- Limitations: What doesn't work? What did they not test?
Pass 3: The 4-8 Hour Implementation (Reproduction Pass)
Goal: Reproduce the core result from scratch.
Implementation checklist:
-
Environment Setup
- Note paper's framework (TensorFlow/PyTorch/JAX)
- List dependencies, hardware (GPU memory matters!)
- Find official/unofficial repos for reference (but don't peek yet!)
-
Data Pipeline ⚠️ Where most bugs hide
- Preprocessing steps (normalization, augmentation)
- Train/val/test splits (exactly as paper describes)
- Batch size, shuffle, number of workers
-
Model Architecture
- Start with smallest version (e.g., ResNet-18 before ResNet-152)
- Print shapes at every layer to catch dimension mismatches
- Initialization scheme (Xavier, Kaiming, etc.)—papers often omit this!
-
Training Loop
- Learning rate schedule (step decay, cosine annealing?)
- Optimizer (Adam vs SGD—huge difference!)
- Regularization (weight decay, dropout rates)
- Early stopping criteria
-
Verification Checkpoints
- Sanity check: Can model overfit 10 samples? (If not, bug in loss/backprop)
- Baseline check: Does it match reported baseline performance?
- Ablation check: Remove claimed innovation—does performance drop as paper claims?
Advanced Paper Reading Strategies
The 80/20 Focus Areas
20% of paper content gives 80% of value:
- Problem statement (Intro paragraph1)
- Core mathematical formulation (Usually one equation)
- Main results table (Numbers that matter)
- Ablation study (What actually contributes to performance)
What to skim/skip:
- Related work (unless you need context)
- Lengthy proofs (read only if theorem is core contribution)
- Excessive experimental details (unless reproducing)
The Forecast-then-Verify Reading
Before reading methods: After Pass 1, write down:
- "If I were solving this problem, I would try..."
- "The main challenge is probably..."
- "I predict the solution involves..."
Then read methods: Compare your forecast to their approach.
- ✓ Matched? → You understand the problem space well
- ✗ Different? → Learn why their approach is superior (or not!)
This builds researcher intuition.
Building a Paper Reading System
Organizational structure:
papers/
├── to-read/ # Pass 1 triage
├── reading/ # Pass 2 in progress
├── implemented/ # Pass 3 completed with code
└── reference/ # Key papers for quick lookup
Annotation system:
- 🔴 Red: Don't understand, need to revisit
- 🟡 Yellow: Core contribution
- 🟢 Green: Interesting extension idea
- 💡 Margin notes: "Could this apply to [my problem]?"
Reading cadence:
- Daily: 1-2 Pass 1 reads (arxiv feed)
- Weekly: 2-3 Pass 2 reads (deep understanding)
- Monthly: 1 Pass 3 (full reproduction)
Dealing with Irreproducible Papers
Common blockers:
-
Missing hyperparameters
- Search author's GitHub for code
- Email authors politely: "What learning rate did you use for [experiment]?"
- Try ranges from related papers
-
Undisclosed dataset preprocessing
- Check official dataset papers for standard practices
- Compare reported stats (mean/std) to your pipeline
- Look for off-by-one errors in reported numbers
-
Cherry-picked results
- Look for error bars, multiple seeds
- If "best of 10runs" is reported, be suspicious
- Try to reproduce mean± std instead of best
-
Computational requirements
- Scale down: Use smaller model variant
- Use techniques from paper on different (smaller) dataset
- Focus on reproducing relative improvements not absolute numbers
When to Give Up vs. Persist
Give up if (after 2-3 solid attempts):
- Core idea is poorly explained and authors don't respond
- Results seem too good to be true and no one else can replicate
- Paper lacks ablations—you can't isolate the contribution
Persist if:
- Core idea is clear but implementation details are missing (solvable!)
- Other researchers report partial success
- Failure teaches you something valuable about the problem domain
Pivoting: If exact reproduction fails, try:
- Reproduce on simpler/different dataset
- Implement core technique in different context
- Write "lessons from attempted reproduction" blog post—these are valuable!
Recall Explain Like I'm 12: Reading ML Papers
Imagine you find a LEGO instruction manual for an awesome spaceship, but:
- Some pages are missing
- They used special LEGO pieces you don't have
- They didn't show every single step—they assumed you know basics
Pass 1 = Flipping through to see if this spaceship is cool enough to build
Pass 2 = Reading carefully, figuring out the special technique they used for the wings
Pass 3 = Actually building it with your own LEGO pieces, figuring out the missing steps
Sometimes you can't build the exact same spaceship—but you learn the cool wing technique and use it in your own designs. That's reproducing papers: You're learning techniques from the smartest builders, even if you can't copy them exactly.
Why it's hard: The manual writers are experts. They forget beginers don't know stuff. They say "attach stabilizer" but don't say which stabilizer or how. You have to figure it out by trying!
Connections
- Paper Writing and Publication ← Inverse process: creating reproducible papers
- Experiment Tracking and Versioning ← Tools for managing reproduction attempts (MLflow, Weights & Biases)
- Hyperparameter Tuning ← Missing hyperparameters is #1 reproduction blocker
- Statistical Significance Testing ← Evaluating if reproduced results "match"
- Model Debugging ← Techniques when your reproduction doesn't work
- Transfer Learning ← Papers on ImageNet→YourTask require reproduction understanding
- Attention Mechanisms ← Case study: highly-cited, heavily-reproduced architecture
#flashcards/ai-ml
What are the three passes in structured ML paper reading and their time commitments? :: Pass 1 (10 min): Survey to decide relevance | Pass 2 (1 hour): Deep dive for understanding | Pass 3 (4-8 hours): Full reproduction with code
Why does scaled dot-product attention divide by sqrt(d_k)?
What are the 5 verification checkpoints when reproducing a paper?
What's the difference between replication and reproduction?
What should you extract in Pass 2 reading?
Why is the data pipeline the #1 source of reproduction bugs?
What does the "Forecast-then-Verify" reading strategy involve?
When should you give up on reproducing a paper?
What are the 20% of paper sections that give 80% of value?
What information belongs in Pass 1 annotations?
Concept Map
Hinglish (regional understanding)
Intuition Hinglish mein samjho
ML papersdhna ek superpower hai, lekin thoda tricky bhi. Socho tum ek naya recipe try kar rahe ho, par instructions adhuri hain aur chef ne kuch steps assume kar liye hain ki tumhe pata honge. Research papers bhi aise hi hote hain—unme latest techniques hain, par har detail nahi hoti.
Teen-pass method use karo: Pehle 10 minute mein quickly dekho ki paper relevant hai ya nahi (title, abstract, figures). Agar haan, toh 1 ghante mein properly padho—core equation derive karo, samjho ki innovationya hai. Phir agar tumhe use karna hai, toh 4-8 ghante lagake code likho aur reproduce karo. Sabse important: verification checkpoints—pehle check karo ki model10 samples pe overfit kar sakta hai (agar nahi toh bug hai!), phir baseline numbers match karo, phir ablation test karo (innovation hata ke dekho performance girta hai ya nahi).
Ek baat yad rakho: kagaz mein jo likha hai, uska 20% tumhe 80% value dega—problem statement, main equation, results table, aur ablation study pe focus karo. Baki related work aur lambe profs ko skip kar sakte ho unless core contribution nahi samajh aa raha. Aur haan, agar reproduce nahi ho raha 2-3 baar try karne ke baad, toh authors ko politely email karo—zyada tar researchers help karte hain kyunki tum unka kaam validate kar rahe ho. Reproduction is the ultimate test: agar tumne bana liya scratch se, tabhi sach mein samajh aya!