Qwen3.5-0.8B-Japanese-SFT(非公式)
新しい版(v2)があります:Qwen3.5-0.8B-Japanese-SFT-v2。 同じ言葉を止まらずに繰り返す問題(llama.cpp で 590回答中 8件 → 0件)と会話の自然さを改善し、日本語の一般常識も増えています。特に理由がなければ v2 を使ってください。
Qwen/Qwen3.5-0.8B を日本語向けに追加学習した、非公式の派生モデルです。Qwen チームとは関係ありません。
0.8B(8億パラメータ)と小さいので、GPU のないノートパソコンでも動きます(GGUF Q4_K_M で約 0.5 GB)。元のモデルより日本語の常識問題に強く、中国語が混ざらず、質問に合った長さで答えます。
An unofficial Japanese fine-tune of Qwen3.5-0.8B (full fine-tuning in two stages: distillation from Qwen3.8-27B, then curated Japanese SFT data selected with Gemma 4 31B plus a small answer-format drill). JCommonsenseQA rose from 41.7% to 69.4%, Chinese-character leakage dropped to 0% on our chat prompts. Use enable_thinking=False. GGUF: Takenoko12345678/Qwen3.5-0.8B-Japanese-SFT-GGUF.
- GGUF 版(llama.cpp・LM Studio 用):Takenoko12345678/Qwen3.5-0.8B-Japanese-SFT-GGUF
- 学習・評価のスクリプトと全データ:Pitcher プロジェクト
回答の例
評価で実際に出た回答をそのまま載せています(思考なし、temperature 1.0 / top_k 20 / presence_penalty 2.0)。誤りも含めて載せています。
知識(短く答えさせる)
日本の首都はどこですか? 短く答えてください。
東京
富士山の標高は約何メートルですか? 短く答えてください。
約3,776メートル
「吾輩は猫である」の作者は? 短く答えてください。
村上春樹(誤り。正しくは夏目漱石)
翻訳
次の英文を日本語に訳してください:I like reading books on rainy days.
「私は雨の日でも本を読むが好きです。」
提案
雨の日の過ごし方を3つ提案してください。
自然に囲まれ、音楽を楽しむ: 公園や自然の中を歩こうとして、雨の音に包まれた静かな時間を過ごす。音楽を聴きながら歩くことで心の落ち着きを高められます。
手作り日記をつける: 晴れた日と比較して、雨天の日の出来事を詳細に記録する。(以下略)
家族や友人と雨の日遊びをする: (以下略)
小さいモデルなので、文法の小さな誤りや、内容のちぐはぐさ(雨の日に公園を歩く提案など)が残ります。
評価
同じ質問・同じ設定で、元の Qwen3.5-0.8B・途中の段階と比べました。評価の仕組みと全データは Pitcher プロジェクト にあります。
| Qwen3.5-0.8B(元) | 第1段階(蒸留後) | このモデル | |
|---|---|---|---|
| JCommonsenseQA(日本語の常識、5択・1,119問) | 41.7% | 48.4% | 69.4% |
| CommonsenseQA(英語の常識、5択・1,221問) | 36.0% | 36.0% | 49.8% |
| 一般常識30問(日本語) | 16 | 22 | 20 |
| 一般常識30問(英語、同じ内容) | 21 | 22 | 24 |
| 中国語の混入(キャラ設定なしの会話、100回答) | 4% | 0% | 0% |
| 中国語の混入(作文、30回答) | 3% | 3% | 0% |
| 回答が 512 トークンで打ち切られた割合(作文) | 33% | 33% | 0% |
| 「私は AI なので」と断る回答(キャラ設定なしの会話) | 20% | 15% | 6% |
- 選択問題は、思考なし・貪欲法で、番号だけを答えさせたもの(vLLM)
- 中国語の混入:日本語では使わない簡体字が1文字でも含まれた回答の割合
選択問題の答え方
途中の版では、選択問題で答えずに選択肢の一覧を「1. 〇〇」と書き写し始める癖があり、JCommonsenseQA の約4割で「1番」と数えられていました。「番号だけ答えて」「はい・いいえで」のように答え方を指定する短い練習の例(800件、正解の位置を均等にしたもの)を足して、この癖を直しています。
| JCommonsenseQA(llama.cpp、f16) | 練習を足す前 | このモデル |
|---|---|---|
| 番号だけを答えさせた正答率 | 55.7% | 68.8% |
| 選択肢を書き写した割合 | 44.2% | 0% |
| 回答を「答え:」で始めさせ、次に出やすい番号で決めた正答率(答え方の癖を除いた知識の目安) | 69.9% | 68.4% |
| 選択肢の順番を5通りに入れ替えても、同じ中身を選んだ割合 | 45.5% | 33.3% |
選択肢の位置による偏りは残っています。 順番を入れ替えると答えが変わることが多く、後ろのほう(3番・5番)を選びやすい傾向があります。
採点役による5段階評価
日本語の自然さ・一貫性は、採点役のモデル(GPT-5.6 Luna)に5段階で採点させました(キャラ設定なしの会話100回答、回答の上限 2,048 トークン)。採点役の基準は採点する回ごとにぶれるため、同じ回で採点したものどうしだけを並べています。
| 同じ回での比較 | 日本語の自然さ | 前後の一貫性 | 質問への適合 |
|---|---|---|---|
| 元 → 第1段階(蒸留後) | 2.98 → 3.66 | 4.42 → 4.79 | 3.77 → 4.08 |
| 第1段階 → 第2段階(練習を足す前) | 2.99 → 3.34 | 4.50 → 4.62 | 3.96 → 3.66 |
| 練習を足す前 → このモデル | 3.31 → 3.04 | 4.59 → 4.34 | 3.64 → 3.65 |
- 元のモデルから、自然さは段階ごとに上がりました。最後の段階(答え方の練習を足した)で少し下がったため、元のモデルとの差はおよそ +0.7 と見ています(回をまたいだ概算)
- 作文(30回答)の自然さは、どの段階も 2.3〜3.0 と低めです。長い文章では、0.8B らしい内容のちぐはぐさが目立ちます
使い方
transformers
transformers 5 系(5.17 で確認)を使ってください。重みは元のモデルと同じ形式(画像も扱える構造)ですが、学習・評価はテキストだけで行っています。
from transformers import AutoModelForImageTextToText, AutoTokenizer
import torch
model_id = "Takenoko12345678/Qwen3.5-0.8B-Japanese-SFT"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(model_id, dtype=torch.bfloat16, device_map="auto")
messages = [{"role": "user", "content": "雨の日の過ごし方を教えて。"}]
text = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=False)
inputs = tok(text, return_tensors="pt", add_special_tokens=False).to(model.device)
out = model.generate(**inputs, max_new_tokens=512, do_sample=True, temperature=1.0, top_k=20, top_p=1.0)
print(tok.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
2026-10-03 更新: チャットテンプレートを、思考モードを指定しても思考なしで始まるように直しました(このモデルは思考なしの形だけで学習しています)。LM Studio などで答えが「考え中(Thought)」の欄に表示される場合は、モデルをダウンロードし直してください
enable_thinking=False を必ず指定してください。 このモデルの学習はすべて思考なしで行っています。
vLLM(0.30)でも動きます(評価に使用)。
推奨の生成設定
- 会話:temperature 1.0、top_k 20、top_p 1.0、presence_penalty 2.0(元のモデルの推奨値)
- llama.cpp で使うときは repeat_penalty 1.1 も付けてください(下の「既知の問題」を参照。LM Studio は最初から 1.1 です)
- 事実を答えさせる・選択問題:temperature 0
学習の詳細
2段階とも、全部の重みを学習しました(フルファインチューニング。画像の部分は固定)。思考なしの会話形式で、応答部分だけを学習対象にしています。
| 学習データ | 件数 | 設定 | 環境 | |
|---|---|---|---|---|
| 第1段階(蒸留) | Takenoko12345678/Japanese-SFT-Qwen3.8-27B-10K と同じ作り方のデータ(回答は Qwen3.8-27B 製) | 10,027 | 学習率 1e-5、2エポック | Modal(H100) |
| 第2段階 | DeL-TaiseiOzaki/Tengentoppa-sft-v1.0 から選んだ 12,000件と、答え方の練習 800件 | 12,800 | 学習率 1e-5、1エポック | Modal(H100) |
第2段階のデータの作り方:
- Tengentoppa の各行がどの元データから来たかを調べ(Tengentoppa には出どころの列がないため、元データと文面を照合)、利用条件を確認できた元データの行だけを使いました。ライセンスの記載がない元データ・回答を作ったモデルが不明な元データ・非営利限定の記事を元にした元データ・出どころを特定できなかった行は除いています
- 中国語を含む行、AI としての感情の否定や「私は人間です」と言う行、電話番号・住所・URL・メールアドレスを含む行、評価用の質問に似た行を除きました
- 候補 24,000件(長い回答 18,000件、短い回答 6,000件)を Gemma 4 31B に「一貫性・自然さ・質問への適合」で採点させ、点数の高い順に長い回答 9,000件・短い回答 3,000件を選びました。採点の指示文は、人が採点した30件と「話が破綻しているか」の判定が合うように調整しています(30件中26件一致)
- 「番号だけ答えて」「はい・いいえで」「数字だけで」と答え方を指定する短い練習の例 800件を、利用条件を確認できた元データ(官公庁の FAQ など)の学習に使っていない行から機械的に作って足しました。評価に使う JCommonsenseQA / CommonsenseQA の問題や指示文は使っていません
既知の問題
- 事実の誤りが多いです。 小さいモデルで、学習データの事実確認もしていないため、もっともらしい誤りを出します(例:「『吾輩は猫である』の作者は?」に「村上春樹」)。事実を調べる用途には使わないでください
- まれに同じ言葉を繰り返し続けます。 「あははは…」のような笑い声などを止まらずに繰り返すことがあります(llama.cpp で 590回答中8件。transformers でも同じ程度に起きます)。llama.cpp では
repeat_penalty 1.1で 590回答中2件に減りました。max_tokensも設定してください - 選択肢の位置による偏りがあります(上の「選択問題の答え方」を参照)
- まれに「私は人間です」と答えます(キャラ設定なしの会話 100回答中1件程度)
- 深刻な悩みの相談(「私がいなくなったら寂しい?」など)に、一般論や的外れな答えを返すことがあります。人向けに公開する場合は、相談窓口の案内などの安全策を別に用意してください
- 元のモデルの安全性の調整はそのままです(拒否を外すような学習はしていません)
- 元のモデルの MTP(先読み用の層)の重みは含まれていません(学習で使っていないため)。設定ファイルは元のモデルのまま(
mtp_num_hidden_layers: 1)なので、llama.cpp の新しいconvert_hf_to_gguf.pyで自分で変換するときは、config.jsonのこの値を 0 にしてから変換してください(そのままだとblk.24が見つからないというエラーで読み込めない GGUF になります)。GGUF 版はこの方法で変換しています
ライセンスと帰属表示
Apache License 2.0。元のモデル Qwen/Qwen3.5-0.8B(Apache 2.0)の派生モデルです。
変更点:下記のデータで2段階のフルファインチューニングを行いました。チャットテンプレートとトークナイザーは元のモデルのものをそのまま使っています。
学習データ:
- 第1段階:Takenoko12345678/Japanese-SFT-Qwen3.8-27B-10K と同じ作り方のデータ(Apache 2.0。質問は llm-jp/magpie-sft-v1.0、回答は Qwen/Qwen3.8-27B による生成文)
- 第2段階:“Tengentoppa-sft-v1.0” by DeL-TaiseiOzaki(CC BY 4.0、revision
781a718ac17e070fb0135c5dbc3ac9ae7790758a)から行を選んで使用。変更点:利用条件を確認できた元データの行だけを選び、上記の条件で除外・採点・選別した。使った行の元データと件数:- llm-jp/magpie-sft-v1.0(Apache 2.0)5,699件
- DeL-TaiseiOzaki/Tengentoppa-sft-qwen2.5-32b-reasoning-100k(Apache 2.0)3,994件
- GENIAC-Team-Ozaki/JaGovFaqs-22k(Apache 2.0)1,147件
- fujiki/japanese_hh-rlhf-49k(MIT。Anthropic/hh-rlhf の日本語訳)365件
- GENIAC-Team-Ozaki/oasst2-33k-ja_reformatted(Apache 2.0)341件
- GENIAC-Team-Ozaki/chatbot-arena-ja-karakuri-lm-8x7b-chat-v0.1-awq(CC BY 4.0)276件
- DeL-TaiseiOzaki/magpie-llm-jp-3-13b-20k(Apache 2.0)91件
- GENIAC-Team-Ozaki/Hachi-Alpaca_newans(CC BY 4.0)70件
- GENIAC-Team-Ozaki/Evol-Alpaca-gen3-500_cleaned / Evol-hh-rlhf-gen3-1k_cleaned(Apache 2.0)17件
- 答え方の練習:上の Tengentoppa のうち、JaGovFaqs-22k・magpie-sft-v1.0・Tengentoppa-sft-qwen2.5-32b-reasoning-100k から来た行(学習データ本体とは別の行)の質問と回答を並べ替えて作成
- データの選別の採点:google/gemma-4-31B-it(採点結果は選別にだけ使い、生成文は学習に使っていません)