Hugging Faceとは?AIモデル共有の仕組みと使い方を解説

  • 2026.09.07
       
【Hugging Face】AIモデル共有プラットフォーム

近年、生成AIや大規模言語モデル(LLM)をはじめとするAI技術の発展により、AIを活用したシステムやアプリケーションの開発が急速に広がっています。
しかし、高性能なAIモデルをゼロから開発・学習するには、大規模な計算環境や専門知識が必要となるため、個人や企業にとって依然として高いハードルとなっています。

そこで広く活用されているのが、世界中の研究者や開発者が公開したAIモデルやデータセットを検索・共有・利用できるプラットフォーム「Hugging Face」です。
この記事では、Hugging FaceおよびHugging Face Spacesの概要をはじめ、基本的な使い方、簡単なAIアプリの作成手順、料金プラン、メリット・デメリットまで詳しく解説します。

Hugging Faceとは

Hugging Faceのトップ画面
Hugging Face公式サイトのトップページ

Hugging Faceとは、AIモデルやデータセットを公開・共有・利用できる、AI・機械学習プラットフォームです
事前学習済みのAIモデルを検索してすぐに利用できるほか、自分が開発したモデルやアプリを公開することもでき、「AIのGitHub」とも呼ばれています

中心となる「Hugging Face Hub」では、自然言語処理(NLP)や画像生成、音声認識、画像分類、マルチモーダルAIなど、さまざまな分野の学習済みモデルやデータセットが公開されています。

Hugging Faceはもともとチャットボットを開発する企業としてスタートしましたが、その後、機械学習ライブラリ「Transformers」を公開したことで広く知られるようになりました。
現在ではMeta、Mistral AI、Google、Microsoftなど、多くの企業や研究機関がHugging Face上でモデルを公開しています。

Hugging Faceの特徴は、公開されている学習済みモデルを比較的簡単に利用できることです
モデルごとに異なる前処理や推論処理を一から実装しなくても、数行のコードを書くだけでテキスト生成や翻訳、文章要約、感情分析、画像分類などを試すことができます。

また、モデルをローカル環境にダウンロードして実行するだけでなく、API経由でクラウド上のモデルを呼び出して利用することも可能です。
この手軽さが、多くのAI開発者から支持される理由の一つです。

AI・機械学習プラットフォーム「Hugging Face」の概要

Hugging Faceは単一のサービスではなく、AIモデルの共有や実行、アプリ公開などを支援する複数のサービス・ライブラリから構成されています。
用途に応じてこれらを組み合わせることで、AIモデルの開発から公開、アプリケーションへの組み込みまで幅広く活用できます。

サービス・機能 概要 主な用途・役割
Hugging Face Hub AIモデル・データセット・アプリを一元管理するプラットフォーム モデルやデータセットの公開・共有・検索
Models 世界中の開発者が公開した学習済みAIモデルを利用できる機能 テキスト生成、翻訳、画像生成、音声認識など
Datasets 機械学習用データセットを公開・ダウンロードできる機能 モデルの学習や評価に利用
Spaces AIアプリをブラウザ上で公開・実行できる環境 デモアプリやWebアプリの公開・共有
Transformers 学習済みモデルを簡単に利用できるPythonライブラリ LLMやBERTなどを数行のコードで実装
Diffusers 拡散モデル(Diffusion Model)を扱うためのライブラリ Stable Diffusionなどの画像生成AIの利用
Inference Providers
Inference Endpoints
モデルをAPI経由で実行できる推論サービス AI機能をアプリケーションへ組み込む
Community モデルの評価や質問、情報交換ができるコミュニティ機能 技術共有、共同開発、フィードバック

「Hugging Face Hub」の仕組みと役割

Hugging Face Hubでは、200万以上のAIモデルや150万以上のデータセット、AIアプリなどが公開されており、必要なものを検索して利用できます。

Hubでは、主に以下の3つが提供されています。

  • Models:AIモデルの公開・共有
  • Datasets:学習・評価用データセットの公開・共有
  • Spaces:AIアプリやデモの公開・共有

Models・Datasets・Spacesはリポジトリとして管理されており、Gitによるバージョン管理や共同開発にも対応しています。
そのため、研究用途だけでなく、企業におけるモデル運用にも対応しやすくなっています。

また、モデルには「Model Cards」、データセットには「Dataset Cards」と呼ばれる情報提供ファイルを設定でき、用途やライセンス、評価結果、注意点などを確認できます。
単にモデルを公開するだけでなく、透明性を確保する仕組みが整えられている点も特徴です。

さらに、リポジトリの操作や更新をプログラムから自動化することもでき、自社サービスから直接モデルを取得したり、自動デプロイを行ったりすることも可能です。
詳しくは、Hugging Face Hub公式ドキュメントで確認できます。

Hugging Faceが注目される背景とコミュニティの重要性

近年、AI開発ではオープンソース化が急速に進んでいます。
以前は高性能なAIモデルは一部の大企業しか扱えませんでしたが、現在ではMetaのLlamaシリーズをはじめ、中・小企業や個人開発でも利用できる高性能モデルが多く公開されています。

その公開先として最も利用されているのが、Hugging Faceです。
世界中の研究者や開発者が参加しており、公開されたモデルをもとにした派生モデルや改善版も数多く共有されています。

また、Hugging Face Hubには「Discussions」や「Pull Requests」などの機能があり、不具合の報告や改善提案、共同での修正作業を行うことができます。

こうした活発なコミュニティによって新しい技術が素早く広まる環境が整っていることが、Hugging Faceが多くの開発者に選ばれている理由の一つです。

Hugging Face Spacesとは

Hugging Face Spacesとは、AIアプリケーションをブラウザ上で公開・実行できるホスティングサービスです

通常、AIアプリを公開するにはWebサーバーやクラウド環境を構築し、アプリケーションをデプロイする必要があります。
しかしSpacesでは、GitHubのようにソースコードをアップロードするだけで、アプリを公開することができます

ブラウザ上でAIアプリを動かせる環境「Spaces」の仕組み

Spacesに公開するアプリはそれぞれ、モデルやデータセットと同様に専用のリポジトリで管理されます。
リポジトリに新しいコミットがプッシュされる度に、自動でビルドとデプロイが行われるため、ソースコードを更新するだけでアプリの公開が完了します。

Spacesでは現在、以下の3つのSDKオプションを提供しています。

  • Gradio
  • Docker
  • static HTML

特に、SpacesとGradioとの相性は非常に良く、数十行程度のPythonコードを書くだけで、画像生成やチャットボット、翻訳ツール、音声認識アプリなどを簡単にブラウザから利用できるようになります。
また、Dockerを利用することにより、FastAPIなどGradio以外のフレームワークや独自の実行環境を利用することも可能です。

公開されたアプリ(Spaces)には専用URLが割り当てられており、Public設定であれば誰でもブラウザからアクセスすることができます。
そのため、AIモデルのデモ、ポートフォリオ、研究成果の共有など幅広い用途で利用されています。

例えば、以下は実際にSpacesで公開されているアプリの1つとなります。

Omni Editor 2.0の画面
出典:Omni-Image-Editor

この他にも、数多くのアプリがSpacesに公開されており、アカウント不要で操作することができます。

また、SpacesはデフォルトでGPU環境も用意しています。
基本は無料で利用可能ですが、有料オプションへアップグレードすることにより、より高性能なGPUインスタンスを利用できます。

ローカル環境にGPUがなくても、高性能なAIモデルを動かせる点は大きな魅力の1つです

なぜ「Spaces」は多くのAI開発者に選ばれているのか

Spacesが広く利用されている大きな理由は、AIモデルの公開からデモ作成までを一つのプラットフォーム上で完結できることにあります。

通常、AIアプリを作成して公開しようとする場合、モデルを公開するサービス、ソースコードを管理するサービス、デモを公開するサーバーを別々に用意する必要があります。
一方、Hugging Faceの場合はこれらを一元管理することが可能です。

さらに、Hub上のモデルをそのままSpacesで利用できるため、モデルの更新も容易に実行できます。
リポジトリに変更を反映すると自動的に再デプロイされる仕組みのため、継続的な改善がしやすいのもポイントの1つです。

このような開発効率の高さから、個人開発者だけでなく、企業や研究機関でも広く採用されています。

Hugging Faceの基本的な使い方と手順

アカウント作成からライブラリのインストール手順

Hugging Face Hubでリポジトリの作成やモデルの公開などを行うには、アカウントを作成する必要があります。
利用するモデルによっては、アカウント登録することによって発行できるアクセストークンが必要になる場合もあるので、Hugging Faceの公式サイトから事前にアカウントを作成しておきましょう。

Hugging Faceアカウント作成
Hugging Faceのアカウント登録画面

PythonからHugging Faceのモデルを利用する場合は、Transformersライブラリを使用するのが一般的です。
TransformersはPyTorchと連携して動作するため、合わせてインストールする必要があります。

以下のコマンドで、TransformersとPyTorchをそれぞれインストールできます。

Bash
pip install transformers torch

その他、huggingface_hub datasets など、自身の開発環境に必要なライブラリがあれば、同じくインストールしておきましょう。

公開されているモデルをコードから呼び出す手順

Hubに公開されているモデルを呼び出して使う場合は、pipelineオブジェクトを使用します。
以下のように、タスクの種類(テキスト生成、要約、翻訳、感情分析など)とモデル名を指定してインスタンスを作成することで、対象のモデルを読み込むことができます

Python
from transformers import pipeline

generator = pipeline(
"text-generation",
model="gpt2"
)

result = generator(
"Hello",
max_new_tokens=50
)

print(result)

作成したファイルを実行すると、初回実行時に以下のように、必要なモデルやトークナイザーが自動的にダウンロードされます。
以降は同じ環境で再利用できるため、毎回ダウンロードする必要はありません

Hugging Faceのダウンロード画面
モデル・トークナイザーの自動ダウンロード画面

より高度な用途では、AutoTokenizerやAutoModelなどのクラスを利用して細かな推論設定を行ったり、datasetsライブラリで公開データセットを取得して追加学習(ファインチューニング)を行ったりすることも可能です。

また、自分で学習したモデルをHubへアップロードすれば、他のユーザーと共有したり、Spacesから直接利用したりできます。
これにより、モデル開発から公開、デモアプリの提供までを一連の流れとして管理できます

【実践】Hugging Faceを使って簡単なAIアプリを作ってみる

ここまで紹介した基本的な使い方を踏まえて、ここからは実際にHugging Faceの学習済みモデルを利用し、簡単なAIアプリを作成する手順を紹介します。

今回は、入力した文章が「ポジティブ」または「ネガティブ」のどちらに近いかをAIが判定する、シンプルな感情分析アプリを作成します。

Hugging Faceの「InferenceClient」を利用してAIモデルをAPI経由で呼び出し、Web画面にはPythonから簡単にUIを作成できる「Gradio」を使用します。
※2026/9/01時点で無料で利用できる範囲での実装手順です。掲載日から日数が経過している場合は、Hugging Faceのサービス概要をあわせてご確認ください。

Hugging Face感情分析アプリの完成イメージ
今回作成する感情分析アプリの完成イメージ

今回作成するアプリの仕組み

今回のアプリでは、ブラウザに入力した文章をHugging FaceのAIモデルへ送り、その判定結果を画面へ表示します。

処理の流れは以下の通りです。

ブラウザ

Gradio

Python

InferenceClient

Hugging Faceの推論サービス

学習済みAIモデル

感情分析結果を画面へ表示

Hugging FaceにはTransformersを利用してモデルをローカル環境へダウンロードし、実行する方法もあります。
しかし今回は、環境構築を簡略化するため、モデル自体をローカルPCへ用意するのではなくInferenceClientを利用し、API経由でモデルを実行します。
そのため、PyTorchや大容量のモデルファイルをローカル環境へ用意せずに、比較的簡単な構成でAIモデルを試すことができます

Hugging Faceのアカウントを作成する

まず、Hugging Faceの公式サイトからアカウントを作成します。
今回のアプリではHugging Faceの推論サービスへアクセスするため、アカウントからアクセストークンを発行して使用します。

アクセストークンを作成する

Hugging Faceへログインしたら、アカウント設定からアクセストークンを作成します。
Inference Providersを利用する場合は、https://huggingface.co/settings/tokensページの「Create new token」ボタンより必要な権限を設定し、「Create token」ボタンよりアクセストークンを発行します。

おそらくhf_xxxxxxxxxxxxxxxxxxの様なトークンが発行されます。
アクセストークンは、Hugging FaceへAPIリクエストを送る際の「認証情報」として使用します。
パスワードと同様に重要な情報であるため、GitHubなどの公開リポジトリへアップロードしないよう注意してください

プロジェクトを準備する

続いて、ローカル環境でアプリを作成する準備を行います。今回は以下のような構成でプロジェクトを作成します。

hf-sentiment-app/
├── .env
├── .gitignore
├── app.py
└── requirements.txt

それぞれのファイルには以下の役割があります。

ファイル 役割
.env Hugging Faceのアクセストークンを管理する
.gitignore Gitで管理しないファイルを指定する
app.py 感情分析アプリ本体の処理を記述する
requirements.txt アプリで使用するPythonライブラリを管理する

1. Pythonの仮想環境を作成する

プロジェクトのディレクトリへ移動し、Pythonの仮想環境を作成します。

python -m venv .venv

仮想環境を有効化します。

source .venv/bin/activate

仮想環境を使用することで、このアプリで使用するPythonライブラリを他のプロジェクトと分けて管理できます。

2. 必要なライブラリをインストールする

今回使用するライブラリをrequirements.txtへ記述します。

requirements.txt
・gradio
・huggingface_hub
・python-dotenv

それぞれの役割は以下の通りです。

  • ・gradio
    →Pythonから簡単にWeb画面を作成するためのライブラリ
  • ・huggingface_hub
    →PythonからHugging Face Hubや推論サービスを利用するためのライブラリ
  • ・python-dotenv
    →.envファイルに記載した環境変数をPythonから読み込むためのライブラリ

ターミナルを開き以下のコマンドでインストールします。

pip install -r requirements.txt

今回の実装では、Hugging Face上の推論環境をAPI経由で利用するため、ローカル推論で使用するtransformersやtorchはインストールしていません。

アクセストークンを.envへ設定する

1. アクセストークンを.envに設定する

プロジェクト直下に.envを作成し、先ほど発行したアクセストークンを設定します。

.env
HF_TOKEN=hf_xxxxxxxxxxxxxxxxx

hf_xxxxxxxxxxxxxxxxxの部分には、実際に発行したアクセストークンを設定します。
アクセストークンを以下のようにPythonコードへ直接記述することは避けましょう。

Python
# 非推奨
hf_token = "hf_xxxxxxxxxxxxxxxxx"

ソースコードをGitHubなどへ公開した際に、アクセストークンまで外部へ公開されてしまう可能性があるためです。

2. .envをGitの管理対象から除外する

アクセストークンを誤ってGitへコミットしないように、.gitignoreへ以下を記述します。

.gitignore
.env
.venv/

これにより、.envとPythonの仮想環境.venvがGitの管理対象から除外されます。

感情分析アプリを実装する

続いて、app.pyを作成します。今回は、入力された日本語の文章を以下の3種類に分類するAIモデルを利用します。

  • ポジティブ
  • 中立
  • ネガティブ

使用するモデルは、Hugging Face Hubで公開されている以下のモデルです。

lxyuan/distilbert-base-multilingual-cased-sentiments-student

このモデルは日本語を含む複数の言語に対応した感情分析モデルで、文章を以下の3つのラベルに分類します。

  • positive
  • neutral
  • negative

今回はこれらの英語ラベルを、日本語の「ポジティブ」「中立」「ネガティブ」に変換して画面へ表示します。
https://huggingface.co/lxyuan/distilbert-base-multilingual-cased-sentiments-student

app.pyには以下のように記述します。

app.py
import os

import gradio as gr
from dotenv import load_dotenv
from huggingface_hub import InferenceClient

# .envファイルに設定した環境変数を読み込む
load_dotenv()

# HF_TOKENという名前の環境変数から
# Hugging Faceのアクセストークンを取得する
hf_token = os.getenv("HF_TOKEN")

# アクセストークンを取得できなかった場合は
# Hugging FaceのAPIを利用できないため処理を停止する
if not hf_token:
    raise RuntimeError(
        "HF_TOKENが設定されていません。.envを確認してください。"
    )

# 今回利用する感情分析モデルのID
MODEL_ID = (
    "lxyuan/"
    "distilbert-base-multilingual-cased-sentiments-student"
)

# Hugging Faceの推論サービスへアクセスするための
# クライアントを作成する
client = InferenceClient(
    provider="hf-inference",
    api_key=hf_token,
)


def analyze_sentiment(text: str) -> str:
    """
    入力された日本語の文章をHugging Faceへ送り、
    ポジティブ・中立・ネガティブを判定する
    """

    # 空文字やスペースだけの場合は
    # Hugging Faceへリクエストを送信しない
    if not text.strip():
        return "文章を入力してください。"

    # Hugging Face上の感情分析モデルへ文章を送り、
    # テキスト分類を実行する
    results = client.text_classification(
        text,
        model=MODEL_ID,
    )

    # 返された判定結果の中から、
    # 最もスコアが高いものを取得する
    result = max(
        results,
        key=lambda item: item.score,
    )

    # AIモデルから返された英語ラベルを
    # 日本語表示へ変換する
    label_map = {
        "positive": "ポジティブ 😊",
        "neutral": "中立 😐",
        "negative": "ネガティブ 😢",
    }

    sentiment = label_map.get(
        result.label.lower(),
        result.label,
    )

    # 判定結果と信頼度を画面へ返す
    return (
        f"判定: {sentiment}\n"
        f"信頼度: {result.score:.1%}"
    )


# Gradioを利用してWeb画面を作成する
demo = gr.Interface(
    fn=analyze_sentiment,
    inputs=gr.Textbox(
        lines=3,
        label="文章",
        placeholder="例: この映画は本当に最高でした!",
    ),
    outputs=gr.Textbox(
        label="AIの判定結果",
    ),
    title="Hugging Face 感情分析アプリ",
    description=(
        "文章を入力すると、AIが"
        "ポジティブ・中立・ネガティブを判定します。"
    ),
    examples=[
        ["この映画は本当に最高でした!"],
        ["この商品にはとてもがっかりしました。"],
        ["今日は特に変わったことはありませんでした。"],
    ],
)

if __name__ == "__main__":
    demo.launch()

アプリを起動する

実装が完了したら、ターミナルで以下を実行します。

python app.py

正常に起動すると、以下のようなURLが表示されます。

Running on local URL: http://127.0.0.1:7860

ブラウザから http://127.0.0.1:7860 へアクセスすると、今回作成した感情分析アプリが表示されます。

感情分析アプリの実行結果画面
文章を入力した際の感情分析アプリの実行結果

Hugging Faceの料金プラン

Hugging Faceは基本機能の多くを無料で利用できますが、有料プランや一部機能における課金要素も備わっています。

プラン・サービス 料金 内容
■ サブスクリプション
Free (Hugging Face Hub) 無料 基本機能が利用可能
Pro Account $9/月 GPU利用枠増加・高速キュー
Proバッジ表示など
Team $20/ユーザー/月 チーム向けプラン
監査ログ・SSOサポートなど
Enterprise $50~/ユーザー/月 法人向けプラン
専任サポート・高度なセキュリティ
■ 従量課金サービス
Spaces Hardware $0~23.5/時間 GPU・CPU環境
Inference Endpoints $0.03~/時間 APIエンドポイント
Storage $8~12 永続ストレージ

詳しい料金体系については、Hugging Face公式サイトの料金ページを参考にしてください。

無料でできる範囲

Hugging Face の中心であるHubの基本機能は、全て無料で利用することができます
公開モデルやデータセットの閲覧・ダウンロード、公開リポジトリの作成、CPU環境でのSpaces利用の他に、Transformersなどのライブラリも使用可能です。

そのため、学習や個人開発、小規模なプロジェクトであれば無料プランでも十分活用できます

有料プランと追加の課金要素

有料プランでは、ストレージ容量やAPI利用枠の拡大、Spacesの利用機能、チーム・組織向けの管理機能などが提供されます。
また、プランによってはHugging Faceの各種コンピュートサービス(推論やGPU利用など)に充てられるクレジットも付与されます。

一方、Spacesで高性能なCPU・GPUを利用する場合や、Inference Endpointsでモデルを運用する場合は、利用するハードウェアや稼働時間に応じて別途料金が発生します。
そのため、大規模なモデルやAIアプリを継続的に運用する場合は、月額プランだけでなく、コンピュート環境の従量課金も含めて料金を確認することが重要です

Hugging Faceを採用するメリット・デメリット

Hugging Faceを導入するメリット

観点 メリット デメリット
モデルの入手性 200万以上のモデルが即利用可能 品質・ライセンスがモデルごとにバラバラ
実行環境 Spacesでデモをすぐ試せる 高性能モデルはGPUが必要でコストが発生
選定 活発なコミュニティで情報が豊富 モデル数が多く選定が難しい

Hugging Face最大のメリットは、膨大な数のAIモデルを即座に利用できることです

文章生成や翻訳、画像生成、音声認識など、多様な用途に対応したモデルが公開されており、ゼロから学習させる必要がありません。
知識がなく、AIアプリの開発が難しいという方でも、Spacesに公開されているデモアプリを通じて気軽に利用することができます

また、TransformersやDiffusersなどの公式ライブラリも充実しており、これらのライブラリを使用することによって、モデル利用や学習を少ないPythonコードで実現できます。
さらに、オープンソースコミュニティが活発で、最新の研究成果や新しいモデルが素早く公開されるため、最先端技術を取り入れやすい点も魅力です。

Hugging Faceを利用する際のデメリットと注意点

Hugging Face Hubには多くのモデルが公開されていますが、品質やライセンス、利用条件はモデルごとに異なります。
商用利用を想定している場合は、ライセンス条件や利用規約を必ず確認する必要があります。

また、高性能モデルはGPUを必要とする場合が多く、Spacesなどで有料のGPUを利用する場合は、稼働時間に応じて料金が発生する点にも注意が必要です。
さらに、多数のモデルが公開されているため、どのモデルを採用すべきかの判断がかえって難しくなってしまうケースもあります。
「Model Cards」に記載された用途や制限、評価結果、コミュニティでの評価などを参考にしながら選定することが重要です

まとめ

ここまで、Hugging Faceの概要やSpaces、基本的な使い方に加えて、実際に簡単なAIアプリを作成する手順、料金プラン、メリット・デメリットを紹介してきました。

今回の実践では、文章を感情分析できる学習済みモデルをHugging Face Hubから選び、Pythonアプリから利用しました。
InferenceClientを利用することで、大きなモデルをローカル環境へダウンロードすることなく、API経由でAIによる推論を実行できます

また、Gradioを組み合わせることで、Pythonを中心とした比較的少ないコードで、ブラウザから操作できる日本語の感情分析アプリを作成できました

今回のような小規模なアプリを実際に作成すると、

  • Hugging Face Hubからモデルを探す
  • モデルの用途や対応言語を確認する
  • アクセストークンを利用してAPIへアクセスする
  • PythonからAIモデルへデータを送る
  • AIモデルから返された結果をアプリで扱う
  • Gradioを利用してWeb画面へ表示する

といったHugging Faceを利用したAIアプリ開発の基本的な流れをまとめて確認できます。

Hugging Faceは公開されているモデルをブラウザから試すだけでなく、実際のアプリケーションへAI機能を組み込むための学習にも活用できます
Hubを中心に、学習済みモデルやデータセット、AIアプリを効率よく管理・公開できる仕組みが整っており、個人開発から企業利用まで幅広い場面で活用されているプラットフォームです。

     

Programmingカテゴリの最新記事