๐Ÿ‡บ๐Ÿ‡ธ English | ๐Ÿ‡จ๐Ÿ‡ณ ไธญๆ–‡

Meerkat-TRIZ-v1

A TRIZ (Theory of Inventive Problem Solving) domain LoRA adapter on Qwen/Qwen3.6-35B-A3B (Apache-2.0), for Chinese TRIZ question answering across six task types: inventive-principle recommendation, contradiction analysis, ARIZ guidance, innovation assessment, concept explanation, and case generation.

The focus of this release is evaluation transparency: every claim is produced by a rigorously gated dual-track harness (GitHub: meerkat-triz), with paired statistics and confidence intervals โ€” ties are reported as ties.

Quick start

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel

base = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen3.6-35B-A3B", dtype=torch.bfloat16,
    device_map="cuda", trust_remote_code=True)
tok = AutoTokenizer.from_pretrained(
    "Qwen/Qwen3.6-35B-A3B", trust_remote_code=True)
model = PeftModel.from_pretrained(base, "Meerkat-AI/Meerkat-TRIZ-v1").eval()

# IMPORTANT: keep the empty think block โ€” required for train/eval format consistency (E0 rule)
prompt = tok.apply_chat_template(
    [{"role": "system", "content": "ไฝ ๆ˜ฏ TRIZ ๅˆ›ๆ–ฐๆ–นๆณ•่ฎบไธ“ๅฎถๅŠฉๆ‰‹, ็”จไธญๆ–‡ไธ“ไธšๅ›ž็ญ”็”จๆˆทๅ…ณไบŽ TRIZ ็†่ฎบใ€ๅ‘ๆ˜ŽๅŽŸ็†ใ€็Ÿ›็›พๅˆ†ๆžใ€ARIZ ็ฎ—ๆณ•็ญ‰ๆ–น้ข็š„้—ฎ้ข˜ใ€‚"},
     {"role": "user", "content": "่ฏท่งฃ้‡ŠๆŠ€ๆœฏ็Ÿ›็›พไธŽ็‰ฉ็†็Ÿ›็›พ็š„ๅŒบๅˆซ, ๅนถๅ„็ป™ไธ€ไพ‹ใ€‚"}],
    tokenize=False, add_generation_prompt=True, enable_thinking=False)
out = model.generate(**tok(prompt, return_tensors="pt").to("cuda"),
                     max_new_tokens=2048, do_sample=False,
                     pad_token_id=tok.eos_token_id)
print(tok.decode(out[0][tok(prompt, return_tensors="pt")["input_ids"].shape[1]:],
                 skip_special_tokens=True))

โš ๏ธ Prompt-format sensitive: this model was trained and evaluated with the empty think block (<think>\n\n</think>) retained in the prompt. If your template strips it, output quality may degrade (we measured judge-score drops on the order of โˆ’0.2 from this mismatch alone). The base is thinking-native: with enable_thinking=False the template still emits the empty block โ€” keep it.

Evaluation results

Two gold sets, dual-track scoring (keyword hit rate + LLM judge 0โ€“4; judge pinned to moonshot-v1-32k, T=0). All comparisons are per-item paired (paired bootstrap, 10000 draws, 95% CI + McNemar). The judge shares a family with the training-data generator (weak same-origin); the lineage is declared โ€” factor family bias into absolute scores.

v5 gold (300 items, in-distribution eval protocol)

Metric base Meerkat-TRIZ-v1 Paired diff [95% CI]
Keyword-track mean 0.6384 0.6383 โˆ’0.0001 [โˆ’0.017, +0.017] n.s.
Judge Arm-A mean 3.0300 3.4233 +0.3933 [+0.297, +0.490] sig.
Judge pass rate 0.843 [0.798, 0.880] 0.947 [0.915, 0.967] McNemar p=1.5e-05
Keyword pass rate 0.737 [0.684, 0.783] 0.747 [0.695, 0.793] โ€”

Judge per-subset diffs: concept_explanation +0.733 [+0.467, +1.022], innovation_assessment +0.600, contradiction_analysis +0.467, case_generation +0.378, ariz_guidance +0.317 โ€” all significantly positive; principle_recommendation +0.050 n.s. Quality gates passed 299/300 (1 length-gate invalid, counted); overrefusal 0/300, passed.

v4 gold (100 items, cross-protocol six-way comparison)

All historical candidates on the same items, judge, and harness:

Model Keyword track Judge track Judge pass rate
base (legacy anchor, think-contaminated, reference only) 0.3661 1.5700 0.120
v2 (clean anchor) 0.5483 2.5800 0.620
v3 0.5716 2.2800 0.430
v4 0.5568 2.5700 0.630
v4.1 0.5289 2.6200 0.630
Meerkat-TRIZ-v1 (v5a) 0.5391 2.3600 0.600

Paired vs the v2 clean anchor: keyword โˆ’0.0093 [โˆ’0.062, +0.039] n.s.; judge โˆ’0.2200 [โˆ’0.470, +0.010] n.s. โ€” statistically tied with v2 on the v4 protocol. Note that the v4 harness strips the empty think block (a format mismatch with this model's training format), which explains part of the negative judge direction (a lower-bound estimate). Keyword per-subset: contradiction_analysis +0.101 [+0.024, +0.180] significantly positive; case_generation โˆ’0.137 [โˆ’0.270, โˆ’0.030] significantly negative.

Claim discipline

  • โœ… Claimable: on the v5 protocol, the judge track improves significantly over the clean base (+0.39), with the largest gain on concept_explanation (+0.73).
  • โœ… Claimable: on the v4 protocol, tied with the strongest internal baseline v2 (paired CIs include 0).
  • โŒ Not claimable: superiority over any external model (no external comparison was run); keyword-track improvement over base (โˆ’0.0001, none).

Training

  • Method: LoRA SFT, r=64, alpha=128, dropout=0, targeting all linear projections (incl. DeltaNet in_proj_*); BF16; full run of 4 epochs / 5548 steps; final train loss 0.604, eval loss 1.626 (trajectory in adapter_info.json).
  • Data: ~11k Chinese TRIZ ChatML SFT samples (dual-style / dual-decomposition / grouped split; empty think block retained). Training set is not public: derived from third-party copyrighted TRIZ textbooks.
  • Contamination check: 3-gram Jaccard โ‰ฅ0.5 scan of the training set against both gold sets โ€” 0 hits.
  • Frozen hyperparameters: see configs/train_v5a.json in the GitHub repo.

Limitations

  • Validated only for Chinese TRIZ-domain QA; out-of-domain ability is unevaluated. Not for high-stakes decisions.
  • Long answers (>2048 tokens) may be truncated; greedy decoding is recommended (training and evaluation used greedy).
  • The judge is a single vendor (Moonshot), weak same-origin; absolute judge scores carry family bias โ€” paired diffs are more reliable than absolutes.
  • The base is a vision-language MoE; this adapter was validated on the text channel only.

Citation

@misc{meerkat-triz-v1-2026,
  title  = {Meerkat-TRIZ-v1: A TRIZ-Domain LoRA Fine-tune of Qwen3.6-35B-A3B},
  author = {Meerkat AI},
  year   = {2026},
  url    = {https://huggingface.co/Meerkat-AI/Meerkat-TRIZ-v1}
}

Please also cite the base model Qwen3.6-35B-A3B (Apache-2.0, license).

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Meerkat-AI/Meerkat-TRIZ-v1

Adapter
(224)
this model