1.Qwen3-0.6B_WBD:ブラウザ・スマホ内で動く日本語を強化した小規模言語モデルまとめ
・Qwen3-0.6Bに継続学習・強化学習を施し、日本語ベンチマーク平均スコアを+15.5ptに向上
・ブラウザ上での完全動作デモを公開。インストール不要・サーバー不要でスマートフォンからも試せる
・同モデルを使用したスマートフォン向けにexecutorchを用いたアプリ版の4bit量子化版も公開
2.なぜ0.6Bモデルをトレーニングしたのか?
3.やったこと
実はQwen3-0.6B_WBDの前にゼロからフルスクラッチで事前学習したnanochat-jpを開発しています。残念ながら期待した性能が出せなかったので、事前学習が不足なのか、そもそもパラメーターサイズの能力限界なのかを確かめるために実績があるQwen3-0.6Bをベースに事後学習をやりなおした経緯です。
Qwen3をベースにした事により、既存の充実したオープンソースソフトウェア関連のエコシステム/ツール/インフラ関係を利用できるようになった事が大きな省力化に繋がりました。しかし、パラメーターサイズが関係すると思われる能力限界はやはり突破できませんでした。
日本語の語彙・知識・表現力、会話能力の底上げを行いました。使用データは独自に収集・合成したプライベートデータセットです。
推論能力をさらに引き上げました。「考えて答える」能力は0.6Bでも一定程度は伸ばせることがわかりました。
torchtune(スマホ用)、WebLLM(MLC LLM)、Transformers.js(ONNX)、wllama(llama.cpp)の4種のスマホ/ブラウザでのLLM動作用ツールに向けてモデルフォーマットを変換し、最終的に安定性の観点からwllama向けの8bit GGUF量子化版を採用しました。スマートフォン動作向けのexecutorchを使った4bit量子化版(dahara1/Qwen3-0.6B-executorch-jp)も参考のために別途公開しています。
4.ベンチマーク結果
| モデル | JCommonsenseQA | JNLI | JSTS | JSQuAD | 平均 |
| Qwen3-0.6B(8bit量子化) | 62.40% | 32.20% | 17.20% | 76.00% | 46.95% |
| Qwen3-0.6B_WBD(8bit量子化) | 59.60% | 72.60% | 35.60% | 82.00% | 62.45% |
5.ブラウザ版のデモ
6.スマートフォン動作について
| 項目 | 内容 |
| 発売日 | 2020年11月19日(約5年前の廉価スマートフォン) |
| SoC | Qualcomm Snapdragon 720G |
| RAM | 3GB |
| 動作速度 | 17.20 token/second |
ただし、Androidは実機動作を確認していますが、開発ツールをインストールしたパソコンとケーブルで繋いでモデルファイルを転送する手順が必要で、一般ユーザーが手軽に使える状態ではありません。iPhoneについてはメモリ使用量の制限を解除してもらうために、アプリリリースと同等のApple社による審査プロセスが必要なため、今回はXcodeを用いたシミュレーター上での動作確認のみです。「スマートフォンで動く」は本当ですが、「スマートフォンで誰でも簡単に使える」にはまだ実現にはハードルが高い事も判明しています。
7.ローカル環境での使い方
–host 0.0.0.0 –port 8080 \
–ctx-size 2048 \
–temp 0.7 –top-p 0.8 –top-k 20 –min-p 0.01 –repeat-penalty 1.05
8.0.6Bの限界
以下、本プロジェクト実施中に実感した事の振り返りです。
・「雑談」に対応の難しさ。複数ターンに及ぶ日常会話を軌道から外れずに整合性を保ち続ける事は0.6Bモデルでは非常に困難です。
・「幻覚対策」の難しさ。「知ったかぶり」や「能力を超えた事は出来ないと返答する」などを学習させるとベンチマークスコアは確実に落ちます。当てずっぽうでも何かアウトプットした方が部分点を貰える事は確かです。
・口調等の「キャラクターの一貫性」これも0.6Bモデルでは非常に困難です。やや古い文献によれば16B程度のモデルで実現している例もあるようなので、最新の手法を反映する事で将来的に8B程度のモデルで実現できたらな、と考えています。



