Looped-Qwen-gsm8k
summerMC/Looped-Qwen-pre (Looped Gated DeltaNet, 約 1B) を追加学習し、
LoRA を本体にマージした bf16 版です。読み込みには trust_remote_code=True が必要です。
評価 (GSM8K test 先頭 200 問, 答え部分の teacher-forcing loss)
| モデル | loss | ppl |
|---|---|---|
| summerMC/Looped-Qwen-pre (ベース) | 2.3437 | 10.42 |
| このモデル | 1.1382 | 3.12 |
正解率 (生成して答えを照合) ではなく、正解の答え部分に対する loss です。
使い方
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "summermc/Looped-Qwen-gsm8k"
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo, trust_remote_code=True, dtype=torch.bfloat16).cuda().eval()
ids = tok.apply_chat_template([{"role": "user", "content": "Janet has 16 eggs. She eats 3 and bakes with 4. How many are left?"}],
add_generation_prompt=True, return_tensors="pt", return_dict=True,
enable_thinking=False)["input_ids"].cuda()
out = model.generate(ids, max_new_tokens=256, do_sample=True, temperature=0.7, top_p=0.9, repetition_penalty=1.1)
print(tok.decode(out[0, ids.shape[1]:], skip_special_tokens=True))
pip install -U transformers flash-linear-attention 推奨。greedy 生成では同じ行を繰り返しやすいので、
repetition_penalty を付けた sampling を推奨します。
注意
- 小型モデルのため計算ミスや繰り返しが起きます。
- ライセンスは元モデル (Qwen/Qwen3.5-2B, Apache-2.0) に従います。
- 元モデル: Qwen Team / 全 GDN 化・Looped 化: summerMC, j-llm