SmolLM2(スモルエルエムツー)
Hugging Faceが2024年11月に公開した超小型言語モデルファミリー。135M・360M・1.7Bの3サイズで、ブラウザ上のWebLLMやスマートフォンでのオンデバイス推論を主目的とする。
SmolLM2 とは
Hugging Faceが2024年11月に公開した超小型言語モデル(SLM)ファミリー。SmolLMの第2世代として、前世代より大幅に改良された訓練データと手法で、ブラウザ・スマートフォン・IoTデバイスでのオンデバイス推論を実現する。
モデルサイズラインナップ
| モデル | パラメータ | 想定用途 |
|---|---|---|
| SmolLM2 135M | 1.35億 | ブラウザ・極小デバイス |
| SmolLM2 360M | 3.6億 | モバイルアプリ |
| SmolLM2 1.7B | 17億 | スマートフォン・ラップトップ |
訓練データの特徴
SmolLM2はFineWeb-Edu・DCLM・The Stack v2・数学データセットなどを組み合わせた計約11兆トークンで訓練。
FineWeb-Edu: CommonCrawlから教育的価値の高いページを選別したHugging Face製データセット。通常のWebクロールより「密度の高い知識」を含む。
DCLM(DataComp-LM): Apple・Together AI等が協力して構築した高品質フィルタリングWebデータ。
SmolLM1(初代)と比較してデータ量・品質ともに大幅向上し、同規模モデルのベンチマーク最高水準を達成。
対応推論フレームワーク
WebLLM(ブラウザ推論)
WebGPU APIを使いブラウザ上でモデルを実行。SmolLM2 135M/360Mはモデルサイズが小さいため、初回ダウンロード後にオフラインでも動作可能。
Transformers.js
Hugging Face公式のJavaScriptライブラリ。WebAssembly/WebGPU経由でフロントエンドでの推論が可能。
import { pipeline } from '@huggingface/transformers';
const generator = await pipeline('text-generation', 'HuggingFaceTB/SmolLM2-135M-Instruct');
const result = await generator('Hello, ');
llama.cpp / ollama
GGUF形式で量子化して使用。Raspberry Pi等の組み込みLinuxでも実用速度。
Apple MLX / Core ML
Appleシリコン(M1/M2/M3/M4)向けの最適化バックエンドに対応。
ベンチマーク比較(1.7Bクラス)
| モデル | HellaSwag | ARC Challenge | PIQA |
|---|---|---|---|
| SmolLM2 1.7B | 73.2% | 46.2% | 76.6% |
| Llama 3.2 1B | 61.0% | 39.8% | 74.9% |
| Gemma 2 2B | 74.0% | 51.8% | 77.5% |
同規模(1-2Bクラス)の中では上位に位置し、特にLlama 3.2 1Bを大幅に上回る。
SmolLM2 Instruct(チャット版)
各サイズにSFT(Supervised Fine-Tuning)+DPOを施したInstruct版が公開されている。チャットテンプレート対応で、一般的な質疑応答・要約・コード生成に対応。
<|im_start|>user
PythonでFizzBuzzを書いて<|im_end|>
<|im_start|>assistant
SmolVLM(マルチモーダル派生)
SmolLM2をビジョンエンコーダ(SigLIP)と組み合わせたSmolVLMも公開。画像認識・VQAをスマートフォン上で実行できる超小型VLMとして注目されている。
実用シナリオ
Webアプリ内蔵AI: ユーザーのデータをサーバーに送らず、ブラウザ上でプライベートにLLM処理(フォーム補完・要約等)。
オフラインアシスタント: 機内・山中など通信不可環境でのスマートフォンAI。
IoT/エッジデバイス: Raspberry Pi・ESP32等の組み込みシステムでのローカル推論。
まとめ
SmolLM2は「LLMをどこでも動かす」という思想を体現したモデルファミリー。135Mというブラウザで動く規模から始まり、WebLLM・Transformers.js・llama.cppとの完全対応で、AIのエッジ展開を最も積極的に推進するオープンソースSLMといえる。