CLOVER🍀

That was when it all began.

Hugging Faceってなんだ?

これは、なにをしたくて書いたもの?

llama.cppなどを使っているとモデルが必要になりますが、この時にHugging Faceというサイトからダウンロードすることになります。
最初は単にモデルが置かれているサイトとしか思っていなかったのですが、それは誤りのようなのでちゃんと1度ちゃんと見ておくことに
しました。

Hugging Face

Hugging FaceのWebサイトはこちら。

Hugging Face – The AI community building the future.

Hugging Face自身の説明を見ても…あまりよくわかりません…。

huggingface (Hugging Face)

Pricingのページを見ると、HF Hub、Spacesハードウェア、Inference Endpoints(推論エンドポイント)を提供している企業のようです。

Hugging Face – Pricing

  • HF Hub(Hugging Face Hub) … モデルやデータセットをアップロードして公開できる
  • Spacesハードウェア … Hugging Faceで管理するサーバーを使用して処理を実行できる
  • Inference Endpoints(推論エンドポイント) … HF Hubから直接MLモデルを専用かつオートスケーリングするインフラ環境にデプロイできるもの

モデルやデータセットは、HF Hubで以下のように公開されています。

Models - Hugging Face

Hugging Face – The AI community building the future.

llama.cppなどでモデルの例として指していたのは、このHF Hubのモデルとしてアップロードされたものを使っていたことになります。

AI、機械学習などの実行プラットフォームとしても使われることもわかりました。

トップページには、その週でよく使われているモデルやデータセット、Spaceが表示されています。

それから、Hugging FaceもAIや機械学習に関するライブラリーを開発しているようです。

  • Transformers
    • 最先端の事前学習済みモデルを簡単にダウンロードして学習するための API とツールを提供する
  • Tokenizers
    • パフォーマンスと汎用性を重視したトークナイザーの実装を提供し、トークン化が行える
  • Datasets
    • 音声、コンピュータービジョン、NLPタスクのデータセットに簡単にアクセス、共有できるライブラリー
  • Accelerate
    • PyTorchを分散構成で実行できるライブラリー
  • Diffusers
    • 画像、音声、さらには分子の3D構造を生成するために使われる、事前学習済み拡散モデルのためのライブラリー
  • PEFT
    • モデルのすべてのパラメーターをファインチューニングすることなく、大規模な事前学習済みモデルをさまざまなアプリケーションに効率的に適応させるためのライブラリー
  • Satetensors
    • pickleと比較してTensorを安全に保存するための形式
  • timm
    • コンピュータービジョンモデル、レイヤー、ユーティリティ、オプティマイザー、スケジューラー、データローダー、Augumentation、学習/評価スクリプトを含むライブラリー

全部は挙げられないので、あとはドキュメントページで一覧を…。

Hugging Face - Documentation

これらのソースコードリポジトリー自体はGitHubにあるようです。

参考

画像AIを調べると必ず出てくる謎のサイト「Hugging Face」ってナニモノ? 正体は急成長中の“ユニコーン”(1/3 ページ) - ITmedia NEWS

AIプラットフォーム「Hugging Face」の使い方を解説

おわりに

Hugging Faceがどういうものなのか、ちょっと気になったので調べてみました。

最初は冒頭に書いたとおりモデルが置かれているサイトかと思っていたのですが、こちらを読んでいるとライブラリーとして
Transformersが登場したりするので、それで別の側面に気づくことになりました。

大規模言語モデル入門:書籍案内|技術評論社

これからLLMの勉強をしていくにあたり、よく見ることになるので押さえておきましょう。