Hugging Faceモデル使い方入門:PythonでAIを動かす基本ステップ
ヨミアゲAI編集部
AI音声・動画制作に関する情報をお届けします
Hugging Faceは、2026年現在、AI開発、特に自然言語処理(NLP)分野におけるデファクトスタンダードとしてその地位を確立しています。オープンソースの精神と活発なコミュニティに支えられ、世界中の開発者や研究者がモデル、データセット、アプリケーションを共有し、協力し合うエコシステムを形成しています。Hugging Face Hubには、2026年3月現在、200万以上のAIモデルと50万以上のデータセットが公開されており、多様なAIタスクに対応するリソースが手に入ります。
本記事では、このHugging FaceモデルをPythonで利用するための基本的な使い方を、ステップバイステップで解説します。
1. Hugging Faceモデルを動かすための準備
Hugging Faceモデルを利用するには、Python環境と主要ライブラリであるtransformersのインストールが必要です。
Python環境のセットアップ
まず、プロジェクトごとに仮想環境を構築することをお勧めします。これにより、依存関係の衝突を防ぎ、環境をクリーンに保つことができます。
# 仮想環境の作成
python -m venv hf_env
# 仮想環境のアクティベート (macOS/Linux)
source hf_env/bin/activate
# 仮想環境のアクティベート (Windows PowerShell)
# .\hf_env\Scripts\Activate.ps1
必要なライブラリのインストール
次に、Hugging Faceの主要ライブラリであるtransformersをインストールします。多くのモデルはPyTorchまたはTensorFlowフレームワークで動作するため、どちらか一方、または両方をtransformersと一緒にインストールします。ここではPyTorchを推奨します。
pip install transformers[torch] accelerate datasets
💡 ポイント:
transformers[torch]とすることで、PyTorchとその依存関係が自動的にインストールされます。もしTensorFlowを使用する場合はtransformers[tf]を指定してください。accelerateは大規模モデルの学習・推論を効率化するライブラリ、datasetsはデータセットを扱うためのライブラリです。
インストールが完了したら、transformersのバージョンを確認してみましょう。2026年3月時点での安定版は4.38.1前後ですが、常に最新版を利用することが推奨されます。
pip show transformers
2. Hugging Faceモデルの基本的な使い方:テキスト分類を例に
Hugging Faceモデルの利用方法は大きく分けて2つあります。手軽に利用できる**パイプライン(pipeline)機能と、より詳細な制御が可能なトークナイザー(Tokenizer)とモデル(Model)**を個別に使う方法です。
パイプライン機能で手軽に利用する
パイプラインは、事前学習済みモデルとそれに必要な前処理・後処理をまとめて実行できる高レベルAPIです。初めてHugging Faceモデルを使う方にとって最も簡単な方法です。ここでは、センチメント分析(テキスト分類の一種)を例に挙げます。
from transformers import pipeline
# 2026年3月時点の安定版 `transformers` ライブラリバージョン 4.38.1 を想定
# 最新版は適宜確認してください
# センチメント分析パイプラインを初期化
# デフォルトで "distilbert-base-uncased-finetuned-sst-2-english" モデルが使用されます
classifier = pipeline("sentiment-analysis")
# テキストを分析
text_to_analyze = "Hugging Face models are incredibly powerful and easy to use!"
result = classifier(text_to_analyze)
print(result)
# 特定のモデルを指定することも可能
# classifier = pipeline("sentiment-analysis", model="distilbert-base-uncased-finetuned-sst-2-english")
このコードを実行すると、入力されたテキストがポジティブかネガティブか、そしてその確信度(スコア)が出力されます。
トークナイザーとモデルを個別に利用する
より細かい制御が必要な場合や、モデルの内部動作を理解したい場合は、トークナイザーとモデルを個別にロードして使用します。
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
# 使用するモデルの名前を指定
model_name = "distilbert-base-uncased-finetuned-sst-2-english"
# トークナイザーとモデルをロード
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
# GPUが利用可能であれば、モデルをGPUに移動
if torch.cuda.is_available():
model.to("cuda")
device = "cuda"
else:
device = "cpu"
print(f"Using device: {device}")
# 入力テキストをトークン化
text_to_analyze = "This movie was absolutely fantastic! I highly recommend it."
inputs = tokenizer(text_to_analyze, return_tensors="pt")
# GPUを使用する場合、入力もGPUに移動
if device == "cuda":
inputs = {k: v.to(device) for k, v in inputs.items()}
# モデルで推論を実行(勾配計算は不要なのでwith torch.no_grad()を使用)
with torch.no_grad():
logits = model(**inputs).logits
# 推論結果を解釈
predictions = torch.argmax(logits, dim=-1).item()
# このモデルでは、0がネガティブ、1がポジティブにマッピングされています
sentiment = "Positive" if predictions == 1 else "Negative"
print(f"Sentiment: {sentiment}, Logits: {logits}")
⚠️ 注意: GPUがない環境やVRAMが不足している場合、モデルの推論にはCPUが使用され、処理速度が大幅に低下する可能性があります。多くの一般的なモデルでは、最低でも8GB以上のGPUメモリがあると快適に動作します。
3. さらにHugging Faceを活用するために
Hugging Faceのエコシステムは、モデルの推論だけでなく、学習、デプロイ、データセット管理など、多岐にわたる機能を提供しています。
さらなる活用方法
- ファインチューニング(Fine-tuning): 既存の事前学習済みモデルを、特定のタスクやデータセットに合わせて再学習させることで、性能を向上させることができます。Hugging Faceの
TrainerAPIを使えば、比較的容易に実現可能です。 - Hugging Face Spaces: モデルを使ったインタラクティブなデモアプリケーションを簡単に構築し、共有できるプラットフォームです。StreamlitやGradioといったフレームワークに対応しています。
- Hugging Face Inference API: ホストされたモデルをREST API経由で利用できます。自分でモデルをデプロイする手間なく、手軽にAI機能をアプリケーションに組み込めます。
SpacesとInference APIの料金体系(2026年3月時点)
| 機能 | 無料枠(2026年3月時点) | 有料枠(一部) |
|---|---|---|
| Hugging Face Spaces | CPU上で小規模なデモアプリをホスト可能 | より強力なGPU(例: NVIDIA A100)、プライベートスペース、高可用性など |
| Inference API | 月間約3万リクエストまで無料で利用可能 | 高スループット、専用エンドポイント、商用利用向けプランなど |
Hugging Faceは、AI開発のあらゆる段階で強力なサポートを提供するプラットフォームです。この入門記事を参考に、ぜひHugging Faceモデルの活用を始めてみてください。