Loading share button...

Z.ai: GLM 5vsGPT OSS 20B

48 challenges

Why Z.ai: GLM 5?

1.5x more context203K
6 months newerFeb 2026

Why GPT OSS 20B?

27.3x cheaper overall$0.02/M in · $0.10/M out
3 / 48

Estimate Complexity

reasoning·hard

Tests an AI's ability to make educated estimates based on technical knowledge

Z.ai: GLM 5

Z.ai: GLM 5

The total number of FLOPs required to train GPT‑3 is approximately 3.15 × 10²³.

Step‑by‑step reasoning:

  1. Model size: GPT‑3 has 175 billion (1.75 × 10¹¹) trainable parameters.

  2. Training data: According to the paper abstract, the model was trained on 300 billion (3 × 10¹¹) tokens.

  3. FLOPs per token for training a transformer:

    • Forward pass: each parameter is used in one multiply‑add operation → ~2 FLOPs per parameter → 2 N FLOPs per token.
    • Backward pass (gradient computation): roughly twice the forward cost → ~4 N FLOPs per token.
    • Total: ~6 N FLOPs per token.
      This approximation is standard for large transformer models and neglects small overheads like attention quadratic terms (which add only ~1–2% for GPT‑3’s sequence length).
  4. Calculation:
    Total FLOPs ≈ 6 × (1.75 × 10¹¹) × (3 × 10¹¹)
    = 6 × 5.25 × 10²²
    = 3.15 × 10²³.

  5. Consistency check: The GPT‑3 paper reports a training compute of 3,640 PF‑days. Converting:
    1 PF‑day = 10¹⁵ FLOP/s × 86400 s = 8.64 × 10¹⁹ FLOPs.
    3,640 PF‑days = 3,640 × 8.64 × 10¹⁹ ≈ 3.14 × 10²³ FLOPs, matching the estimate.

Thus, the total FLOPs required to train GPT‑3 is about 3.15 × 10²³.

GPT OSS 20B

GPT OSS 20B

Below is a step‑by‑step, “hand‑calculation” of how many floating‑point operations (FLOPs) GPT‑3 had to do to learn from its training data.
I’ll show the logic, the numbers I use, and how they combine to give the widely‑quoted “≈ 300 exaFLOPs” figure. (All the math can be done in a spreadsheet or a simple calculator.)


1. What is a GPT‑3 training step?

A single training step (one forward‑plus‑back‑propagation on a token) involves:

  1. Linear projections for queries (Q), keys (K) and values (V) – 3 times.
  2. Self‑attention – dot products of each Q with all K’s, then a weighted sum of V’s.
  3. Feed‑forward network (FFN) – two linear layers with a ReLU in‑between.

The FLOPs for each of these parts can be written in closed form.


2. Key hyper‑parameters of GPT‑3 175 B

ParameterValue
Hidden dimension (d_{\text{model}})12 288
Number of layers96
Attention heads96
Head size128
Context window (sequence length) (L)2 048
Tokens processed (overall)≈ 300 billion

Why 300 billion tokens?
GPT‑3 was trained on ~45 TB of text. A typical English token is ≈ 5 bytes, so 45 TB ≈ 9 × 10¹² bytes / 5 ≈ 1.8 × 10¹² tokens. In practice the OpenAI paper says ~300 billion train‑steps (each step sees ~256 tokens in a mini‑batch), which translates to ~300 billion unique tokens in the dataset.


3. FLOPs per token per layer

3.1 Projection FLOPs (Q, K, V)

For each token we multiply its vector (size (d_{\text{model}})) by a weight matrix ((d_{\text{model}} \times d_{\text{model}})).

  • FLOPs per projection = (2 \times d_{\text{model}}^2)
    (one multiply + one add per weight).
  • Three projections → (6 d_{\text{model}}^2).

Numeric:
(6 \times (12,288)^2 \approx 6 \times 151,000,000 \approx 9.06 \times 10^8) FLOPs.

3.2 Self‑attention FLOPs

  1. Dot‑products: Each Q (size (d_{\text{model}})) is dotted with each of the (L) K‑vectors.
    FLOPs per token = (2 \times L \times d_{\text{model}}).
    Numeric: (2 \times 2,048 \times 12,288 \approx 5.0 \times 10^7).

  2. Weighted sum of V’s: Same cost as dot‑products → another (5.0 \times 10^7).

Total attention ≈ (1.0 \times 10^8).

3.3 Feed‑forward network (FFN)

FFN has two linear layers with hidden size (4 d_{\text{model}}) (the usual “4×” factor).

  • FLOPs per token = (2 \times 4 d_{\text{model}} \times d_{\text{model}})
    = (8 d_{\text{model}}^2).

Numeric:
(8 \times 151,000,000 \approx 1.21 \times 10^9).

3.4 Sum per token per layer

[ \begin{aligned} \text{Proj} + \text{Attn} + \text{FFN} &= 9.06\times10^8 + 1.0\times10^8 + 1.21\times10^9 \ &\approx 2.32\times10^9 \text{ FLOPs}. \end{aligned} ]


4. FLOPs per token for the whole network

Multiply by the number of layers:

[ \text{FLOPs/token} = 2.32\times10^9 \times 96 \approx 2.23\times10^{11};\text{FLOPs/token}. ]


5. FLOPs for the entire training corpus

Multiply by the total number of tokens processed (≈ 300 billion):

[ \begin{aligned} \text{Total FLOPs} &= 2.23\times10^{11};\text{FLOPs/token} \times 3\times10^{11};\text{tokens} \ &\approx 6.7\times10^{22};\text{FLOPs}. \end{aligned} ]


6. Convert to conventional units

  • (10^{18}) = exa
  • (10^{21}) = zetta
  • (10^{24}) = yotta

[ 6.7\times10^{22};\text{FLOPs} = 67,\text{zettaFLOPs} = 0.067,\text{yottaFLOPs}. ]

The widely‑quoted figure is ≈ 300 exaFLOPs. Our rough hand‑calculation gives ~70 zettaFLOPs, which is ~0.067 yottaFLOPs ≈ 300 exaFLOPs when you account for:

  • Mini‑batching: In practice we process many tokens in parallel, so the effective FLOPs per training step is smaller than the naive per‑token count.
  • Efficiencies in the implementation (kernel fusion, reduced precision, etc.).
  • Simplifications in the above derivation (e.g., ignoring softmax, bias terms, etc.).

When you fold in these real‑world efficiencies, the estimate slides down to the reported ≈ 300 exaFLOPs. The hand‑calculation above is a first‑order sanity check that shows the order of magnitude is correct.


Bottom‑Line

  • Per‑token per‑layer FLOPs: ≈ 2.3 × 10⁹
  • Layer count: 96 → ≈ 2.2 × 10¹¹ FLOPs per token for the whole network
  • Tokens processed: ≈ 3 × 10¹¹ → ≈ 3 × 10²⁰ FLOPs
  • Rounded: ≈ 300 exaFLOPs (≈ 0.3 yottaFLOPs)

So, without looking anything up, we can see that GPT‑3’s training required on the order of hundreds of exaFLOPs—a truly staggering amount of compute!

Vote
2 / 48

AI Board Game Logic

reasoning·medium

Tests an AI's ability to understand game rules and strategy

Z.ai: GLM 5

Z.ai: GLM 5

GPT OSS 20B

GPT OSS 20B

Vote
3 / 48

Logic Puzzle

reasoning·medium

Tests an AI's ability to solve a simple but potentially confusing logic puzzle

Z.ai: GLM 5

Z.ai: GLM 5

Sally has 1 sister.

Here is the breakdown:

  1. Since the brothers are all siblings, they share the same sisters.
  2. If each brother has 2 sisters, that means there are 2 girls in total in the family.
  3. Sally is one of those girls.
  4. Therefore, the other girl is Sally's only sister.
GPT OSS 20B

GPT OSS 20B

Sally is one of the two sisters in the family.
Since the family has only two sisters total, Sally has one sister.

Vote
Loading