見出し画像

自作モデル/データセットをHuggingFaceにアップロードする手順の例

このやり方は, huggingface-cliであらかじめloginしておいてからコード内でpush_to_hubを実行することでHugging Faceリポジトリにアップロードする方法(便利). 他にもブラウザでアップロードする方法とかもあるにはありそう.

モデルのシェア

手順

Huggingface上でリポジトリを作っておく.
自分のページ >「New +」 > Model > model_nameを入力 > 作成

Huggingface CLIでloginしておく. Write権限を持ったTokenをあらかじめ発行しておく.

pip install huggingface_hub
huggingface-cli login

コードの内部に以下を記載し実行.

#たとえば
model = AutoModelForCausalLM.from_pretrained(...)
model = PeftModel.from_pretrained(model, ...)
model.push_to_hub("organization_name/model_name")

必要に応じてHuggingface上でmodel cardを変更し, ライセンス付与などをする.

jsonlで作成したデータセットをアップロード

jsonlデータセットの形式

形式は例です。

{"instruction":"....","input":"....","output":"...."}
{"instruction":"....","input":"....","output":"...."}
...

手順(モデルとほぼ同じ)

Huggingface上でリポジトリを作っておく.
自分のページ > 「New +」 > Dataset > dataset_nameを入力 > 作成

Huggingface CLIでloginしておく. Write権限を持ったTokenをあらかじめ発行しておく.

pip install huggingface_hub
huggingface-cli login

コードの内部に以下を記載し実行.

#たとえば
import dataset
DATA_PATH = "..."
dataset = datasets.load_dataset("json", data_files = DATA_PATH)
dataset.push_to_hub("organization_name/model_name")

必要に応じてHuggingface上でmodel cardを変更し, ライセンス付与などをする.

困ったら公式を見る

https://huggingface.co/learn/nlp-course/ja/chapter4/3?fw=tf
https://huggingface.co/docs/datasets/upload_dataset

補足

  • モデルカードは使い方や説明を丁寧に書くと良い.

    • ページの「Edit model card」をクリックするとブラウザ上で編集できる. 変更し終わったら一番下のボタンでcommitする.

  • モデルカードのヘッダー部分でいろいろ設定できる. 例えば…

    • inferenceをfalseにするとデモ表示を消せる

---
language:
- ja
license: llama2
library_name: peft
datasets: ...
inference: false
pipeline_tag: text-generation
base_model: ...
---


Hugging Faceにあげておくと, 自分用のモデルやデータだとしてもloadがしやすくて便利かも.



この記事が気に入ったらサポートをしてみませんか?