Hugging Faceモデルの使い方入門:AIモデルを使いこなす基本ステップ
ヨミアゲAI編集部
AI音声・動画制作に関する情報をお届けします
Hugging Faceは、2026年5月現在、AIモデル、データセット、デモアプリを共有・活用するための中心的なプラットフォームとして機能しています。世界中の研究者や開発者が、最先端の機械学習モデルを簡単に発見し、利用し、貢献できるエコシステムを提供しています。本記事では、AIモデルの利用が初めての方でもHugging Faceのモデルを使いこなせるよう、基本的な使い方をステップバイステップで解説します。
Hugging Faceモデルの基本:ローカル環境での活用
Hugging Faceモデルをローカル環境で利用する最も一般的な方法は、Pythonライブラリであるtransformersを使用することです。これにより、テキスト生成、感情分析、画像分類など、多岐にわたるタスクのモデルを簡単にロードし、推論を実行できます。
1. 環境構築
まず、必要なライブラリをインストールします。2026年5月時点の最新安定版として、transformers ライブラリのバージョン 5.10.0 を推奨します。
pip install transformers torch accelerate
💡 ポイント:
torch(またはtensorflow)はバックエンドのディープラーニングフレームワークです。accelerateは大規模モデルの効率的な実行をサポートします。
2. モデルの検索と選択
Hugging Face Hub (huggingface.co/models) にアクセスし、利用したいモデルを検索します。例えば、テキスト生成には「gpt-2」、感情分析には「distilbert-base-uncased-finetuned-sst-2-english」などが人気です。
3. パイプラインを使った簡単な推論
Hugging Faceのパイプライン機能は、特定のタスクに対してモデルと前処理・後処理をまとめて実行できる便利な機能です。
from transformers import pipeline
# 感情分析パイプラインをロード
# 2026年5月時点で、このモデルは非常に軽量で幅広い用途に利用されています。
classifier = pipeline("sentiment-analysis")
# テキストを分析
result = classifier("I love using Hugging Face models!")
print(result)
# 出力例: [{'label': 'POSITIVE', 'score': 0.9998}]
result2 = classifier("This is a terrible movie.")
print(result2)
# 出力例: [{'label': 'NEGATIVE', 'score': 0.9997}]
4. トークナイザーとモデルを使った詳細な推論
より柔軟にモデルを扱いたい場合は、トークナイザーとモデルを個別にロードします。
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)
# 推論したいテキスト
text = "Hugging Face makes AI accessible to everyone."
# テキストをトークン化し、モデルの入力形式に変換
inputs = tokenizer(text, return_tensors="pt")
# モデルで推論を実行
with torch.no_grad(): # 勾配計算を無効化してメモリを節約
outputs = model(**inputs)
# 結果の解釈 (ここでは感情分析の例)
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
print(predictions)
# ラベルの取得 (モデルによってはconfigに定義されています)
# 例: model.config.id2label
⚠️ 注意: 大規模な言語モデル(LLM)を実行する場合、特にLlama 3 8Bモデルのようなものはファイルサイズが約
15GBにもなり、推論には約20GB以上のGPUメモリを必要とすることがあります。一般的なBERT-baseモデルは約440MBで、推論には約1GBのGPUメモリで十分です。ご自身のハードウェアスペックを確認してください。
Hugging Face SpacesとInference APIの活用
ローカル環境での実行が難しい場合や、手軽にモデルを試したい場合は、Hugging Faceが提供するクラウドベースのサービスが非常に便利です。
1. Hugging Face Spaces
Hugging Face Spacesは、AIモデルのデモアプリを簡単に作成、共有、実行できるプラットフォームです。GradioやStreamlitといったフレームワークを使って、Webブラウザからモデルをインタラクティブに試すことができます。多くの公開されているSpacesは無料で利用でき、数行のコードで自分自身のデモを構築することも可能です。
2. Hugging Face Inference API
Inference APIは、Hugging Face Hub上のモデルをREST API経由で直接利用できるサービスです。複雑な環境構築なしに、HTTPリクエストを送るだけでモデルの推論結果を取得できます。
| プラン | 料金 | 特徴 |
|---|---|---|
| 無料 | 0円 | 月間10万トークンまでの無料枠、共有インフラ、レイテンシ変動あり |
| Pro | 月額$9 |
専用インフラ、低レイテンシ(平均50ms以下)、優先サポート、高スループット |
| Enterprise | 月額$999〜 |
専用VPC、カスタムモデルデプロイ、SLA保証、専任サポート |
無料枠はテストや小規模な利用に最適ですが、本番環境や高負荷な利用にはProまたはEnterpriseプランの検討が必要です。
import requests
API_URL = "https://api-inference.huggingface.co/models/distilbert-base-uncased-finetuned-sst-2-english"
headers = {"Authorization": "Bearer YOUR_HF_TOKEN"} # YOUR_HF_TOKENはHugging Faceのアクセストークンに置き換え
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
return response.json()
text_to_analyze = "I am so happy to learn about Hugging Face!"
output = query({"inputs": text_to_analyze})
print(output)
# 出力例: [[{'label': 'POSITIVE', 'score': 0.9998}]]
⚠️ 注意: Inference APIを利用するには、Hugging Faceアカウントで発行したアクセストークンが必要です。トークンは他人に見られないように厳重に管理してください。
次のステップ
Hugging Faceのモデル利用は、ここからが本番です。
- ファインチューニング: 独自のデータセットを使って既存のモデルをさらに学習させ、特定のタスクに特化させることで、より高い精度を目指せます。
- データセットの活用: Hugging Face Hubにはモデルだけでなく、膨大な数のデータセットも公開されています。これらを活用して、新しいモデルの開発や既存モデルの評価が可能です。
- Diffusersライブラリ: 画像生成AI(Stable Diffusionなど)を扱いたい場合は、
transformersと同様にHugging Faceが提供するdiffusersライブラリが非常に強力です。
Hugging Faceは、AIの民主化を推進する強力なツール群を提供しています。本記事で紹介した入門ステップを足がかりに、AIの世界をさらに深く探求してみてください。