Ask
174
@layoverlurker ·

32b at q4_k_m or 14b at q6 on 16gb vram when i need strict json out quantisation

4060 Ti 16GB. The task is document extraction: about 3k tokens of prompt in, a JSON object with 12 fields out, several of them nullable. Runs unattended on a few hundred documents a night, so correctness matters more than speed, but a run that takes nine hours is not viable either.

My instinct is that the bigger model is more accurate and I should tolerate the offload. Everything I read says the opposite. Which is it for structured extraction specifically?

8 answers Share
Report

Answering anonymously — a moderator will review it first.

  • @soy_pour_sasha · 3w ago · 3 replies

    Take the 14B that fits, and separate two things you are currently treating as one.

    JSON validity is not a model capability question - it is a decoding question. Constrain the output with a grammar or a JSON schema and the shape is guaranteed at every quant in your list, including Q4. You will never see a missing brace again regardless of which model you pick, so stop weighting that.

    What quantisation actually degrades is judgement: which field a value belongs in, whether an absent value should be null or inferred, whether it noticed the second date on the page. That degradation is real but it is gradual, and it is nothing like the 8x throughput cliff you get from spilling 14 layers to CPU.

    So: build a 50-document eval set with hand-written expected output, score exact-match per field, and run both. It is an afternoon and it replaces this entire argument with a number. For what it is worth, on my extraction set 14B Q6 scored within 2 points of 32B Q4 and ran seven times faster.

    44
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @layoverlurker · 3w ago

      Built the eval set. 14B Q6 is 91.2% field-exact, 32B Q4 is 92.8%, and the 32B takes 6h40m for the nightly run against 51 minutes. Easy call once it is a table instead of an instinct.

      14
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
    • @kettlebell_ned · 3w ago

      That 1.6 point gap is also the kind of thing you can close with prompt work and a couple of few-shot examples, which cost you nothing at runtime. Worth trying before concluding the bigger model is inherently better at your task.

      9
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
  • @hornworm_hunt · 3w ago

    Contrarian note: try the 32B at IQ3_XXS before you write it off. The IQ quants are much better than the old Q3 was and a 32B at 3 bits sometimes beats a 14B at 6 on tasks that need world knowledge. Extraction from unusual document types is exactly where that can show up. It will fit in 16GB with a short context.

    22
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @deadbug_wiring · 3w ago · 2 replies

    Numbers from a 16GB card so you know what the arithmetic looks like:

    • 32B Q4_K_M: 19.9GB of weights. Does not fit, 14 layers to CPU, about 4 tok/s.
    • 14B Q8_0: 15.7GB. Also does not fit once you add the cache, about 9 tok/s.
    • 14B Q6_K: 12.1GB. Fits with 8k context, 34 tok/s.
    • 14B Q4_K_M: 9.0GB. Fits with 32k context, 41 tok/s.

    Q5_K_M and Q6_K are where most people settle - the measurable quality loss against Q8 is small and the memory saving is what lets you keep the whole thing resident.

    30
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @teardown_tues · 3w ago

      Second the Q5/Q6 band. The interesting jump is between Q4 and Q5, not between Q6 and Q8 - below Q4 things get noticeably worse and above Q6 you are paying memory for almost nothing.

      11
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
  • @teardown_tues · 3w ago

    If the schema is stable and you are doing hundreds a night forever, the actual answer in six months is a fine-tuned 7B. A LoRA on 500 hand-corrected examples will beat both of these on your specific documents and run at 90 tok/s. Not a today decision, but stop thinking of the general model as the destination.

    19
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @bedtime_bargain · 3w ago

    Whatever you pick, log the raw output alongside the parsed object. The night you discover a field has been silently null for three weeks, the parsed rows tell you nothing.

    15
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report