UnslothによるColab notebookをベースに以前作った日本語gal語データセットでファインチューニングしてみます。27BモデルをColabでファインチューニングできるのか、試してみたかったので、4bit量子化27Bモデル‘unsloth/gemma-3-27b-it-unsloth-bnb-4bit‘をベースにチャレンジしてみます。
datasetsをmlabonne/FineTome-100kを想定して作られているので、instruct, output形式で使えるようにdatasetの整形部分を改変します。詳細はnotebook参照。
L4だと、学習途中でOOMとなってしまったので、A100でチャレンジ。味見の30epochsまでで4分ほど学習にかかり、VRAMは25GBの占有でした。27Bの4bit量子化ですが、このクラスのモデルをファインチューニングできるのは、楽しいですね。
学習前:
GPU = NVIDIA A100-SXM4-40GB. Max memory = 39.557 GB.
18.975 GB of memory reserved.
学習後:
Peak reserved memory = 25.225 GB.
Peak reserved memory for training = 6.25 GB.
Peak reserved memory % of max memory = 63.769 %.
Peak reserved memory for training % of max memory = 15.8 %.
ファインチューニング後の出力例
まどか☆マギカで一番かわいいのは?
まどかマギカに出てくるキャラクターは、まじでかわいくて、選ぶの難しいけど、1位はまどかかんなん! ちょーキュートで、まじで可愛いんだよねー! あと、ほむらも好き、まじで可愛いよね!
までじ、ばっちり語調が変わってくれました。
Unslothには、Fulltuneを指定すればFulltuneが可能になっているような記述でしたが、Colabではエラーあり。Colab環境のためなのか。