回答の例
実際に出た回答をそのまま載せています。誤りも含めて載せています。
一言のつぶやき・続けての会話(GGUF Q4_K_M、llama.cpp、推奨の設定)
悲しい
そう思っているのは、とても辛いですね。その感情は誰にでもあり得るものですね。もしよければ、今どんな気持ちですか?
あーつらい
うわー、それは大変でしたね。無理せず少しだけ深呼吸してみてください。
短い物語(同上)
短い物語を書いて
雨の日、田んぼで暮らしていた若者は突然電話がかかった。その内容は「今日は元気ですか?」だったのだ。「ありがとう」の一言が叶うまで待つ間に、彼はゆっくりと体を動かすようになった。雨が上がり、天気が晴れるもまた、彼の心は少し安くなってきたと感じた。
知識(短く答えさせる、vLLM・貪欲法)
日本で一番高い山は? 短く答えてください。
富士山
富士山の標高は約何メートルですか? 短く答えてください。
富士山の標高は約3,776メートルです。
「吾輩は猫である」の作者は? 短く答えてください。
「吾輩は猫である」の作者は、山田太郎です。(誤り。正しくは夏目漱石)
国会議事堂はどこ?(llama.cpp、temperature 0)
国会議事堂は東京都港区芝3-1-13にあります。(誤り。正しくは東京都千代田区永田町)
評価
同じ質問・同じ設定で、元の Qwen3.5-0.8B・v1 と比べました。評価の仕組みと全データは Pitcher プロジェクト にあります。
Table with columns: Qwen3.5-0.8B(元), v1, v2(このモデル) | Qwen3.5-0.8B(元) | v1 | v2(このモデル) |
|---|
| JCommonsenseQA(日本語の常識、5択・1,119問) | 42.4% | 69.5% | 71.2% |
| CommonsenseQA(英語の常識、5択・1,221問) | 36.5% | 50.0% | 52.4% |
| 理科(MMLU-Pro の物理・化学・生物から300問、10択) | 15.0% | 24.0% | 23.0% |
| 一般常識30問(日本語) | 16 | 20 | |
- 選択問題は、思考なし・貪欲法で、番号(理科は記号)だけを答えさせたもの(vLLM)。同じモデルでも測り直すと ±0.5 ポイントほどぶれます
- 理科は v1 とほぼ同じで、10択の当てずっぽう(10%)よりは高いものの、まだ弱いです
崩れにくさ・自然さ(採点役 Gemma 4 31B)
評価用の回答(キャラ設定なしの会話100回答・作文30回答、上限 2,048 トークン)を、Gemma 4 31B に同じ回でまとめて採点させました(5段階)。採点の指示文は、人が採点した30件と「話が破綻しているか」の判定が合うように調整したもの(30件中26件一致)です。
Table with columns: v1, v2 | v1 | v2 |
|---|
| 会話:日本語の自然さ | 3.49 | 4.10 |
| 会話:前後の一貫性 | 4.41 | 4.60 |
| 会話:質問への適合 | 3.24 | 3.46 |
| 会話:話が破綻した回答(一貫性2点以下) | 3% | 1% |
| 作文:日本語の自然さ | 2.90 | 3.37 |
| 作文:質問への適合 | 3.60 |
- 採点役の GPT-5.6 Luna による採点(v1 で使用)は、後日追加します
使い方
transformers 5 系(5.17 で確認)を使ってください。重みは元のモデルと同じ形式(画像も扱える構造)ですが、学習・評価はテキストだけで行っています。
from transformers import AutoModelForImageTextToText, AutoTokenizerimport torch model_id = "Takenoko12345678/Qwen3.5-0.8B-Japanese-SFT-v2"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
学習の詳細
すべて全部の重みを学習しました(フルファインチューニング。画像の部分は固定)。思考なしの会話形式です。
Table with columns: 内容, 件数・量, 設定, 環境 | 内容 | 件数・量 | 設定 | 環境 |
|---|
| 1. 蒸留 | v1 と同じ(回答は Qwen3.8-27B 製の Japanese-SFT-Qwen3.8-27B-10K と同じ作り方のデータ) | 10,027件 | 学習率 1e-5、2エポック | Modal(H100) |
| 2. 追加の事前学習 | 日本語版 Wikipedia(wikimedia/wikipedia 20231101.ja)から無作為に選んだ 66,799記事 | 約1億トークン | 学習率 2e-5(余弦で減衰)、1周 | Modal(H100) |
| 3. 会話の学び直し |
- 2. 追加の事前学習:会話形式の学習は新しい知識をあまり増やさないため、文章そのものを読ませました。短い記事・一覧・曖昧さ回避のページと、各記事の「脚注」「参考文献」「外部リンク」「関連項目」以降は除いています。学習中に会話の検証データの損失も測り、会話の力を忘れ続けていないことを確かめています
- 4. つぶやき・続けての会話:v1 は学習データがすべて1問1答で、「悲しい」のような一言に言葉の意味を答えていました。Qwen3.8-27B に、30のテーマ(気持ち・挨拶・愚痴・雑談など)で短いつぶやきを作らせ、「まず受け止めて短く返す」「人間だと名乗らない」「前の発言と矛盾しない」などを指示して返事を書かせました(4,500件のうち「AI なので」と断る返事を除いた 4,447件。一言への返事が約3,000件、2〜3往復の会話が約1,500件)。学習データには指示文を入れていません
- 5. DPO:学習に使っていない質問 3,055個(一般の質問・物語や作文・つぶやき・続きの会話)に4回ずつ答えさせ、Gemma 4 31B で採点し、規則でも「繰り返し」「私は人間です」「中国語」「途中で切れる」を崩れとして扱いました。質問ごとに、崩れていない良い回答(一貫性・適合が4点以上)といちばん点の低い回答を組にしています(合計点の差が3点以上のものだけ)
- 6. 重みの平均:5. のモデルは会話が自然で崩れにくい一方、一般常識の正答が減りました(30問中 24 → 19)。知識の強い 3. のモデルと半分ずつ平均すると、知識を取り戻しつつ、崩れにくさと自然さの多くが残りました
既知の問題
- 事実の誤りがまだ多いです。 一般常識は増えましたが、0.8B は覚えられる知識が限られ、知らないことをもっともらしく作ります(例:国会議事堂の場所を「港区芝」、「吾輩は猫である」の作者を「山田太郎」)。和歌の全文のような、一字一句を覚える必要があるものはほぼ答えられません。事実を調べる用途には使わないでください
- 理科・数学は弱いです(MMLU-Pro の理科で 23%)
- 一言のつぶやきへの返事が、まれに的外れになります(例:「悲しい」に「私の内面、少し寂しくなることもありますよ」)
- 作文の自然さ・崩れにくさは、会話ほどは良くなっていません
- 選択肢の位置による偏り(後ろのほうを選びやすい)は v1 と同じく残っていると考えられます
- まれに「私は人間です」と答えます(キャラ設定なしの会話 200回答中2件)
- 深刻な悩みの相談に、一般論や的外れな答えを返すことがあります。人向けに公開する場合は、相談窓口の案内などの安全策を別に用意してください
- 元のモデルの安全性の調整はそのままです(拒否を外すような学習はしていません)
- 元のモデルの MTP(先読み用の層)の重みは含まれていません。設定ファイルは元のモデルのまま(
mtp_num_hidden_layers: 1)なので、llama.cpp の新しい convert_hf_to_gguf.py で自分で変換するときは、config.json のこの値を 0 にしてから変換してください。GGUF 版はこの方法で変換しています
ライセンスと帰属表示
Apache License 2.0。元のモデル Qwen/Qwen3.5-0.8B(Apache 2.0)の派生モデルです。
変更点:上記の6段階の学習を行いました。チャットテンプレートとトークナイザーは元のモデルのものをそのまま使っています。
学習データ: