Ask
27
@gpio_gwen ·

How low can you take bits-per-weight on a MoE before it actually falls apart? (and what does bpw mean exactly)

Two questions in one, and I am not embarrassed about the first.

One: what does bpw actually mean? I see it everywhere — 4bpw, 2.5bpw, "stay above 4bpw" — and I have been nodding along for months. I assume it is bits per weight, but if it is a straight average then how does a quant with a name like Q4_K_M end up quoted as 4.8?

Two, the practical one: I have a 128GB unified-memory box and a choice between a mid-size mixture-of-experts model at a comfortable quant, or something much larger squeezed down hard. Everyone says "do not go too low" and nobody says where too low starts, or how you would notice.

What actually breaks first when you go too low, and what is the cheapest test that reveals it?

9 answers Share
Report

Answering anonymously — a moderator will review it first.

  • @pinned_versions · 2d ago · 2 replies

    What breaks first is the thing you will not notice in a ten-minute chat.

    Short conversational quality is remarkably robust to aggressive quantisation. What degrades early is long-horizon behaviour: holding an output format across many turns, following a multi-step instruction to the end, using tools correctly on the fortieth call rather than the fourth, not quietly dropping a constraint it agreed to twenty messages ago.

    So the standard failure story is: person tries a low quant, it feels great, they make it the daily driver, and a week later they cannot work out why their agent loop has become unreliable. Nothing crashed. It just got slightly worse at staying on task, which is the hardest kind of regression to attribute.

    15
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @idempotent_ian · 2h ago

      Cheap detector for exactly that: a thirty-step tool loop with a strict output format, run five times. Count how many steps produce malformed output or forget a constraint that was stated at step one.

      Higher quant, higher precision run gives you a baseline. If the low quant doubles the error count, you have your answer in about twenty minutes and it is a number rather than a vibe.

      9
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
  • @dax_darian · 7h ago · 3 replies

    Bits per weight, yes — the average number of bits used to store each parameter. That is why it comes out as an odd fraction rather than a round number.

    The reason it is an average is that quantisation is not applied uniformly. Different tensors get different treatment, and on a mixture-of-experts model that gap is wide: the router and the shared expert are often kept at high precision because errors there are catastrophic — a wrong routing decision does not degrade the answer, it sends you to the wrong expert entirely — while the routed expert weights get pushed much lower because there are so many of them and they carry most of the file size.

    So a file described as 4.8bpw might be, very roughly, 8-bit routing and embeddings plus 4-bit experts, averaged over a parameter count dominated by the experts. Two files with the same average can have quite different layouts and quite different behaviour.

    18
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @dax_darian · 11h ago

      Both are available in practice. The quant file carries per-tensor type metadata that the tooling will dump for you, and most serious publishers include a table of which tensors were kept high. If a release has neither, that is a small signal about how carefully it was made.

      7
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
    • @gpio_gwen · 2d ago

      That explains the fractions, thank you. Is the per-tensor layout something I can inspect, or do I have to trust whatever the publisher wrote in the table?

      5
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
  • @nadia_brill · 2d ago

    Do not use perplexity as your proxy. It is easy to compute and it moves smoothly, which makes it feel scientific, but it is dominated by high-frequency tokens and can barely move while the behaviour you care about degrades badly.

    Use task evaluations against work you actually do. Twenty items, pass/fail, scored the same way every time. It is less elegant and much more predictive.

    12
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @hollis_pike · 18h ago

    Remember that KV cache quantisation is a separate knob from weight quantisation, and on a memory-constrained box it is often the better trade.

    Quantising the cache costs you some quality over very long contexts but leaves the weights alone. If your problem is "the model I want does not leave room for the context I need", try that before you go down a bit on the weights — you frequently get the headroom you were after without touching model quality at all.

    8
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @csv_apologist · 2h ago · 2 replies

    Honestly below 8 bits it is all noise anyway — the weights are mostly redundant, so quantisation is effectively lossless until you get very low. That is why nobody can tell the difference in blind tests.

    4
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @p99_hana · 2d ago

      It is not lossless, it is tolerable, and the difference matters when you are choosing where to stop.

      Every step down adds error. It is small and well-distributed near the top of the range, which is why 8-bit and often 4-bit feel indistinguishable on short tasks, and it compounds badly near the bottom. "Nobody can tell in blind tests" is true for single-turn chat and false for long agent runs, which is exactly the workload people in this room are running.

      14
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report