事前準備
1. Modal セットアップ
pip install modal
modal token new
2. Hugging Face シークレット(必須)
modal_app.py は Modal 上の secret 名 hf_token(キー: HF_TOKEN)を参照する。
既に作成済みであれば追加作業は不要。新規の場合:
modal secret create hf_token HF_TOKEN=hf_xxxxxxxxxxxxx
トークンは https://huggingface.co/settings/tokens で発行。Anima は public モデルなので
レート制限回避のために推奨。secret 名を変えたい場合は modal_app.py の
from_name("hf_token", ...) を書き換える。
HF Hub への upload (LoRA 配布など)
hf_token は read 専用のことが多い。配布 / repo 作成には別途 write 権限のトークンを
HF_TOKEN_WRITE secret で持たせる:
modal secret create HF_TOKEN_WRITE HF_TOKEN_WRITE=hf_xxxxxx_write_xxxxx
modal_app.py の upload_lora_to_hf がこの secret を参照する。
3. データセットの用意
Modal に上げる前に手元で:
my_images/
├── 0001.png
├── 0001.txt # 画像と同名 .txt にタグ/キャプション
├── 0002.png
├── 0002.txt
└── ...
タグは Danbooru 風 (", " 区切り) を推奨。WD-EVA02-Tagger v3 などで
自動付与してから手で軽くクリーンするのが現実的。この時点では
品質タグ・年タグ・メタタグを書いていても OK(後で
clean_captions.py が全部抜く)。
推奨枚数: 3,000〜8,000 枚で十分。 このプロジェクトの Phase 1 は「品質タグ依存性を消すだけ」がゴールであり、 審美の方向性は変えない (= base モデルが本来出していた品質を tag なしで再現)。 そのため:
- 自分の "好み" でキュレーションする必要はない
- Danbooru
score≥150など 品質フィルタだけ かけてランダムサンプル - artist タグも残す (
drop_artist_prob=0デフォルト) - 多様性 > 美的偏向(モデルの汎用性を保つため)