HuggingFace Hub スペース : 概要

HuggingFace Hub スペース : 概要 (翻訳/解説)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 01/03/2023

* 本ページは、HuggingFace Hub Spaces の以下のドキュメントを翻訳した上で適宜、補足説明したものです:

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス

クラスキャット は人工知能・テレワークに関する各種サービスを提供しています。お気軽にご相談ください :

◆ 人工知能とビジネスをテーマに WEB セミナーを定期的に開催しています。スケジュール
  • お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。

お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。

  • 株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション
  • sales-info@classcat.com  ;  Web: www.classcat.com  ;   ClassCatJP

 

 

HuggingFace Hub スペース

Hugging Face Spaces は貴方の profile か organization の profile でデモアプリケーションを直接ホストする単純な方法を提供します。これは、貴方の ML ポートフォリオを作成し、コンファレンスであるいは出資者 (stakeholders) にプロジェクトを紹介し、そして ML エコシステムの他の人々と共同作業することを可能にします。

私たちは Python でクールなアプリケーションを数分で構築させる 2 つの素晴らしい SDK をサポートします : StreamlitGradio です。よりカスタムなデモのためには、JavaScript と HTML を使用して静的な Spaces を作成したり、Docker のパワー全体を解き放ち任意の Dockerfile をホストすることができます。

貴方の Space を GPU 上や他のアクセラレートされたハードウェア 上で実行するためにアップグレードすることもできます。⚡️

 

HuggingFace スペース : 概要

Hugging Face Spaces は ML で強化されたデモを数分で作成して配備することを簡単にします。Spaces の素早い紹介は次の動画を見てください :

以下のセクションでは、Space の作成、設定そしてコードの配備の基本を学習します。

 

新しい Space の作成

新しい Space を作成するためにはSpaces main ページ にアクセスして Create new Space をクリックします。貴方の Space のために名前を選択し、オプションのライセンスを選択して、Space の可視性を設定するとともに、Space のための SDK を選択するように促されます。Hub は 4 つの SDK オプションを提供しています : Gradio, Streamlit, Docker そして static HTML です。SDK として “Gradio” を選択する場合、以下のページを表示して新しいレポジトリにナビゲートされます :

内部的には、Spaces は貴方のコードを、ちょうどモデルとデータセットレポジトリのように、git レポジトリ內にストアします。このため、Hub 上の他の総てのレポジトリ のために使用しているのと同じツール (git と git-lfs) が Spaces でもまた機能します。Space にファイルを追加するためには Getting Started with Repositories 內と同じフローに従ってください。新しいコミットがプッシュされるたびに、Space は自動的にリビルドして再起動します。

貴方の最初の Space を作成するステップ毎チュートリアルについては、以下のガイドをご覧ください :

 

ハードウェア・リソース

各 Spaces 環境はデフォルトでは 16GB RAM と 2 CPU コアに制限されています、これは無料で利用できます。低価格 (a competitive price) で様々な GPU アクセラレータを含む、より良いハードウェアにアップグレードすることができます。アップグレードをリクエストするには、貴方の Space の Settings ボタンをクリックしてご希望のハードウェア環境を選択してください。

サイドプロジェクトとして何かクールなものを構築している場合には、コミュニティ GPU grant (助成金) をリクエストすることもできます。貴方の Space の Setting タブのリンクを使用して私たちにメモを残してください!

Spaces GPU アップグレード で更に読んでください。

 

シークレットの管理

貴方のアプリケーションがシークレットキーやトークンを必要とする場合、アプリケーション內でそれらをハードコードしないでください!代わりに、貴方の Space レポジトリの Settinigs ページに行って、そこでシークレットを入力してください。シークレットは Streamlit を使用している場合には、Streamlit Secrets Management で、他のケースでは環境変数としてアプリケーションに公開されます。Docker Spaces については、secret management with Docker を確認してください。

 

ネットワーキング

貴方の Space がネットワーク要求を行なう必要がある場合、ポート 8080 とともに、標準 HTTP と HTTPS ポート (80 と 443) を通してリクエストすることができます。他のポートに行く任意のリクエストはブロックされます。

 

ヘルパー環境変数

ある場合には、Space author やレポジトリ名にプログラミングでアクセスすることに関心があるかもしれません。この機能は、ユーザに貴方の Space を複製することを想定するとき特に有用です。これを支援するため、Spaces は実行時に様々な環境変数を公開します。Space osanseviero/i-like-flan が与えられたとします :

  • SPACE_AUTHOR_NAME: osanseviero
  • SPACE_REPO_NAME: i-like-flan
  • SPACE_TITLE: I Like Flan (README ファイル內で指定)
  • SPACE_ID: osanseviero/i-like-flan

 

以上