Re Reference AI

インフラ

Hugging Faceとは

学習済みモデル・データセット・ライブラリを公開・共有するオープンソースのAIコミュニティプラットフォーム

モデルハブエコシステム

ひとことで言うと

世界中の人が作ったAIモデルやデータを、みんなで公開・共有し合う場所とツール。

概要

Hugging Faceは、学習済みの機械学習モデルやデータセットを公開・検索・ダウンロードできるWebプラットフォーム(Hugging Face Hub)を運営する企業・コミュニティ。 それらを扱うためのオープンソースライブラリ群(Transformers、Datasets、Tokenizers、PEFTなど)も提供している。 Hugging Face Hubには研究機関や企業、個人開発者が公開した数十万規模のモデルとデータセットが集約されており、モデルカードによる用途・性能・ライセンスの明示や、Webブラウザ上でモデルを試せるSpacesといった機能を通じて、モデルの発見から利用までを一貫してサポートする。 Transformersライブラリは、BERTGPT系列、Llama系列など、多様なアーキテクチャの事前学習済みモデルを共通のAPIでロード・利用できるようにしており、研究・実務の両方でLLM活用の事実上の標準的な入り口になっている。 オープンウェイトモデルのエコシステムにおいて、モデルの公開・配布・再利用を支える中心的なインフラとしての役割を担っている。

背景

機械学習モデルの利用には、フレームワークごとに異なる実装やモデル配布方法への対応が必要で、研究成果を再利用する際の障壁になっていた。 Hugging Faceは、学習済みモデルとその利用方法を標準化されたAPIとフォーマットで公開・共有できる場を提供することで、この障壁を下げる目的で発展してきた。

歴史

2016年: Hugging Faceがチャットボットアプリの開発企業として設立。 2018年: Transformersライブラリの前身となるBERTモデル向けの実装を公開。 2019年以降: Transformersライブラリがオープンウェイトモデル活用の標準的なツールとして急速に普及し、Hugging Face HubがLLMエコシステムの中心的なモデル配布拠点に成長。

コード例

Transformersライブラリでのモデル利用例

from transformers import pipeline

generator = pipeline("text-generation", model="gpt2")
output = generator("こんにちは、今日は", max_new_tokens=30)
print(output[0]["generated_text"])

利点

  • 多様なアーキテクチャの事前学習済みモデルを、共通のAPIで簡単にロード・利用できる
  • モデルカードやライセンス情報が整備されており、モデルの用途適合性やコンプライアンスを確認しやすい
  • 研究者・企業・個人が成果を公開・共有する場として、オープンウェイトモデルのエコシステム全体を支えている

欠点

  • 公開されているモデルの品質やメンテナンス状況にばらつきがあり、利用前の見極めが必要になる
  • 非常に多くのモデル・データセットが存在するため、目的に合ったものを探し出す手間がかかりやすい
  • 商用利用の可否など、モデルごとのライセンス条件を個別に確認する必要がある

比較

  • LlamaLlamaなどオープンウェイトモデルLLMの多くは、Hugging Face Hub経由で配布・利用されることが一般的
  • OllamaHugging Faceがモデルの公開・共有に重点を置くのに対し、Ollamaはローカル環境でモデルを手軽に実行することに重点を置く
  • GGUFHugging Face Hubでは、llama.cpp向けのGGUF形式に変換されたモデルも数多く配布されている

関連用語

LlamaOllamaGGUFファインチューニング

よくある質問

Hugging Face Hubとは?

研究機関・企業・個人が学習済みモデルやデータセットを公開・検索・ダウンロードできるWebプラットフォーム。モデルカードによる説明やライセンス情報も併せて確認できる。

Transformersライブラリとは?

BERTGPTLlamaなど多様なアーキテクチャの事前学習済みモデルを、共通のPython APIでロード・推論・ファインチューニングできるようにするHugging Face製のオープンソースライブラリ。

参考文献

関連Zenn記事