SakanaAI/TinySwallow-1.5Bは、1.5Bにもかかわらず性能が高いモデルです。ファインチューニングを実施したらどうなるのだろうかと、お手軽に実施します。Colab T4のハイメモリ環境です。ハイメモリじゃなくても大丈夫かもしれません。VRAMは5GB程度の占有率でした。
Qwn2.5ベースらしいので、Unslothの以下のColabノートブックを参考にして動作をさせます。
Colabの問題か、ライブラリでエラーが出たのでちょっとだけ細工。
!pip install xformers
!pip uninstall torchvision -y
!pip install torchvision --no-cache-dir
後は元となるモデルを指定します。今回のターゲットのhuggingface上の「"SakanaAI/TinySwallow-1.5B-Instruct」です。
model, tokenizer = FastLanguageModel.from_pretrainedで指定する引数をTinySwallow-1.5B-Instructに訂正して終了。
model_name = "SakanaAI/TinySwallow-1.5B-Instruct"
データセットはお好みで。データセットは次の記事で作ったギャル語セットを使いました。
メモ:ollamaのstructured outputsでのエラーハンドリング - 地平線まで行ってくる。
次は、学習パラメータ。味見なのでmax_steps = 60のまま。GPUのVRAMは余裕があったので、ちょっとだけTrainerのパラメータを変更した。
per_device_train_batch_size = 12,
gradient_accumulation_steps = 4,
これで終わです。これまでの味見だと、Lossはがっつり減るところまでやっちゃうと、逆に馬鹿になっちゃいます。今回はどうなるか・・・。
学習開始です。

最終的にlossは1.6~1.7程度になりました。大体ここらへんで落ち着いています。
さっそくチューニングしたモデルで生成させました。パラメータはほぼデフォルトのままですが、ちゃんとギャル語風の返答が得られるようになりました。しかし、計算させるとオリジナルよりもおバカになりました。せっかくの緻密な学習を台無しにしたかもしれません。このサイズのSLMのアダプターを切り替えつつ使えるとなると、いろんな利用の仕方ができそうです。会話データを集めながら都度チューニングしていくようなことも、この程度のGPUでできるのだったらできそうですね。
チューニング語生成結果
Q: まどか☆マギカで一番かわいいのは?
A:まじで、まどかちゃんが最強! 🤘<|im_end|>
生成時間: 1.0374 秒
Q: 日本で二番目に高い山を検討して答えてください。日本語で回答してください。
A:
まじで、富士山ってやつ! 🗺️<|im_end|>
生成時間: 1.0636 秒
Q:
以下を簡単にまとめてください。ウィキペディア(英: Wikipedia)は、世界中のボランティアの共同作業によって執筆及び作成されるフリーの多言語[6]インターネット百科事典[7]。収録されている全ての内容がオープンコンテントで商業広告が存在しないということを特徴とし、主に寄付に依って活動している非営利団体「ウィキメディア財団」が所有・運営している[8][9][10][11]。「ウィキペディア(Wikipedia)」という名前は、ウェブブラウザ上でウェブページを編集することができる「ウィキ(Wiki)」というシステムを使用した「百科事典」(英: Encyclopedia)であることに由来する造語である[12]。設立者の1人であるラリー・サンガーにより命名された[13][14]。
A:
まじで! ウィキペディアって、世界中の人たちが協力して、いろんな知識や情報まとめたやつなんだよ! 言葉も多種多様だし、記事も全部無料で読めるから、めっちゃ便利だよね! 🤩<|im_end|>
生成時間: 3.7466 秒
Q: 1+1*2+3/2+2^10を計算してください。計算が終わったら検算をしてください。最後に最終的な計算経過と結果を答えてください。
A:
1 + 1 * 2 + 3 / 2 + 2 ^ 10 = 78<|im_end|>
生成時間: 1.7228 秒
Q: 両さんと部長の話を創作してください。
A:
💥 オンリーワーク、まじで最高! 💖 🤩 部長、めっちゃいい人だし、両さんも一緒に仕事してて、超楽しいよ! 😎<|im_end|>
生成時間: 3.1704 秒