In March 2026, a Class 12 student from Pune applying to a summer research position at an IIT lab was handed a PDF two days before her interview: Vaswani et al., "Attention Is All You Need," NeurIPS 2017 — the paper that introduced the Transformer architecture she had already implemented pieces of in her Grade 11 coursework. She opened page 1, started reading word by word like a textbook chapter, hit the notation in Section 3.2 (Attention(Q, K, V) = softmax(QKT/√dk)V) on page 4, and stalled. Two hours later she had re-read the same paragraph six times and understood less than when she started. The interview covered exactly three questions about the paper. She could answer none of them, despite having spent more time on it than anyone else in the applicant pool.
Her mistake was not intelligence or preparation time. It was method. She read the paper the way she reads a chapter — linearly, once, cover to cover — when a research paper is not written for that kind of reading at all. This chapter teaches the method that actually works: a disciplined, non-linear, multi-pass approach that computer scientists have used for decades to extract what they need from a paper in a fraction of the time a naive linear read costs, and to know when a claim in the paper deserves to be trusted versus re-derived by hand.
Why linear reading fails on a research paper
A textbook chapter is written to teach a reader who knows nothing about the topic yet. A research paper is written for the opposite reader: a peer reviewer or fellow specialist who already knows the background literature, the standard notation, and the open problems in the sub-field — and who is being asked to judge one specific new claim against that backdrop. The paper's job is to state the claim, justify it against prior work, and defend it with evidence, as compactly as the venue's page limit allows. Nothing about that goal requires the paper to build up intuition gradually the way a textbook does.
This produces a predictable structure — the IMRaD pattern (Introduction, Methods, Results, and Discussion) — but it does not produce a document optimized for front-to-back reading by a newcomer. The abstract and introduction compress the entire contribution into a few hundred words, assuming you will decode the compression using knowledge you may not yet have. The methods section is written to let another expert reproduce the work, not to teach you why the method exists. The results section reports numbers that only mean something once you already understand what a "strong baseline" looks like in that sub-field. Reading such a document top to bottom, at uniform speed, treats every sentence as equally important — but the sentences are not equally important, and figuring out which ones are is itself is the actual reading skill.
The three-pass approach
The most influential answer to this problem is a short, deliberately practical paper by S. Keshav of the University of Waterloo, "How to Read a Paper," published in ACM SIGCOMM Computer Communication Review, Volume 37, Issue 3, in July 2007. Keshav's proposal — now standard advice in graduate programs worldwide — is that you never read a paper once. You read it up to three times, each pass deeper than the last, and you decide after each pass whether the next pass is worth doing at all.
Pass 1 (five to ten minutes). Read the title, the abstract, the introduction, the section and subsection headings — but not their content — and the conclusion. Glance at the reference list for names or venues you recognize; this tells you how the paper sits inside the field. Skip the body entirely. At the end of Pass 1 you should be able to answer: what category of paper is this (a new measurement, a new system, a new theoretical result, an analysis of existing work)? What is the central claim? Is it credible enough, and relevant enough to what you're doing, to justify a second pass? Most papers you encounter should stop here — Pass 1 is a filter, not a formality.
Pass 2 (about one hour). Read the body with more care, but deliberately skip proofs and detailed derivations on this pass — mark them for later and keep moving. Study every figure, diagram, and table closely; figures are usually the densest, most carefully-checked part of a paper, because reviewers scrutinize them hardest. Note down key citations you don't recognize, so you can chase them afterward. At the end of Pass 2 you should be able to summarize the paper's argument to someone else with supporting evidence, though you may not yet be able to defend every mathematical step in it.
Pass 3 (several hours; a novice should budget half a day for a dense paper). This is the pass where you stop trusting the paper's own claims and check them. Keshav describes this as "virtually re-implementing" the paper: you re-derive every equation from the assumptions stated, you identify every implicit assumption the authors made but didn't flag, and you actively look for what you would have tested differently. You only need Pass 3 when you must implement the method yourself, cite it as load-bearing evidence for your own claim, or review it formally — for the majority of papers you read in a year, Pass 2 is the terminal depth, and that is by design, not laziness.
Keshav also recommends capturing your notes under five headings, the "five Cs": Category (what kind of paper this is), Context (which other papers and theoretical foundations it relates to), Correctness (do the assumptions actually hold), Contributions (what is genuinely new here), and Clarity (is the paper well written). Correctness is kept separate from Contributions deliberately: a paper can make a real, useful contribution while resting on an assumption that doesn't always hold — noting that distinction is exactly what a careful reader is for, and conflating the two is how weak assumptions quietly survive into later work that cites the paper uncritically.
Applying the method: Vaswani et al., 2017
Return to the student's paper. Applied correctly, here is what each pass should have produced.
Pass 1 output. Title and abstract: eight Google Brain and Google Research authors (Vaswani, Shazeer, Parmar, Uszkoreit, Jones, Gomez, Kaiser, Polosukhin) propose the Transformer, a sequence-transduction architecture built entirely from attention, discarding the recurrence and convolution used by every prior state-of-the-art translation model. Headings reveal the shape of the argument: Encoder and Decoder Stacks, Attention, Position-wise Feed-Forward Networks, Positional Encoding, Why Self-Attention, then Training and Results. The conclusion states the central claims in numbers: 28.4 BLEU on WMT 2014 English-to-German (beating the best prior result, including ensembles, by more than 2 BLEU points) and 41.8 BLEU on WMT 2014 English-to-French, both reached with substantially less training compute than the recurrent models they replaced. Venue is NeurIPS, a top machine-learning conference; the claim is specific and falsifiable. Verdict: worth a Pass 2.
Pass 2 output. The body confirms the encoder and decoder each stack six identical layers, with model dimension dmodel = 512 and h = 8 attention heads, each head operating on dk = dv = 64 dimensions (512 / 8 = 64, so the total computation per layer stays comparable to a single wide head). Figure 1's architecture diagram is worth more study time than any paragraph around it: it shows the encoder feeding a memory that the decoder attends to, alongside decoder self-attention that is masked to prevent a position from attending to positions after it. Table 2 is the results table carrying the 28.4 and 41.8 BLEU numbers, alongside a training-cost column showing the base model trained for 100,000 steps (about 12 hours) on 8 NVIDIA P100 GPUs, and the larger model for 300,000 steps (3.5 days). Table 3 runs ablations — varying the number of heads, the key dimension, and model size — which is where you'd look if you wanted to know which architectural choice actually mattered. One term flagged as unfamiliar and deferred to Pass 3: the paper divides every attention score by √dk before the softmax, and states this is needed because "for large values of dk, the dot products grow large in magnitude, pushing the softmax function into regions where it has extremely small gradients." That is a claim, not yet a verified fact — exactly what Pass 3 exists to check.
Pass 3: re-deriving the scaling claim. The paper's own footnote gives the argument's skeleton: if the components of query vector q and key vector k are independent random variables with mean 0 and variance 1, then their dot product q·k = Σi=1dk qiki is a sum of dk independent terms, each with mean 0 and variance 1 (since Var(qiki) = E[qi2]E[ki2] = 1 under independence). Variances of independent terms add, so Var(q·k) = dk, meaning the standard deviation of the raw score grows as √dk. Dividing by √dk restores unit variance regardless of how large dk is — that is the entire justification for the scaling term, and it checks out as a correct application of the variance-of-a-sum rule.
To see why unit variance actually matters, trace concrete numbers rather than trusting the argument abstractly. Take a toy case with dk = 4, and two candidate keys for one query: a well-aligned key that matches the query on half its dimensions, and an orthogonal key that shares nothing with it.
q = [1, 0, 1, 0]
k1 = [1, 0, 1, 0] # well-aligned with q
k2 = [0, 1, 0, -1] # orthogonal to q
q·k1 = 1·1 + 0·0 + 1·1 + 0·0 = 2
q·k2 = 1·0 + 0·1 + 1·0 + 0·(-1) = 0
Unscaled scores are [2, 0]. Feeding these into softmax(si) = esi / Σj esj gives weights [0.881, 0.119] — the model attends 88% to the matching key. Scaling by √dk = √4 = 2 turns the scores into [1, 0], giving softmax weights [0.731, 0.269] — a gentler, less committed distribution. At dk = 4 the difference is real but mild. The paper's actual model uses dk = 64, so extend the same construction — half the 64 dimensions aligned, contributing 1 each, giving a raw dot product of 32 for the matching key and 0 for the orthogonal one:
import math
def softmax(scores):
m = max(scores)
exps = [math.exp(s - m) for s in scores]
total = sum(exps)
return [e / total for e in exps]
unscaled_64 = softmax([32, 0]) # d_k = 64, no scaling
scaled_64 = softmax([32/math.sqrt(64), 0]) # scores -> [4, 0]
print(unscaled_64)
print(scaled_64)
Tracing this by hand: e32 is astronomically larger than e0 = 1, so unscaled_64 evaluates to [0.99999999999999, 1.27e-14] — the softmax has saturated completely. Its gradient with respect to the score is softmaxi(1 − softmaxi), which is essentially zero at this saturation point: backpropagation through this attention weight would carry almost no signal, exactly the vanishing-gradient failure the paper warns about. The scaled version divides 32 by √64 = 8, giving scores [4, 0], and softmax evaluates to [0.982, 0.018] — still confidently attending to the matching key, but nowhere near saturated, and with a gradient large enough to keep training useful. The claim in the footnote is now independently verified, not just taken on the authors' word — this is what a completed Pass 3 looks like.
The misconception to unlearn
The belief that catches nearly every student the first time is this: a properly prepared reader reads a paper start to finish, once, carefully, the way you'd read an assigned textbook chapter. It feels like the responsible way to read something important, and it is exactly backwards. Expert readers deliberately read out of order — abstract and conclusion before introduction, figures before body text, results table before the method that produced it — and they read most papers only partway before stopping, by design, not from lack of diligence. The stopping point after Pass 1 or Pass 2 is not an admission of defeat; it is the correct terminal depth for a paper that turned out to be background context rather than something you need to reproduce or defend. Spending Pass-3 effort on every paper you touch is not thoroughness — it is a failure to triage, and it is why the linear-reading approach runs out of time before it runs out of paper.
Active recall
Attempt each question before reading its answer.
1. Name the three passes in Keshav's method, their approximate time budgets, and the one question each pass must answer before you move to the next.
2. A classmate says: "I read the whole introduction, methods, and results in order, carefully, once — that's more thorough than skimming first." Explain what is wrong with this reasoning.
3. During Pass 1 of a new paper, list four specific things you should extract without reading the body in detail.
4. A query-key pair in a dk = 100 attention head produces a raw (unscaled) dot product of 50 for a well-matched key and 0 for a mismatched key. Compute the scaled score (divide by √dk) and state, without recomputing full softmax, whether this scaled score is more or less saturated than the dk = 64 case worked above (scaled score of 4).
5. (Ripple effect.) Suppose the model dimension is increased so that dk = 256 instead of 64, keeping the same construction as the worked example — half the dimensions aligned, each contributing 1, so the raw dot product for a matching key is dk/2 = 128. Trace the full effect: what is the scaled score, what is the resulting softmax weight on the matching key, and does scaling by √dk fully solve the saturation problem as dk grows without bound, or only partly?
6. What are Keshav's "five Cs" for paper notes, and why does he keep Correctness and Contributions as separate categories rather than folding them together?
Answers
1. Pass 1 (5–10 minutes): title, abstract, headings, conclusion, skim references — answers "is this relevant and credible enough for a Pass 2?" Pass 2 (about an hour): body text minus proofs, close study of figures and tables, note unfamiliar citations — answers "can I now summarize the argument and its evidence to someone else?" Pass 3 (several hours or more): re-derive every equation, virtually re-implement the method, surface hidden assumptions — answers "do I now trust every specific claim enough to build on it or defend it myself?"
2. Reading once, linearly, treats every sentence as equally load-bearing, but a paper's sentences are not equally important — the abstract and conclusion carry the claim, the figures carry the evidence, and much of the method text exists so a specialist reviewer can reproduce the work, not so a first-time reader can build intuition. A single linear pass has no mechanism for deciding early that a paper is irrelevant (wasting the full hour on something Pass 1 would have filtered in ten minutes) and no mechanism for flagging which specific claims need re-derivation versus which can be taken as given for now. It also reads proofs and setup at the same careful pace as the actual contribution, which is precisely backwards from where scrutiny is most valuable.
3. Any four of: the paper's category (what kind of contribution it claims to be), the central claim stated in the abstract/conclusion, the specific numeric results claimed (so you can judge credibility), the venue and whether it's peer-reviewed, recognizable names or prior work in the reference list, and the section headings that reveal the paper's overall structure and argument shape.
4. Scaled score = 50 / √100 = 50 / 10 = 5. This is more saturated than the dk = 64 case's scaled score of 4: e5 ≈ 148.4 versus e4 ≈ 54.6, both weighed against a fixed e0 = 1 for the mismatched key, so softmax([5, 0]) puts even more weight on the matching key than softmax([4, 0]) does. Notice that 50 is exactly half of 100, the same "half the dimensions aligned" ratio used at dk = 64 (32 is half of 64) — so this is not a new construction, it is the same pattern at a larger dk, and it confirms that scaling did not cap the saturation; it only slowed its growth (see Question 5 for why).
5. Scaled score = (256/2) / √256 = 128 / 16 = 8. Softmax([8, 0]) = [e8/(e8+1), 1/(e8+1)] ≈ [0.99966, 0.00034] — sharper (more saturated) than the dk = 64 case's [0.982, 0.018]. The general pattern: for this "half-aligned" construction, the scaled score equals √dk/2, which is unbounded as dk → ∞, even though it grows more slowly than the unscaled score (which would equal dk/2, growing linearly). So scaling by √dk only partly solves the problem: it correctly normalizes the variance contributed by random, unaligned components (the noise the footnote's argument targets), but it does not cap the score contributed by genuinely well-aligned query-key pairs, which still grows — just at the slower rate of √dk instead of dk. In practice this residual growth is far gentler than the unscaled explosion, and confident attention to a truly matching key is arguably desirable rather than a bug — but a careful Pass-3 reader should still flag it as a "Correctness" note distinct from the paper's "Contributions": the scaling claim holds for the random-noise regime the footnote analyzes, but is not a universal cap on saturation for all query-key configurations.
6. Category (what type of paper it is), Context (what other work and theory it connects to), Correctness (whether its assumptions genuinely hold), Contributions (what it actually adds that is new), and Clarity (whether it is well written). Keshav separates Correctness from Contributions because a paper can make a real and useful contribution while still resting on an assumption that only holds in restricted conditions — Question 5 above is a working example: the scaling trick is a genuine, useful contribution, but its "Correctness" justification (the variance argument) covers the random-mismatch case, not the well-aligned case. Merging the two categories into one judgment would hide that distinction, and any later paper citing this one uncritically would inherit the same blind spot.
Think About It
Think about this: How would you explain reading research papers: a systematic approach to a friend who has never seen a computer? What real-world analogy would you use? Imagine you had to build a system using these concepts — what would be your first step? Try this: before moving on, write down three things you learned and one question you still have.
Key Takeaways — Summary and Recap
Let us recap what we covered: the core ideas behind reading research papers: a systematic approach, how they connect to real-world applications, and why they matter for your journey in computer science. Remember these key points as you move forward. For competitive exam preparation (CBSE, JEE, BITSAT), focus on understanding the WHY behind each concept, not just the WHAT.