大規模言語モデル(LLM)の公開やAI関連のライブラリを提供する場所として近年「Hugging Face(ハギングフェイス)」というプラットフォームをよく目にするようになりました。
先日、株式会社サイバーエージェントが公開した独自の日本語LLMのデモ画面も、Hugging Faceにて公開されています。
Hugging Faceより
今後利用する機会の増加が予想されるので、今回はHugging Faceの特徴や料金プラン、簡単な使い方について解説します。
Hugging Faceとは
Hugging FaceはAI技術のために提供されているオープンソースプラットフォームです。
「transformers」がベースとなっており、AIモデルやデータを共有したり利用したりできるのが特徴。ブラウザ上で手軽に機械学習モデルを実験できる環境が整っており、AI開発者や研究者に人気を集めています。
Transformersとは
自然言語処理(NLP)やその他の機械学習タスクにおいて使用されるディープラーニングモデルのひとつ。
Hugging Faceを使うことで、自然言語処理のさまざまなタスクにおいて強力なトランスフォーマーモデルを簡単に利用できます。多様なタスクに対応できるだけでなく、コミュニティからのサポートや最新の研究成果を活用することも可能です。
トランスフォーマーモデルとは
自然言語処理(NLP)やその他の機械学習タスクで広く使用されるディープラーニングモデルのひとつ。
また、GitHubのように機械学習モデルの異なるバージョンを管理する機能も搭載。AIモデルの開発と共有を効率的に行うための主要な場所となっています。
Hugging Faceで何ができるのか
Hugging Faceが提供する主な内容は下記の通りです。
- 機械学習モデルやデータセットを提供する「Hugging Face Hub」の利用
- オープンソースライブラリの提供
各内容の詳細とユーザーができることについて解説します。
Hugging Face Hubの利用
Hugging Face HubとはHugging Faceの主要なプラットフォームであり、最先端のモデルやデータセットを利用できるのが特徴です。
たとえばカスタマーサポート用のチャットボットを構築する場合、Hub上で最適な質問応答モデルを見つけてそのモデルを自分のシステムに統合できます。
開発者はモデルの作成にかかる時間とコストを大幅に削減し、迅速に高品質なチャットボットを導入することが可能です。
また、コミュニティで共有されているデータセットを利用することで、トレーニングデータの収集や前処理の手間も省くことができます。
オープンソースライブラリの提供
Hugging Faceでは誰でも自由に利用・変更・配布できるオープンソースライブラリを提供しています。主なライブラリは下記の通りです。
Transformers |
最先端のNLPモデル(BERTやGPT-3など)を扱うためのライブラリ。PyTorch、TensorFlow、JAXをサポートし、テキスト分類や質問応答、テキスト生成など多岐にわたるタスクに対応しています。 |
---|---|
Datasets |
多様な形式のデータセット(テキスト、音声、画像)を簡単にアクセスし、共有するためのライブラリ。データの前処理や解析を効率的に実施できます。 |
Gradio |
機械学習モデルのデモやインタラクティブなアプリケーションを簡単に作成できるライブラリ。数行のコードでWebインターフェースを構築でき、モデルの入力や出力を可視化できます。 |
上記のようなライブラリを使うことで、効率的に機械学習モデルを構築・デプロイしたり、複雑なデータ解析タスクを実行したりできます。
また、Hugging Faceを通してモデルの性能や、利用方法を直感的に伝えられるのも魅力です。
Hugging FaceとGit Hubの違い
Hugging FaceとGit Hubの違いについて表にまとめました。
特徴 | GitHub | Hugging Face |
---|---|---|
主な焦点 | コード管理と共同開発 | 機械学習とNLPモデル管理 |
主なユーザー | ソフトウェアエンジニア、開発チーム | データサイエンティスト、研究者、学生 |
主な機能 | バージョン管理、コードレビュー、課題追跡、CI/CD | モデルのホスティング、トレーニング、デプロイメント、データセット管理 |
利用ケース | オープンソースおよびプライベートプロジェクトの管理、コードレビュー、バグ追跡 | 機械学習モデルの共有、トレーニング、デプロイメント |
コミュニティとエコシステム | 広範なオープンソースプロジェクト、開発に焦点を当てたコミュニティ | 機械学習とNLPのコミュニティ、トランスフォーマーモデルに焦点を当てたコミュニティ |
GitHubとHugging Faceには主な焦点と利用者の違いがあります。GitHubはコード管理と共同開発を中心に、ソフトウェアエンジニアや開発チーム向けにバージョン管理やコードレビューなどの機能を提供します。
Hugging Faceは機械学習とNLPモデルの管理を重視し、データサイエンティストや研究者向けにモデルホスティングやトレーニング機能を提供しているというのが主な違いです。
一方、どちらのプラットフォームも開発者コミュニティをサポートし、コラボレーションを促進するという共通点もあります。
コード管理やプロジェクト管理にはGitHubを、機械学習モデルの管理やNLP研究にはHugging Faceなど、用途に沿って使いい分けるのがおすすめです。
Hugging Faceの料金プラン
Hugging Faceの料金プランは無料プラン・月額プラン・利用料の3種類あるのが特徴。プランごとに料金形態が異なります。[1]
各料金プランの詳細を表にまとめました。
プラン | 料金 | 機能 |
---|---|---|
Hugging Face Hub | 無料 | ・無制限でモデルやデータセット、Spacesをホスト可能 ・無制限で組織とプライベートリポジトリを作成可能 ・最新の機械学習ツールとオープンソースにアクセス可能 ・コミュニティによるサポート |
PROプラン | $9/月 | ・ZeroGPUとDev Mode for Spaces(開発者向け機能)を使用可能 ・サーバーレス推論(モデルの実行)で高いリクエスト上限 ・新機能への早期アクセス ・プロユーザーのバッジ表示 |
Enterprise Hubプラン | $20/ユーザー/月から | ・SSO(シングルサインオン)とSAML(認証連携)サポート ・データ保存場所の選択(ストレージリージョン) ・詳細な操作ログの管理(監査ログ) ・リソースグループによる詳細なアクセス制御 ・プライベートデータセットの表示機能 ・高度な計算オプション ・自社のインフラでモデルをデプロイ ・年間契約による請求の管理 ・優先サポート |
Spaces Hardwareプラン | $0/時間から | ・無料でCPUを利用可能 ・高度なSpaces(アプリケーション)を構築可能 ・7種類の最適化されたハードウェアを利用可能(CPU、GPU、アクセラレータ) |
Inference Endpointsプラン | $0.032/時間から | ・モデルを完全管理型インフラでデプロイ ・数秒で専用エンドポイントをデプロイ ・低コストで運用可能 ・自動スケーリング機能 ・エンタープライズセキュリティ |
中でもHugging Face HubとSpaces Hardwareプランは無料で利用可能。コストをかけずにHugging Faceの使い勝手を確認できます。
Hugging Faceの使い方
筆者もHugging Faceを使い始めて日が浅いため、今回はモデルやデータセットを選んで利用する簡単な方法を解説します。
はじめにHugging Faceの公式ページへアクセスして下さい。
Hugging Face:https://huggingface.co/
Hugging Faceより
トップページの右上にある「Sign In」をクリックしてアカウント登録します。
Hugging Faceより
アカウント登録後は上記画面が表示されるので、右上にある一覧から「Model」をクリックしてください。
Hugging Faceより
Hugging Faceに公開されているモデル一覧が表示されます。今回はテストとしてMetaが提供しているLLM「llama-3-8b」をクリックします。
Hugging Faceより
llama-3-8bの詳細情報が表示されます。画面右上にある「Use This Model」をクリックし、利用するライブラリをクリックして下さい。
Hugging Faceより
上記のようにtransformersライブラリで利用できるコードが表示されます。上記の内容をGoogle ColabなどのPython開発環境へコピーし、詳細内容を設定することで活用できます。
References
- ^ Hugging Face. "Pricing". https://huggingface.co/pricing, (参照 2024-07-11).