Size Category サイズカテゴリー - akjava/Matcha-TTS-Japanese GitHub Wiki
Size Category(EN)
My categorize to define difficulty of training
- Tiny - very difficult (only adaption training work)
- small - hard (need some phonome-audio from other dataset or tts)
- medium - easy
- large - hard (take time)
- Huge - difficult(too take time)
サイズカテゴリーとは(おおまかに私が分類するために決めました)
なぜ、サイズカテゴリーが必要か。
- ファイルサイズによってトレーニング方法が変わる(tinyは特殊な方法じゃないと無理)・Smallもモーラが足りない
- ファイルサイズによって時間が変わる。(Hugeとか大変)
クラス分け(datasetの分類)
推奨Checkpointサイズ
lightningの設定で configs/callbacks/model_checkpoint.yamlの中のevery_n_epochsで決めます。(デフォルトは100)
それと、save_top_kの設定を見直しましょう。これより増えた時に、古いcheckpointが消えます。
ただ、この安全装置を外すとディスク容量が溢れます。(tinyとかsmallを放置してたら10000エポックを超えて、25GB超えて悲劇がおきます。)
逆に、ファイル数多いと、checkpointが作成されません。
- tiny -500
- small -250
- medium -100
- large -50
- huge -25 - 10
checkpoint数の求め方 - 1時間に何個作るか
1 epochに、かかる時間を表示で見てみる。60分を、それでわれば、1時間あたりで進むエポック数が予想できます。(ただし、学習が途中から早くなることもある)
ファイル数が多い場合(1万から2万ほどの場合) - 1epochに2-3分かかります。この場合は、保存を per 10(fine-tune) か per 25(from-scratch)ぐらいに設定しています。
TODO トレーニング方法
トレーニング時間
A4000とかの高速な訓練環境を前提
- Tiny - 5ファイル以下 - 準備含めて1時間もあれば(ただしAdaptionのみ可能)
- Small - 5から50 ファイル - 数時間ほどで出来る。(fine-tuneならギリギリ単独でも出来る)
- Medium - 50から500ファイル - 6時間もあれば十分 (質は低いけどscratchからも出来る。 - イントネーションを完全再現可能)
- Large - 500から5000ファイル - 1日で出来るかも
- Huge - 5000ファイル以上 - 訓練完了まで数日 (CLトレーニングとかしないとイントネーションでこけるかも)