N Neurarch Architectures Models Checks Data Docs Open the app

Models / phi

phi-2

Reconstructed from its own config.json with no weights read. 1.3M downloads on Hugging Face.

Our count against the checkpoint

The left number comes from the graph. The right one is the number of scalars in the published weight files. Nothing on this page was tuned to make them agree.

Derived from structure
2.78B
2,779,520,000 parameters
In the published checkpoint
2.78B
2,779,683,840 scalars · safetensors.total, read 2025-12-08
Delta
-0.01%

What it costs to run

Cost is a roofline estimate on the priced GPU for 10 epochs at batch 32 over 50,000 samples (assumed; no dataset attached). GPU fit is fp32 weights plus gradients plus two Adam moments (16 bytes per parameter) with 1.3x headroom; activations are not included and grow with batch size.

Layers
196
Will it forward-pass
Yes
Priced on
A10G (24GB)
Est. one run
$215.87
CardMemory
T4 (16GB)weights + activationsdoes not fit
A100 (40GB)weights + activationsdoes not fit
H100 (80GB)weights + activationsfits

Structure

198 nodes. Output shapes are propagated from the input shape, batch dimension excluded.

LayerTypeOutput shape
1InputInput1 × 2048
2EmbeddingEmbedding1 × 2048 × 2560
3RoPERoPE1 × 2048 × 2560
4LayerNorm_1_1LayerNorm1 × 2048 × 2560
5Attention_1Grouped Query Attn1 × 2048 × 2560
6Add_1_attnAdd1 × 2048 × 2560
7LayerNorm_1_2LayerNorm1 × 2048 × 2560
8FFN_1Feed Forward1 × 2048 × 2560
9Add_1_ffnAdd1 × 2048 × 2560
10LayerNorm_2_1LayerNorm1 × 2048 × 2560
11Attention_2Grouped Query Attn1 × 2048 × 2560
12Add_2_attnAdd1 × 2048 × 2560
13LayerNorm_2_2LayerNorm1 × 2048 × 2560
14FFN_2Feed Forward1 × 2048 × 2560
15Add_2_ffnAdd1 × 2048 × 2560
16LayerNorm_3_1LayerNorm1 × 2048 × 2560
17Attention_3Grouped Query Attn1 × 2048 × 2560
18Add_3_attnAdd1 × 2048 × 2560
19LayerNorm_3_2LayerNorm1 × 2048 × 2560
20FFN_3Feed Forward1 × 2048 × 2560
21Add_3_ffnAdd1 × 2048 × 2560
22LayerNorm_4_1LayerNorm1 × 2048 × 2560
23Attention_4Grouped Query Attn1 × 2048 × 2560
24Add_4_attnAdd1 × 2048 × 2560
25LayerNorm_4_2LayerNorm1 × 2048 × 2560
26FFN_4Feed Forward1 × 2048 × 2560
27Add_4_ffnAdd1 × 2048 × 2560
28LayerNorm_5_1LayerNorm1 × 2048 × 2560
29Attention_5Grouped Query Attn1 × 2048 × 2560
30Add_5_attnAdd1 × 2048 × 2560
31LayerNorm_5_2LayerNorm1 × 2048 × 2560
32FFN_5Feed Forward1 × 2048 × 2560
33Add_5_ffnAdd1 × 2048 × 2560
34LayerNorm_6_1LayerNorm1 × 2048 × 2560
35Attention_6Grouped Query Attn1 × 2048 × 2560
36Add_6_attnAdd1 × 2048 × 2560
37LayerNorm_6_2LayerNorm1 × 2048 × 2560
38FFN_6Feed Forward1 × 2048 × 2560
39Add_6_ffnAdd1 × 2048 × 2560
40LayerNorm_7_1LayerNorm1 × 2048 × 2560
41Attention_7Grouped Query Attn1 × 2048 × 2560
42Add_7_attnAdd1 × 2048 × 2560
43LayerNorm_7_2LayerNorm1 × 2048 × 2560
44FFN_7Feed Forward1 × 2048 × 2560
45Add_7_ffnAdd1 × 2048 × 2560
46LayerNorm_8_1LayerNorm1 × 2048 × 2560
47Attention_8Grouped Query Attn1 × 2048 × 2560
48Add_8_attnAdd1 × 2048 × 2560
49LayerNorm_8_2LayerNorm1 × 2048 × 2560
50FFN_8Feed Forward1 × 2048 × 2560
51Add_8_ffnAdd1 × 2048 × 2560
52LayerNorm_9_1LayerNorm1 × 2048 × 2560
53Attention_9Grouped Query Attn1 × 2048 × 2560
54Add_9_attnAdd1 × 2048 × 2560
55LayerNorm_9_2LayerNorm1 × 2048 × 2560
56FFN_9Feed Forward1 × 2048 × 2560
57Add_9_ffnAdd1 × 2048 × 2560
58LayerNorm_10_1LayerNorm1 × 2048 × 2560
59Attention_10Grouped Query Attn1 × 2048 × 2560
60Add_10_attnAdd1 × 2048 × 2560
61LayerNorm_10_2LayerNorm1 × 2048 × 2560
62FFN_10Feed Forward1 × 2048 × 2560
63Add_10_ffnAdd1 × 2048 × 2560
64LayerNorm_11_1LayerNorm1 × 2048 × 2560
65Attention_11Grouped Query Attn1 × 2048 × 2560
66Add_11_attnAdd1 × 2048 × 2560
67LayerNorm_11_2LayerNorm1 × 2048 × 2560
68FFN_11Feed Forward1 × 2048 × 2560
69Add_11_ffnAdd1 × 2048 × 2560
70LayerNorm_12_1LayerNorm1 × 2048 × 2560
71Attention_12Grouped Query Attn1 × 2048 × 2560
72Add_12_attnAdd1 × 2048 × 2560
73LayerNorm_12_2LayerNorm1 × 2048 × 2560
74FFN_12Feed Forward1 × 2048 × 2560
75Add_12_ffnAdd1 × 2048 × 2560
76LayerNorm_13_1LayerNorm1 × 2048 × 2560
77Attention_13Grouped Query Attn1 × 2048 × 2560
78Add_13_attnAdd1 × 2048 × 2560
79LayerNorm_13_2LayerNorm1 × 2048 × 2560
80FFN_13Feed Forward1 × 2048 × 2560
81Add_13_ffnAdd1 × 2048 × 2560
82LayerNorm_14_1LayerNorm1 × 2048 × 2560
83Attention_14Grouped Query Attn1 × 2048 × 2560
84Add_14_attnAdd1 × 2048 × 2560
85LayerNorm_14_2LayerNorm1 × 2048 × 2560
86FFN_14Feed Forward1 × 2048 × 2560
87Add_14_ffnAdd1 × 2048 × 2560
88LayerNorm_15_1LayerNorm1 × 2048 × 2560
89Attention_15Grouped Query Attn1 × 2048 × 2560
90Add_15_attnAdd1 × 2048 × 2560
91LayerNorm_15_2LayerNorm1 × 2048 × 2560
92FFN_15Feed Forward1 × 2048 × 2560
93Add_15_ffnAdd1 × 2048 × 2560
94LayerNorm_16_1LayerNorm1 × 2048 × 2560
95Attention_16Grouped Query Attn1 × 2048 × 2560
96Add_16_attnAdd1 × 2048 × 2560
97LayerNorm_16_2LayerNorm1 × 2048 × 2560
98FFN_16Feed Forward1 × 2048 × 2560
99Add_16_ffnAdd1 × 2048 × 2560
100LayerNorm_17_1LayerNorm1 × 2048 × 2560
101Attention_17Grouped Query Attn1 × 2048 × 2560
102Add_17_attnAdd1 × 2048 × 2560
103LayerNorm_17_2LayerNorm1 × 2048 × 2560
104FFN_17Feed Forward1 × 2048 × 2560
105Add_17_ffnAdd1 × 2048 × 2560
106LayerNorm_18_1LayerNorm1 × 2048 × 2560
107Attention_18Grouped Query Attn1 × 2048 × 2560
108Add_18_attnAdd1 × 2048 × 2560
109LayerNorm_18_2LayerNorm1 × 2048 × 2560
110FFN_18Feed Forward1 × 2048 × 2560
111Add_18_ffnAdd1 × 2048 × 2560
112LayerNorm_19_1LayerNorm1 × 2048 × 2560
113Attention_19Grouped Query Attn1 × 2048 × 2560
114Add_19_attnAdd1 × 2048 × 2560
115LayerNorm_19_2LayerNorm1 × 2048 × 2560
116FFN_19Feed Forward1 × 2048 × 2560
117Add_19_ffnAdd1 × 2048 × 2560
118LayerNorm_20_1LayerNorm1 × 2048 × 2560
119Attention_20Grouped Query Attn1 × 2048 × 2560
120Add_20_attnAdd1 × 2048 × 2560
121LayerNorm_20_2LayerNorm1 × 2048 × 2560
122FFN_20Feed Forward1 × 2048 × 2560
123Add_20_ffnAdd1 × 2048 × 2560
124LayerNorm_21_1LayerNorm1 × 2048 × 2560
125Attention_21Grouped Query Attn1 × 2048 × 2560
126Add_21_attnAdd1 × 2048 × 2560
127LayerNorm_21_2LayerNorm1 × 2048 × 2560
128FFN_21Feed Forward1 × 2048 × 2560
129Add_21_ffnAdd1 × 2048 × 2560
130LayerNorm_22_1LayerNorm1 × 2048 × 2560
131Attention_22Grouped Query Attn1 × 2048 × 2560
132Add_22_attnAdd1 × 2048 × 2560
133LayerNorm_22_2LayerNorm1 × 2048 × 2560
134FFN_22Feed Forward1 × 2048 × 2560
135Add_22_ffnAdd1 × 2048 × 2560
136LayerNorm_23_1LayerNorm1 × 2048 × 2560
137Attention_23Grouped Query Attn1 × 2048 × 2560
138Add_23_attnAdd1 × 2048 × 2560
139LayerNorm_23_2LayerNorm1 × 2048 × 2560
140FFN_23Feed Forward1 × 2048 × 2560
141Add_23_ffnAdd1 × 2048 × 2560
142LayerNorm_24_1LayerNorm1 × 2048 × 2560
143Attention_24Grouped Query Attn1 × 2048 × 2560
144Add_24_attnAdd1 × 2048 × 2560
145LayerNorm_24_2LayerNorm1 × 2048 × 2560
146FFN_24Feed Forward1 × 2048 × 2560
147Add_24_ffnAdd1 × 2048 × 2560
148LayerNorm_25_1LayerNorm1 × 2048 × 2560
149Attention_25Grouped Query Attn1 × 2048 × 2560
150Add_25_attnAdd1 × 2048 × 2560
151LayerNorm_25_2LayerNorm1 × 2048 × 2560
152FFN_25Feed Forward1 × 2048 × 2560
153Add_25_ffnAdd1 × 2048 × 2560
154LayerNorm_26_1LayerNorm1 × 2048 × 2560
155Attention_26Grouped Query Attn1 × 2048 × 2560
156Add_26_attnAdd1 × 2048 × 2560
157LayerNorm_26_2LayerNorm1 × 2048 × 2560
158FFN_26Feed Forward1 × 2048 × 2560
159Add_26_ffnAdd1 × 2048 × 2560
160LayerNorm_27_1LayerNorm1 × 2048 × 2560
161Attention_27Grouped Query Attn1 × 2048 × 2560
162Add_27_attnAdd1 × 2048 × 2560
163LayerNorm_27_2LayerNorm1 × 2048 × 2560
164FFN_27Feed Forward1 × 2048 × 2560
165Add_27_ffnAdd1 × 2048 × 2560
166LayerNorm_28_1LayerNorm1 × 2048 × 2560
167Attention_28Grouped Query Attn1 × 2048 × 2560
168Add_28_attnAdd1 × 2048 × 2560
169LayerNorm_28_2LayerNorm1 × 2048 × 2560
170FFN_28Feed Forward1 × 2048 × 2560
171Add_28_ffnAdd1 × 2048 × 2560
172LayerNorm_29_1LayerNorm1 × 2048 × 2560
173Attention_29Grouped Query Attn1 × 2048 × 2560
174Add_29_attnAdd1 × 2048 × 2560
175LayerNorm_29_2LayerNorm1 × 2048 × 2560
176FFN_29Feed Forward1 × 2048 × 2560
177Add_29_ffnAdd1 × 2048 × 2560
178LayerNorm_30_1LayerNorm1 × 2048 × 2560
179Attention_30Grouped Query Attn1 × 2048 × 2560
180Add_30_attnAdd1 × 2048 × 2560
181LayerNorm_30_2LayerNorm1 × 2048 × 2560
182FFN_30Feed Forward1 × 2048 × 2560
183Add_30_ffnAdd1 × 2048 × 2560
184LayerNorm_31_1LayerNorm1 × 2048 × 2560
185Attention_31Grouped Query Attn1 × 2048 × 2560
186Add_31_attnAdd1 × 2048 × 2560
187LayerNorm_31_2LayerNorm1 × 2048 × 2560
188FFN_31Feed Forward1 × 2048 × 2560
189Add_31_ffnAdd1 × 2048 × 2560
190LayerNorm_32_1LayerNorm1 × 2048 × 2560
191Attention_32Grouped Query Attn1 × 2048 × 2560
192Add_32_attnAdd1 × 2048 × 2560
193LayerNorm_32_2LayerNorm1 × 2048 × 2560
194FFN_32Feed Forward1 × 2048 × 2560
195Add_32_ffnAdd1 × 2048 × 2560
196Final_LayerNormLayerNorm1 × 2048 × 2560
197LM_HeadLinear1 × 2048 × 51200
198OutputOutput1 × 2048 × 51200

What the verifier says

info32 attention layers at embedDim 2560 cache full per-head K/V: about 320 KB per token at fp16, which dominates memory at long context. Grouped-query attention (e.g. 8:1) would cut this ~8×; multi-head latent attention (MLA) shrinks it ~10× or more. This is the move production LLMs make; it does not change the parameter count. Fix: Switch attention to groupedQueryAttention (set numKVHeads below numHeads, e.g. numHeads/4) or mla (a low-rank cached latent).
full-mha-serving-cost
infoAt 32 stacked attention layers, residual-branch outputs add up; unscaled init lets activation variance grow with depth. GPT-2/LLaMA-family models scale the residual projections by depth (N(0, 0.02 / √(2L))). Fix: Scale residual output projections by depth: nn.init.normal_(w, std=0.02 / math.sqrt(2 * n_layers))
deep-attention-default-init

Do this to your own model

Same numbers, on a model in your repo, in one command. No account.

pip install neurarch-trace
neurarch-trace microsoft/phi-2 --plan --share