Buckets:

hf-doc-build/doc / transformers /main /ja /model_sharing.md
mishig's picture
|
download
raw
8.84 kB
# 共有
Hugging Face [Hub](https://hf.co/models) は、あらゆるタイプやサイズのモデルを共有・発見・利用するためのプラットフォームです。オープンソースの機械学習をすべての人にとって前進させるため、モデルを Hub に共有することを強くお勧めします。
このガイドでは、TransformersからモデルをHubに共有する方法を説明します。
## セットアップ
モデルを Hub に共有するには、Hugging Face の [アカウント](https://hf.co/join) が必要です。[User Access Token](https://hf.co/docs/hub/security-tokens#user-access-tokens) を作成し(デフォルトでは [cache](./installation#cache-directory) に保存されます)、コマンドラインまたはノートブックからアカウントにログインしてください。
```bash
hf auth login
```
```py
from huggingface_hub import notebook_login
notebook_login()
```
## リポジトリの機能
各モデルリポジトリには、バージョン管理、コミット履歴、および差分の可視化機能が備わっています。
バージョン管理は[Git](https://git-scm.com/)と[Git Large File Storage (LFS)](https://git-lfs.github.com/)に基づいており、リビジョン(コミットハッシュ、タグ、またはブランチによってモデルのバージョンを指定する方法)を可能にします。
例えば、[from_pretrained()](/docs/transformers/main/ja/main_classes/model#transformers.PreTrainedModel.from_pretrained) の `revision` パラメータを使用して、コミットハッシュから特定のモデルバージョンを読み込むことができます。
```py
model = AutoModel.from_pretrained(
"julien-c/EsperBERTo-small", revision="4c77982"
)
```
ブランチまたはタグから読み込む場合、その呼び出し内のすべてのファイルが1つのコミットに固定され、その後、そのコミットからすべてのファイルが取得されます。
そのピンは呼び出しの間のみ有効です。実行間の再現性を確保するには、固定とみなす明示的なコミットハッシュまたはタグを渡してください。`main` など、実行間で移動するブランチが固定され続けることを前提としないでください。
モデルリポジトリは、モデルへのアクセスを制御するための[ゲーティング](https://hf.co/docs/hub/models-gated)もサポートしています。ゲーティングは、研究モデルが公開される前に、特定のユーザーグループにプレビューを許可するために一般的に使用されます。
モデルリポジトリには、ユーザーが Hub 上でモデルに直接対話できる推論用の[ウィジェット](https://hf.co/docs/hub/models-widgets)も含まれています。
詳細については、Hubの[Models](https://hf.co/docs/hub/models)ドキュメントを参照してください。
## モデルのアップロード
ワークフローの好みによって、モデルを Hub にアップロードする方法はいくつかあります。[Trainer](/docs/transformers/main/ja/main_classes/trainer#transformers.Trainer) を使用してモデルをプッシュすることも、モデルに対して [push_to_hub()](/docs/transformers/main/ja/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub) を直接呼び出すことも、Hub の Web インターフェースを使用することもできます。
### Trainer
[Trainer](/docs/transformers/main/ja/main_classes/trainer#transformers.Trainer)は、学習後にモデルを直接Hubにプッシュできます。[TrainingArguments](/docs/transformers/main/ja/main_classes/trainer#transformers.TrainingArguments)で`push_to_hub=True`を設定し、[Trainer](/docs/transformers/main/ja/main_classes/trainer#transformers.Trainer)に渡します。学習が完了したら、[push_to_hub()](/docs/transformers/main/ja/main_classes/trainer#transformers.Trainer.push_to_hub)を呼び出してモデルをアップロードします。
[push_to_hub()](/docs/transformers/main/ja/main_classes/trainer#transformers.Trainer.push_to_hub) は、モデルカードに学習ハイパーパラメータや結果などの有用な情報を自動的に追加します。
```py
from transformers import TrainingArguments, Trainer
training_args = TrainingArguments(output_dir="my-awesome-model", push_to_hub=True)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=small_train_dataset,
eval_dataset=small_eval_dataset,
compute_metrics=compute_metrics,
)
trainer.push_to_hub()
```
モデルをプライベートリポジトリにアップロードするには、[TrainingArguments](/docs/transformers/main/ja/main_classes/trainer#transformers.TrainingArguments)で`hub_private_repo=True`を設定します。リポジトリがまだ作成されていない場合([TrainingArguments](/docs/transformers/main/ja/main_classes/trainer#transformers.TrainingArguments)で`push_to_hub=False`の場合など)、代わりに[push_to_hub()](/docs/transformers/main/ja/main_classes/trainer#transformers.Trainer.push_to_hub)に`private=True`を渡すこともできます。`private`引数はリポジトリが作成される際にのみ有効になるため、既存のリポジトリの公開設定は変更されません。
```py
trainer.push_to_hub(private=True)
```
### PushToHubMixin
[PushToHubMixin](/docs/transformers/main/ja/main_classes/model#transformers.utils.PushToHubMixin) は、モデルやトークナイザーを Hub にプッシュする機能を提供します。
Call [push_to_hub()](/docs/transformers/main/ja/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub) directly on a model to upload it to the Hub. It creates a repository under your namespace with the model name specified in [push_to_hub()](/docs/transformers/main/ja/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub).
```py
model.push_to_hub("my-awesome-model")
```
トークナイザーなどの他のオブジェクトも、同じ方法で Hub にプッシュされます。
```py
tokenizer.push_to_hub("my-awesome-model")
```
Hugging Faceのプロフィールに、新しく作成したモデルリポジトリが表示されるはずです。**Files**タブに移動して、アップロードされたすべてのファイルを確認してください。
ファイルを Hub にプッシュする詳細については、[ファイルを Hub にアップロードする](https://hf.co/docs/hub/how-to-upstream)ガイドを参照してください。
### HubのWebインターフェース
HubのWebインターフェースは、モデルをアップロードするためのノーコード方式です。
1. [**New Model**](https://huggingface.co/new) を選択して、新しいリポジトリを作成します。
モデルに関する情報を追加します:
- リポジトリの**owner**を選択します。これは、ご自身または所属している組織のいずれかです。
- モデルの名前を選択してください。これがリポジトリ名にもなります。
- モデルを公開にするか非公開にするかを選択します。
- ライセンスの使用法を設定します。
2. **モデルの作成**をクリックして、モデルのリポジトリを作成します。
3. **Files** タブを選択し、**Add file** ボタンをクリックして、ファイルをリポジトリにドラッグ&ドロップします。コミットメッセージを追加し、**Commit changes to main** をクリックしてファイルをコミットします。
## モデルカード
[モデルカード](https://hf.co/docs/hub/model-cards#model-cards)は、モデルの性能、制約事項、潜在的なバイアス、倫理的な考慮事項についてユーザーに情報を提供します。リポジトリにモデルカードを追加することを強く推奨します。
モデルカードは、リポジトリ内の`README.md`ファイルです。このファイルを追加するには、次の手順を実行します。
- `README.md` ファイルを手動で作成してアップロードする
- リポジトリの**モデルカードを編集**ボタンをクリックすること
モデルカードに何を記載すべきかの例として、Llama 3.1の[モデルカード](https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct)をご覧ください。
[Model Cards](https://hf.co/docs/hub/model-cards#model-cards)ガイドで、カーボン排出量、ライセンス、論文へのリンクなど、その他のモデルカードのメタデータについて詳しく学んでください。

Xet Storage Details

Size:
8.84 kB
·
Xet hash:
6e883e57b8bd1f6992f90da6a39a68866dab43ef8a61e387cc48f26d0c78926a

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.