Language-specific neurons sit in the last four layers of a 284B model
A multilingual model has to track which language it is reading, and the machinery that does this can spread through the depth of the network or sit in a narrow band of layers. I measured which, in DeepSeek-V4-Flash, an open-weight Mixture-of-Experts model with 284 billion parameters, 13 billion active per token, and 43 layers.1 I ran Tang et al.'s LAPE probe over seven languages, then recomputed the selection across twelve threshold and filter settings. At the standard setting, 90,469 of 179,016 selected cells (50.54%) sit in layers 39 to 42 of 43. Normalized against the cells each setting makes eligible, the last four layers are over-represented by 1.9x to 7.0x, in all twelve settings.
Method
A Mixture-of-Experts model sends different tokens to different sub-networks. In V4-Flash, layers 0 to 2 route each token by a hash of its input id, and layers 3 to 42 route it by a learned gate to 6 of 256 experts, plus one shared expert that sees every token. Each expert has an intermediate width of 2048 channels. The unit of measurement here is one channel of one expert in one layer; I call that a cell, and the same channel index in two experts is two different cells.
The corpus is FineWeb for English and FineWeb-2 for Chinese, French, Spanish, Arabic, Hindi, and Japanese. Each language contributes 98,304 tokens. The activation pass ran on four H200 GPUs and cost about $25 to $30 in total.
LAPE stands for language activation probability entropy (Tang et al., ACL 2024). For each cell and each language, it computes the fraction of that language's routed tokens on which the cell activates, then normalizes those seven fractions into a distribution, takes the entropy, and selects the lowest-entropy cells.2
Tang's released code hard-codes the selection at the bottom 1%, and that number is a setting rather than a result. In all twelve of my settings the selected count matched the requested rate to five decimal places: it is 1.0000018% of eligible cells at the standard setting and 4.9999978% at a 5% rate. The count follows the setting. The shape of the selection is the measurement.
A sparse model needs one filter that Tang's dense setting does not. An expert only sees the tokens its router sends it, so a cell whose expert saw 12 Arabic tokens carries an activation rate with no power behind it. The min_tokens filter keeps a (layer, expert) pair only when all seven languages routed at least that many tokens to it. The standard setting below is a 1% rate with min_tokens at 100, which leaves 17,901,568 eligible cells in the learned-routed layers. It selects 179,016 of them.3
Result: the selection concentrates in the last four layers
Counts by layer band, at the standard setting:
| Layers | Cells | Share of 179,016 |
|---|---|---|
| 3 to 12 | 20,904 | 11.68% |
| 13 to 22 | 14,023 | 7.83% |
| 23 to 36 | 35,087 | 19.60% |
| 37 to 42 | 109,002 | 60.89% |
| of which 39 to 42 | 90,469 | 50.54% |
Layers 3 to 22 are half of the learned-routed depth and hold 19.51% of the selection, while layers 39 to 42 are a tenth of that depth and hold 50.54%. The four densest layers are 39 (21,696 cells), 40 (22,317), 41 (24,141), and 42 (22,315); the next largest is layer 38, at 10,562 cells.
The raw share moves with the setting, from 2.62% to 58.36% across the twelve, and that reads as fragile until you count what each setting leaves eligible. Late-layer routing is more concentrated, so late-layer experts fail the min_tokens test first: at min_tokens = 1000, layer 40 has 4 eligible experts of 256 and layer 42 has 4, against 103 at layer 13. The last four layers then supply 1.37% of all eligible cells, so the 6.87% selected there is a 5.02x over-representation.
| Rate | min_tokens |
Selected | In last 4 | Eligible in last 4 | Enrichment |
|---|---|---|---|---|---|
| 0.5% | 0 | 103,752 | 38.59% | 10.00% | 3.86x |
| 0.5% | 100 | 89,508 | 58.36% | 8.29% | 7.04x |
| 0.5% | 1000 | 26,962 | 8.78% | 1.37% | 6.42x |
| 1% | 0 | 207,503 | 40.24% | 10.00% | 4.02x |
| 1% | 100 | 179,016 | 50.54% | 8.29% | 6.09x |
| 1% | 1000 | 53,924 | 6.87% | 1.37% | 5.02x |
| 2% | 0 | 415,007 | 39.06% | 10.00% | 3.91x |
| 2% | 100 | 358,031 | 41.69% | 8.29% | 5.03x |
| 2% | 1000 | 107,848 | 4.89% | 1.37% | 3.58x |
| 5% | 0 | 1,037,517 | 31.87% | 10.00% | 3.19x |
| 5% | 100 | 895,078 | 27.25% | 8.29% | 3.29x |
| 5% | 1000 | 269,619 | 2.62% | 1.37% | 1.92x |
Every setting points the same way. The weakest enrichment is 1.92x and the strongest is 7.04x; that range, not the 50.54%, is the finding, because it does not depend on either setting.4
Result: most tagged cells tag one language
At the standard setting, 143,669 of the 179,016 selected cells are assigned to exactly one language, or 80.25%. The mean is 1.2535 languages per cell. A cell is assigned to a language when its activation probability for that language clears the 95th-percentile bar, and four cells in five clear that bar for one language only. That is what makes the late band read as language-specific rather than as generic late-layer machinery.
This one is weaker under a loose threshold. The multi-language fraction runs from 17.76% to 42.66% across the twelve settings, growing as the rate loosens and reaching 42.66% at a 5% rate with min_tokens at 1000. The single-language reading holds at rates up to 2%, where the fraction stays between 17.76% and 29.33%.
What the data does not support
The 1% is not a measured fraction of the network, and nothing here says that 1% of V4-Flash is language-specific. The threshold produces that count by construction.
The per-language ranking is not stable, so I do not report one: Japanese leads the count in six of the twelve settings and Hindi leads in the other six. That ordering tracks which cells clear the power filter, not the typology of the languages.
The denominator is narrower than "all tagged neurons". The 179,016 cells are the learned-routed selection, and the same run selects 15,688 cells in the hash-routed layers and 819 in the shared experts. Against the combined 195,523, the 90,469 late-layer cells are 46.27%.
This is one run at a pilot token count, with no bootstrap variance on any figure.3 It is also one model. Tang et al. report a comparable concentration in the top quarter of the dense LLaMA-2-7B. This run does not re-measure that result. A claim about invariance across scale needs a re-analysis at matched settings.
Conclusion
A standard entropy probe tags a subset of cells as language-specific. In this model that subset is over-represented in the last four of 43 layers by 1.9x to 7.0x, and the enrichment holds at every rate and power filter tested. Four in five tagged cells carry exactly one language. Layers 3 to 38 are nine tenths of the learned-routed depth and hold the other 49.46%. The reading is that most of the network computes something the seven languages share, and a late band carries the language-specific part.
That is a statement about where the selection lands, not about what the late band does. The test that would settle it is causal. Ablate the tagged cells in layers 39 to 42 and measure per-language loss. Compare that against an ablation of the same number of untagged cells in the same layers. That experiment is not run.
Data availability
reanalysis.json accompanies this note. It holds the power audit, the twelve-setting sweep, the per-layer counts, and the cross-language overlap histogram; every measurement reported here comes from that file or from a recomputation over the raw counters, except where a footnote names another source. The raw per-language activation counters are 173 MB per language, 2.4 GB in total, and are available on request. This probe has no public repository.
- The model card gives 284B total parameters, 13B activated, MIT license. The local config gives 43 transformer blocks, 3 hash-routed and 40 learned-routed. Each learned-routed layer has 256 routed experts and 1 shared expert, with top-6 routing. The expert width
moe_intermediate_sizeis 2048,swiglu_limitis 10.0, and the expert weights are FP4. - Tang et al., *Language-Specific Neurons: The Key to Multilingual Capabilities in Large Language Models*, ACL 2024 (arXiv:2402.16438). The released
identify.pysetstop_rate = 0.01,filter_rate = 0.95, andactivation_bar_ratio = 0.95. The probe activates onsilu(clamp(w1(x), max=10.0)) > 0, which is the gate projection after the SwiGLU clamp and before multiplication with the up projection. The two 0.95 settings drop cells that never cross the 95th percentile of the global activation distribution. A selected cell is then assigned to every language whose activation probability clears that same percentile. That is how one cell comes to carry more than one language. - Each language contributes 98,304 tokens, which is a pilot count. Across the 71,680 (layer, expert, language) routing counts in the learned-routed layers, 4,766 are under 100 tokens (6.65%) and 32,892 are under 1,000 (45.89%). The tokenizer is the HuggingFace default rather than DeepSeek's own encoder. There is one run and no bootstrap variance.
- The same selection kernel reproduced Tang et al.'s LLaMA-2-7B result at the aggregate level during validation. Per-cell agreement was weaker: index-set Jaccard 0.66 against a 0.70 acceptance threshold. The validation attributes the gap to corpus drift, since Tang's 2022 Wikipedia snapshot is no longer available.