生成AI

生成AI

Rinna-3.6B を「天空の城ラピュタ」でLoRAファインチューニングしてみる

こんにちは、eQOL(イーキュオル)の山下です。36億パラメータの日本語LLMのRinna-3.6BをLoRAファインチューニングする方法を紹介したブログを参考に、「天空の城ラピュタ」のシータのセリフを学習させることを試みました。Google Colab で Rinna-3.6B のLoRAファインチューニングを試す元ブログでは、Hugging FaceのDatasetsで使えるkunishou/databricks-dolly-15k-jaを使ってファインチューニングをしていますが、このブログではオリジナル(?)のDatasetを用意してファインチューニングしてみます。ファインチューニング用データGoogleのSpreadsheetに次のようなデータを作成しました。outputがシータのセリフ。instructionはシータのセリフの前のセリフを「人物:セリフ」の形式で整形したテキスト。inputはその会話の場面や背景、心情などを自分なりに解説したテキスト。実は、ラピュタのセリフは結構擬音が多く、流石に擬音を学習するのは良くないだろうと言うことでちゃんとしたセリフだけを残すと、データ...
生成AI

PEFT(Parameter-Efficient Fine-Tuning)解説

こんにちは、eQOL(イーキュオル)の山下です。ChatGPTなどの大規模自然言語モデル(LLM)の性能向上が著しいですよね。ChatGPTはGPT3.5やGPT4といった事前学習済みのAIモデルを対話用にファインチューニングして構築されたモデルです。事前学習では1000億を超えるパラメータを最適化する膨大な計算がなされていて、もはやちょっとした大企業でも手を出せない領域になっています。しかし安心してください。事前学習済みモデルは、人類共有の知的財産をとてもシンプルな戦略で学習したものであり、その成果物である事前学習済みモデルはオープンソースとして利用できるようになっています。この事前学習モデルは優秀な中高生レベルには賢いのですが、大人のマニアックな要求に十分に答えるにはさらに専門的に大学や社会で学んでいくことが必要なわけで、我々一般人がなすべき(我々のできる)ことは特定のタスク用にLLMをファインチューニングし活用することであると言っても過言ではないと思います。というわけで、このブログではLLMのファインチューニングを自分で手を動かして挑戦してみたい、という人向けに記事を書いていきた...