18 人が閲覧(直近 30 日) LLM・RAG

TinySwallow-1.5Bとは?TAIDの仕組み・Ollamaでの動かし方と商用利用の条件

TinySwallow-1.5Bとは?TAIDの仕組み・Ollamaでの動かし方と商用利用の条件

TinySwallow-1.5B(タイニースワロー)は、Sakana AIが東京科学大学のSwallowチームと共同で開発し、2025年1月30日に公開した15億パラメータの日本語小規模言語モデルです。320億パラメータのQwen2.5-32B-Instructを教師、Qwen2.5-1.5B-Instructを生徒にして、Sakana AI独自の知識蒸留手法TAIDで学習しています。ブラウザやPC、iPhoneの中だけで動き、外部APIを呼びません。この記事では、TAIDが何をする技術なのか、公式ベンチマークでの立ち位置、ChatUI・Ollama・iPhoneでの動かし方、そしてモデルカードの2つの節を読み合わせたときの商用利用の条件を、一次情報とOllamaでの実測をもとに説明します。

まとめ

  • TAIDは「Temporally Adaptive Interpolated Distillation」の略で、学習時に働く知識蒸留の手法です。推論を速くする技術ではありません。論文はICLR 2025にSpotlightとして採択されています。
  • 公式ブログの比較では、3B未満の日本語モデルの平均スコアでTinySwallow-1.5Bが0.402と最も高く、gemma-2-2b-jpn-it(0.375)やベースのQwen2.5-1.5B(0.372)を上回ります。
  • 試すだけならブラウザのTinySwallow ChatUIが最短です。初回に約880MBの重みを読み込めば、そのページではネットを切っても会話できます。PCならOllamaでollama run hf.co/SakanaAI/TinySwallow-1.5B-Instruct-GGUF:Q5_K_Mの1行で動きます。
  • CPUだけのPCでも動きますが、速くはありません。2019年のIntel Mac(Core i9-9880H・GPU不使用)での実測はQ5_K_Mで毎秒約6トークン、メモリ占有は約1.3GBでした。
  • 商用利用は「禁止」ではありません。モデルカードのLicense節は、Apache 2.0とGemmaの利用規約・禁止用途ポリシーの両方を守れば商用を含めて利用できるとしています。一方でUses節は、研究開発用の実験的プロトタイプで商用やミッションクリティカルな用途は想定していないと書いています。使ってよいが、品質も結果も保証されないというのが正確な読み方です。

TinySwallow-1.5Bの位置づけと配布物

TinySwallowはSakana AIがTAIDの実用性を示すために作ったモデルで、経済産業省とNEDOのGENIAC(JPNP20017)の支援を受けた研究成果としてSakana AIの公式ブログで発表されました。Swallowは東京科学大学の日本語LLMシリーズの名前で、TinySwallowはその共同開発の小型版にあたります。大きいSwallowとの関係はSwallowとは?Llama 3.3 Swallowの特徴・日本語性能・商用利用を解説で扱っています。

Hugging Faceの4つのリポジトリ

公開物はHugging FaceのTinySwallowコレクションにある4リポジトリです。2026年10月の確認時点では、公式コレクションに掲載された4モデルの更新日はすべて2025年1月30日と表示され、同コレクションに後継版の掲載はありません。

リポジトリ 中身 サイズ 使う場面
TinySwallow-1.5B ベースモデル 約3.09GB 追加学習・研究
TinySwallow-1.5B-Instruct 指示チューニング済み 約3.09GB Transformersで推論
TinySwallow-1.5B-Instruct-GGUF Q5_K_M/Q8_0 約1.13GB/約1.65GB Ollama・llama.cpp・iPhone
TinySwallow-1.5B-Instruct-q4f32_1-MLC WebLLM用の重み 約880MB ブラウザ(ChatUI)

会話に使うならInstruct系を選びます。ベース版も指示学習済みのQwen2.5-1.5B-Instructを生徒にしていますが、日本語での指示追従と会話向けに追加調整されたのはInstruct版です。

同サイズ帯の日本語ベンチマーク

公式ブログは、3B未満の小型モデルを日本語の理解・生成タスクの平均スコアで比べた表を載せています(表は画像のため数値を書き起こしました)。

モデル パラメータ数 平均スコア
TinySwallow-1.5B 1.5B 0.402
google/gemma-2-2b-jpn-it 2.6B 0.375
Qwen/Qwen2.5-1.5B 1.5B 0.372
google/gemma-2-2b 2.6B 0.346
sbintuitions/sarashina2.1-1b 1.4B 0.296
llm-jp/llm-jp-3-1.8b 1.8B 0.251
meta-llama/Llama-3.2-1B 1.2B 0.201

表に掲載されたQwen2.5-1.5Bとの差は0.030です。ただし、これは生徒として使ったQwen2.5-1.5B-Instructそのものとの比較ではありません。また、平均スコアの差だけでは、個々の用途における回答品質の違いまでは判断できません。比較は2025年1月時点のモデルに限られ、その後に出た小型モデルは入っていません。

TAIDの仕組み:学習時の知識蒸留

TAIDの論文はarXiv:2501.16937で、arXivのコメント欄に「ICLR 2025でSpotlightとして発表」と記されています。論文では日本語のTinySwallowとは別に、英語のTAID-LLM-1.5Bと視覚言語モデルのTAID-VLM-2Bも作っています。知識蒸留そのものの基礎は知識蒸留(Model Distillation)とは?仕組み・実装手順とLLM軽量化の判断基準にまとめています。

TAIDの中間教師と学習進度に応じた補間

通常の知識蒸留では、生徒は最初から最後まで同じ教師の出力分布をまねします。ところが教師が大きすぎると能力差(capacity gap)が開き、かえって生徒の性能が落ちることが知られています。TAIDは生徒と教師の分布を混ぜた「中間教師」を置き、学習が進むにつれて混ぜる割合を生徒寄りから教師寄りへ移します。公式ブログの実験では、従来手法(KL・RKL)は教師を大きくすると生徒の正解率が下がったのに対し、TAIDは教師が大きいほど生徒の性能が上がりました。TinySwallowでは32Bから1.5Bへ、約20分の1の大きさに知識を移しています。

TAIDによる学習と推論高速化技術の違い

日本語の記事には、TAIDを「Tiny AI Dynamic」の略として、推論時に量子化やパラメータを動的に調整する技術だと説明するものがあります。これは誤りです。TAIDは学習の段階でだけ使う手法で、出来上がったモデルの推論には関わりません。TinySwallowが軽いのは1.5Bという小ささに知識を移したからで、利用者の端末で速く動くのはGGUFの量子化やWebLLMといった実行側の技術のおかげです。既存のモデルに「TAIDを載せれば速くなる」ということは起きません。

ブラウザで動かす:TinySwallow ChatUI

いちばん手軽なのは、Sakana AIが公開しているTinySwallow ChatUIです。アカウント登録もAPIキーも要りません。

デモページとローカル起動の手順

公開デモ(pub.sakana.ai/tinyswallow)を開いてモデルを読み込めば、そのまま会話できます。デモでも推論は自分のPCで行われ、入力がSakana AIに送られることはないとREADMEに書かれています。自分のPCで配信する場合は、READMEの手順どおりリポジトリを取得してHTTPサーバーを立てます。

git clone https://github.com/SakanaAI/TinySwallow-ChatUI.git
cd TinySwallow-ChatUI
python -m http.server 8000
# ブラウザで http://localhost:8000 を開く

ChatUIの中身と、完全オフライン版との違い

ChatUIはWebLLM(2025年12月にバージョン0.2.48へ更新)でモデルを動かし、WebGPU用のモデルライブラリを読み込みます。WebGPUが使えるブラウザでないと動かないので、古いブラウザで止まったらまず最新版のChromeかEdgeで試してください。最初の読み込みでMLC形式の重み約880MBをHugging Faceから取得するため、初回だけはネット接続が必要です。モデルと実行用リソースの読み込みが完了したページでは、接続を切って会話できます。ただし、ページの再読み込みやブラウザの再起動後もオフラインで起動できるとは限りません。

公式index.jsを読むと、ChatUIは「あなたは、Sakana AI株式会社が開発したTinySwallowです。小型ながら、誠実で優秀なアシスタントです。」というシステムプロンプトを入れ、temperature 0.7・top_p 0.95・repetition_penalty 1.2・frequency_penalty 0.5で生成しています。ただし、主要な生成設定をOllamaで近づけた試行では、説明文の言葉選びが崩れました(後述の出力の章を参照)。ブラウザやCDNに頼らずに動かしたい場合は、モデルの重みを同梱したPython版のTinySwallow-ChatUI-Localを使います。UIはGradioで、準備のときにGit LFSでの重みの取得(git clone --recursive)とuvでの依存パッケージの導入(uv sync)が必要です。ネットに接続しない端末で使うなら、別の環境で準備して移します。

Ollamaで動かす:PCでの実測

PCで常用するならOllamaが手早いです。GGUF版のHugging Faceページには、Ollamaとllama.cppの起動コマンドが案内されています。ローカルLLMの基本やOllamaの導入そのものはローカルLLMとは?クラウド型との違い・必要スペック・Ollamaでの構築手順を解説を参照してください。ここから先の数値と出力は、2026年10月21日にOllama 0.40.5で計測したものです。

Ollamaのhf.co指定とチャットテンプレートの確認

ollama run hf.co/SakanaAI/TinySwallow-1.5B-Instruct-GGUF:Q5_K_M
# Q8_0を使う場合
ollama run hf.co/SakanaAI/TinySwallow-1.5B-Instruct-GGUF:Q8_0
# 適用されたチャットテンプレートを確認
ollama show --modelfile hf.co/SakanaAI/TinySwallow-1.5B-Instruct-GGUF:Q5_K_M

Hugging Faceから直接取得したモデルでは、チャットテンプレートが元のモデルの形式と食い違うことがあります。TinySwallowではollama show --modelfileの結果がQwen2.5と同じ<|im_start|>形式(ChatML)で、ベースのQwen2.5-1.5B-Instructと一致していました。Modelfileを自分で書く必要はありません。iPhone向け公式ガイドのシステムプロンプト例も同じ形式です。

Q5_K_MとQ8_0の速度とメモリ

計測環境は2019年モデルのIntel Mac(Core i9-9880H・8コア・メモリ16GB)で、GPUは使わずCPUだけで推論しています。同じ要約の依頼(入力174トークン)を両方の量子化で交互に3回ずつ実行し、生成速度の中央値を取りました。3回の範囲はQ5_K_Mが毎秒1.58〜6.42トークン、Q8_0が毎秒4.38〜4.54トークンでした(Q5_K_Mの1.58は、機械の負荷が最も高かった1回目の値です)。計測中は同じ機械でほかの処理も動いていたため、その負荷が測定値に影響した可能性があります。

量子化 ファイル メモリ占有 生成速度(Intel Mac・CPU) 公式値(iPhone)
Q5_K_M 約1.13GB 約1.3GB 6.09トークン/秒 19.89トークン/秒
Q8_0 約1.65GB 約1.8GB 4.45トークン/秒 14.75トークン/秒

メモリ占有はollama psの表示(コンテキスト長4,096)で、ファイルサイズに0.2GBほど足した量です。8GBのPCで使えるかは、OSやほかのアプリが使うメモリにも左右されます。今回の計測環境は16GBで、8GB機での併用は未検証です。Q8_0はQ5_K_Mより約27%遅く、iPhoneの公式値の差(約26%)とほぼ同じ比率でした。Q5_K_Mの毎秒約6トークンという生成速度では、30トークンの生成部分は約5秒、90トークンなら約15秒が目安です。回答全体の待ち時間には、入力処理やモデル読み込みの時間も加わります。モデルの初回読み込みには10〜14秒かかりました。手元のPCがCPUだけなら、速度を優先してQ5_K_Mを選ぶのが妥当です。

PythonからのOllama API呼び出し

アプリに組み込むときは、Ollamaが立てるHTTP APIを呼びます。次のコードは計測に使ったものを短くしたもので、標準ライブラリだけで動きます。定型処理向けに温度を0にし、ペナルティは付けていません。

import json
import urllib.request

body = {
    "model": "hf.co/SakanaAI/TinySwallow-1.5B-Instruct-GGUF:Q5_K_M",
    "messages": [
        {"role": "user", "content": "日本で一番高い山と、その標高を答えてください。"},
    ],
    "stream": False,
    "options": {"temperature": 0},
}
req = urllib.request.Request(
    "http://127.0.0.1:11434/api/chat",
    data=json.dumps(body).encode(),
    headers={"Content-Type": "application/json"},
)
res = json.load(urllib.request.urlopen(req))
print(res["message"]["content"])
print(res["eval_count"] / (res["eval_duration"] / 1e9), "tokens/s")

応答のJSONに含まれるeval_count(生成トークン数)とeval_duration(ナノ秒)から生成速度を出せます。上の表の数値もこの方法で計算しています。

4種類の試行で確認した要約・整形の出力と説明の誤り

温度0で4種類の依頼を試すと、正しく答えた例と誤りを含む例がありました。以下は少数の試行結果で、用途ごとの一般的な精度を測ったものではありません。「日本で一番高い山と標高」には富士山・3,776メートルと正しく答え、要約もポイントを外さずに2〜3文にまとめました。取引先向けの欠席メールも件名から結びまで整った形で書けています(ただしメールなのに「拝啓・敬具」を使うなど、作法の混在は残りました)。

一方で「知識蒸留について簡単に教えてください」というモデルカードの例と同じ質問では、Q5_K_Mが手順の3番目に「生徒モデルは、学習した知識を教師モデルに転送します」と書きました。教師から生徒へという向きが逆で、知識蒸留の説明としては誤りです。言い回しは自然なので、読み手が詳しくなければ気づきません。ChatUIと同じシステムプロンプトとtemperature 0.7・ペナルティ設定で3回生成し直すと、教師を「シンプル化されたモデル」と書く、知識蒸留の説明に不適切な「ブランド名: DeepAI, GPT-J」という製品一覧風の記述を挟む、生徒を「被験者模型」と呼ぶなど、誤りがかえって増えました。この比較ではシステムプロンプト、温度、ペナルティを同時に変更しているため、用語の崩れをどの設定が引き起こしたかは特定できません。1.5Bのモデルに知識を問う使い方は避け、渡した文章の要約・整形・言い換えのように答えの材料が入力の中にある処理に絞るのが安全です。

iPhoneで動かす:LLMFarmの設定

公式のiPhone向けガイドは、LLMFarmにGGUFを読み込む方法を案内しています。ここは古い情報が出回っているので注意してください。2025年8月27日の更新で、LLMFarmは通常のApp Storeから入手できなくなり、TestFlight経由でのインストールに変わりました。あわせて「Settings template」は、手順本文に残る「ChatML」ではなく「Custom」を選ぶよう訂正されています。

手順は、GGUF(Q8_0かQ5_K_M)をiPhoneにダウンロードし、LLMFarmの+ボタンから「import from file」で読み込むだけです。推奨設定はTemperature 0.7・Top_k 20です。ガイドに書かれた生成速度はQ8_0が14.75トークン/秒、Q5_K_Mが19.89トークン/秒で、機種は書かれていませんが、ブログのデモ動画はQ8_0をiPhone 14で動かしたものと説明されています。

商用利用の条件:License節とUses節の読み方

TinySwallowの利用条件は、Instruct版のモデルカードの2つの節を合わせて読む必要があります。片方だけを引用すると、「自由に商用利用できる」とも「商用利用は禁止」とも読めてしまいます。

節 書かれていること 意味
License Apache 2.0+Gemma規約・禁止用途ポリシー 両方を守れば商用を含め利用可
Uses 研究開発用の実験的プロトタイプ 商用・重要用途は想定外・無保証

License節が商用利用を明示的に認めているので、規約を守る限り製品に組み込むこと自体は可能です。そのうえで守るべきものが2つあります。1つはベースのQwen2.5に由来するApache 2.0の条件(LICENSEとNoticeの同梱など)。もう1つはGemmaの利用規約と禁止用途ポリシーで、学習データにGemma-2で生成した合成データ(Gemma-2-LMSYS-Chat-1M-Synthなど)を使っているため適用されます。GGUF版やMLC版のリポジトリにもGEMMA_TERMS_OF_USEとNoticeが同梱されています。

Uses節の「商用は想定していない」は禁止ではなく、品質を保証しない・損害に責任を負わないという提供者の立場の表明です。業務で使うなら、人が誤答を確認でき、障害が致命的にならない工程に限定することを推奨します。ただし、これは運用上の推奨であり、ライセンス条件の充足を意味しません。Gemma規約の1.1(b)は、APIやWebでの提供(Hosted Service)も「配布」と定義しています。3.1は、配布する場合は利用規約などの契約に禁止用途の制限を拘束力のある条項として入れること、受け取る第三者に規約の写しを渡すことを求めています。TinySwallowを組み込んだサービスを外部に提供するなら、自社の利用規約にこの制限を入れる作業が要ります。Gemma規約の禁止用途に当たらないかの確認は、自社の用途ごとに行ってください。

TinySwallowを選ぶ場面・選ばない場面

TinySwallowが向くのは、データを外に出せず、入力の中に答えがある定型処理です。社内メモの要約、決まった書式への整形、問い合わせ文の下書き、オフラインのゲームや端末アプリの会話役がこれに当たります。Sakana AIもプライベートなAIアシスタントやオフラインゲームのキャラクターを応用例に挙げています。WebGPUのブラウザやスマートフォンで動く日本語モデルとしては、2026年10月時点でも試しやすい部類です。

選ぶべきでないのは、知識を問う質問応答、長い文書をまたいだ推論、専門分野の正確さが要る回答です。前の章では、TinySwallow-1.5B-Instructの説明にもっともらしい誤りが出ました。正確さが必要な質問応答へ採用する前に、実際の業務課題で精度を評価する必要があります。規模と品質が要るなら、同じSwallow系列の大きいモデルや、商用条件が整理された別の日本語モデル(ローカルLLMの活用事例|個人・業務での使い方とELYZAでの始め方)と比べてください。ローカルLLMを業務システムに載せる判断や、クラウドの生成AIとの使い分けで迷っている場合は、生成AI導入支援で用途の切り分けから相談できます。

よくある質問

TinySwallowは無料で使えますか?

無料です。モデルはHugging Faceから費用なしで取得でき、ChatUIもOllamaも推論は自分の端末で行うので利用料はかかりません。別途、対応端末と電力、保存領域(GGUFで約1.1〜1.7GB)が必要で、初回ダウンロード時には通信費がかかる場合があります。

TinySwallowは商用利用できますか?

モデルカードのLicense節は、Apache 2.0とGemmaの利用規約・禁止用途ポリシーを守れば商用を含めて利用できるとしています。ただしUses節で、研究開発用の実験的プロトタイプであり商用やミッションクリティカルな用途は想定していない、性能も結果も保証しないと書かれています。規約を守ったうえで、誤答を人が確認できる用途に限るのが現実的です。

TAIDとは何の略ですか?

Temporally Adaptive Interpolated Distillationの略です。学習の進み具合に合わせて、生徒と教師を混ぜた中間教師を教師側へ動かしていく知識蒸留の手法で、ICLR 2025でSpotlightとして発表されました。「Tiny AI Dynamic」という説明は誤りです。

オフラインで完全に動きますか?

モデルを取得した後の推論はオフラインで動きます。OllamaやiPhoneのLLMFarmは、GGUFを取得した後はネット接続が要りません。ChatUIは約880MBの重みを読み込んだページならネットを切っても会話できますが、WebLLMなどのスクリプトを外部から読むため、開き直したときにオフラインで起動できるとは限りません。TinySwallow-ChatUI-Localも初期準備には重みと依存パッケージの取得が必要です。対象端末をネットに接続しない場合は、別環境で取得した必要ファイルを移送して準備します。

ほかの小型日本語モデルと比べて性能はどうですか?

公式ブログの比較(3B未満・日本語の平均スコア)では、TinySwallow-1.5Bが0.402で、gemma-2-2b-jpn-it(0.375)、Qwen2.5-1.5B(0.372)、sarashina2.1-1b(0.296)、llm-jp-3-1.8b(0.251)を上回っています。ただし比較は2025年1月時点のモデルで、知識を問う質問ではもっともらしい誤りも出ます。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.07.21 テックブログ Apache Tomcatの脆弱性一覧【2026年10月】最新版11.0.27・10.1.61・9.0.123とCVE-2026-59083ほかの影響確認・対応手順
  2. 2026.10.22 テックブログ Tomcatバージョン一覧とサポート期限【2026年10月】9.0系は2027年3月末で終了・9.1系と11.0系への移行判断
  3. 2026.10.21 テックブログ NEC委託先の不正アクセスとは|顧客システム暗号化・情報漏えいの経緯と委託元が点検する正規アカウント
  4. 2026.05.15 テックブログ scrcpyの最新版は5.0|ハードウェアデコード対応とインストール・使い方【2026年10月】
  5. 2026.10.21 テックブログ ふるさとチョイス不正アクセスで445万件流出:対象確認・パスワード変更と再開時期

RELATED POSTS 関連記事

目次