huggingface/smollm
Everything about the SmolLM and SmolVLM family of models
SmollM – Hugging Faceによる軽量でオープンソースな言語・視覚モデル
概要 – デバイス上で動作しつつ強力なパフォーマンスを発揮する、コンパクトで完全にオープンなモデル群です。フラッグシップモデルとして、3Bパラメータの因果言語モデルである SmolLM-3 と、マルチモーダル視覚言語モデルの SmolVLM があります。
重要性 – 最先端モデルの多くは巨大で強力なサーバーを必要としますが、SmollMは慎重なデータキュレーションと学習テクニックにより、3Bモデルであっても他の3Bモデル(Llama 3.2、Qwen2.5)を凌駕し、4Bモデルとも競合できることを示しました。しかも、CPUや中程度のGPUで推論できるほど軽量です。
主な機能
- SmolLM-3 – 3Bパラメータ、11Tトークンで学習。128kトークンのコンテキスト(NoPE + YaRN)、デュアルモード推論("think" / "no_think")、6言語の多言語指示に対応。
- SmolVLM – 複数の画像とテキストを受け取り、視覚的な質問への回答、画像の説明、視覚的なストーリーテリングが可能な視覚言語モデル。デバイス上での使用に最適化されています。
- オープンソース – モデルの重み、学習データミックス、完全な学習設定が公開されています。
- 使いやすさ – テキストおよび視覚モデルの両方で標準の Hugging Face
transformersAPI を使用でき、ローカル推論用のヘルパースクリプトも付属しています。
はじめ方
# Text model
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "HuggingFaceTB/SmolLM3-3B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name).to("cuda")
prompt = "Explain gravity in simple terms."
chat = [{"role": "user", "content": prompt}]
text = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
inputs = tokenizer([text], return_tensors="pt").to(model.device)
out_ids = model.generate(**inputs, max_new_tokens=32768)
print(tokenizer.decode(out_ids[0][len(inputs.input_ids[0]):], skip_special_tokens=True))
# Vision model
from transformers import AutoProcessor, AutoModelForVision2Seq
processor = AutoProcessor.from_pretrained("HuggingFaceTB/SmolVLM-Instruct")
model = AutoModelForVision2Seq.from_pretrained("HuggingFaceTB/SmolVLM-Instruct")
messages = [{"role": "user", "content": [{"type": "image"}, {"type": "text", "text": "What’s in this picture?"}]}]
# (use processor to encode image+text, then model.generate…)
リポジトリ構成
text/– SmolLM 1-3 のコード、ドキュメント、リソース。vision/– SmolVLM のコードとドキュメント。tools/– 共有ユーティリティとすぐに実行可能な推論スクリプト。
詳細情報とリソース
- モデルカード:
HuggingFaceTB/SmolLM3-3B-Base,HuggingFaceTB/SmolLM3-3B,HuggingFaceTB/SmolVLM-Instruct。 - ブログ記事:https://hf.co/blog/smollm3
- 論文:SmolLM2 paper (arXiv 2502.02737v1)。
- 事前学習データセット:SmolTalk, FineMath, FineWeb-Edu など。
対象読者 – 高効率なLLMに関心のある研究者、デバイス上のAIアシスタントを構築する開発者、および独自の制限なしで小型かつ高性能な言語・マルチモーダルモデルを必要とするすべての方。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト