litagin's picture
init
2916d61

Paperspace gradient で学習する

詳しいコマンドの叩き方はこちらを参照してください。

事前準備

  • Paperspace のアカウントを作成し必要なら課金する
  • Projectを作る
  • NotebookはStart from Scratchを選択して空いてるGPUマシンを選ぶ

使い方

以下では次のような方針でやっています。

  • /storage/は永続ストレージなので、事前学習モデルとかを含めてリポジトリをクローンするとよい。
  • /notebooks/はノートブックごとに変わるストレージなので(同一ノートブック違うランタイムだと共有されるらしい)、データセットやその結果を保存する。ただ容量が多い場合はあふれる可能性があるので/tmp/に保存するとよいかもしれない。
  • hugging faceアカウントを作り、(プライベートな)リポジトリを作って、学習元データを置いたり、学習結果を随時アップロードする。

1. 環境を作る

以下はデフォルトのStart from Scratchで作成した環境の場合。Dockerfile.trainを使ったカスタムイメージをするとPythonの環境構築の手間がちょっと省けるので、それを使いたい人はAdvanced Options / Container / Namelitagin/mygradient:latestを指定すると使えます(pipの箇所が不要になる等)。

まずは永続ストレージにgit clone

mkdir -p /storage/sbv2
cd /storage/sbv2
git clone https://github.com/litagin02/Style-Bert-VITS2.git

環境構築(デフォルトはPyTorch 1.x系、Python 3.9の模様)

cd /storage/sbv2/Style-Bert-VITS2
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118 && pip install -r requirements.txt

事前学習済みモデル等のダウンロード、またパスを/notebooks/以下のものに設定

python initialize.py --skip_jvnv --dataset_root /notebooks/Data --assets_root /notebooks/model_assets

2. データセットの準備

以下ではusername/voicesというデータセットリポジトリにあるFoo.zipというデータセットを使うことを想定しています。

cd /notebooks
huggingface-cli login  # 事前にトークンが必要
huggingface-cli download username/voices Foo.zip --repo-type dataset --local-dir .
  • zipファイル中身が既にrawesd.listがあるデータ(スライス・書き起こし済み)の場合
mkdir -p Data/Foo
unzip Foo.zip -d Data/Foo
rm Foo.zip
cd /storage/sbv2/Style-Bert-VITS2
  • zipファイルが音声ファイルのみの場合
mkdir inputs
unzip Foo.zip -d inputs
cd /storage/sbv2/Style-Bert-VITS2
python slice.py --model_name Foo -i /notebooks/inputs
python transcribe.py --model_name Foo

それが終わったら、以下のコマンドで一括前処理を行う(パラメータは各自お好み、バッチサイズ5か6でVRAM 16GBギリくらい)。

python preprocess_all.py --model_name Foo -b 5 -e 300 --use_jp_extra

3. 学習

Hugging faceのusername/sbv2-privateというモデルリポジトリに学習済みモデルをアップロードすることを想定しています。事前にhuggingface-cli loginでログインしておくこと。

python train_ms_jp_extra.py --repo_id username/sbv2-private

(JP-Extraでない場合はtrain_ms.pyを使う)

4. 学習再開

Notebooksの時間制限が切れてから別Notebooksで同じモデルを学習を再開する場合(環境構築は必要)。

huggingface-cli login
cd /notebooks
huggingface-cli download username/sbv2-private --include "Data/Foo/*" --local-dir .
cd /storage/sbv2/Style-Bert-VITS2
python train_ms_jp_extra.py --repo_id username/sbv2-private --skip_default_style

前回の設定が残っているので特に前処理等は不要。