Google Colab で RWKV のファインチューニングを試す
「Google Colab」で「RWKV」のファインチューニングを試したので、まとめました。
前回
1. RWKV
「RWKV」は、TransformerレベルのLLM性能を備えたRNNです。高性能、高速推論、VRAMの節約、高速学習、長い文脈長、自由な埋め込みを実現しています。
2. データセットの準備
今回は、練習用に「あかねと〜くデータセット」の「dataset.txt」を使います。
テキスト終端をスペシャルトークン<|endoftext|> で記述しています。
どのようなスペシャルトークンがあるかは、RWKVのトークナイザーの設定ファイル「20B_tokenizer.json」で確認できます。
3. Colabでの学習
Colabでの学習手順は、次のとおりです。
(1) 以下のの学習用のColabノートブックを開き、メニュー「ファイル→ドライブにコピーを保存」。
(2) 「Setup」の4セルを実行。
4セル目の「pytorch-lightning」は、1.7を指定します。指定しないと2.0がインストールされ動きませんでした。
!pip install transformers pytorch-lightning==1.7 deepspeed wandb ninja
(3) 「Load Base Model」で、モデルを選択してセルを実行。
今回は、練習のため一番小さい「RWKV-v4-Pile-169M」を選択します。Pileで事前学習してあるファインチューニング用のモデルになります。
「HuggingFace」で7Bと14Bのモデルも提供されています。
(4) 「dataset.txt」をGoogleドライブにアップロードし、「Training Data Options」でそのパスを指定してセルを実行。
(5) 「Training」の2セルを実行。
今回は、学習パラメータはデフォルトのままとしました。
1エポックにかかる時間は、無料版Colabは5分、プレミアムは1分ほどです。Googleドライブの「rwvk-v4-rnn-training」に「tunedX.pth」(Xは1、26、51、76、101)の名前で生成されます。n_epoch過ぎても止まらないので、十分学習できたら自分で停止します。
4. Colabでの推論
前回と同じです。モデルのパスとして生成した「tunedX」を指定します。
関連
次回
この記事が気に入ったらサポートをしてみませんか?