OpenAIの公式サイト上でGPTモデルのFine-tuningを行う方法
はじめに
OpenAIの公式サイト上でFine-tuningが行えるようになりました。以前までは、Pythonの動く環境でしかFine-tuningができず苦労しました。ですが、今回OpenAIの公式サイト上でFine-tuningができるようになったので、はじめてFine-tuningする人にも分かりやすいように、Fine-tuningの仕方を紹介します。
注意
Fine-tuningにはお金がかかります。下記のURLにFine-tuningにかかる予算が書いてあります。少ないデータセットでは、数百円程度でFine-tuningしますが、事前に注意してから実施してください。
Fine-tuningを行う手順
Fine-tuningを行う手順は、図1のように行います。
手順としては、
- 事前学習済みモデルの選定
- データセットの用意
- データセットを元にFine-tuning
以上の順序で実施します。
各手順について細かく紹介します。
図1 Fine-tuningの流れ
事前学習済みモデルの選定
Fine-tuningには事前学習済みのGPT Modelが必要です。対話モデルであるgpt-3.5-turbo-0613がFine-tuningに対応したので、基本的にgpt-3.5-turbo-0613を使用する形になります。また、gpt-3.5-turbo-0613をFine-tuningしたモデルも事前学習済みモデルとして利用可能な点も注目です。
データセットの用意
次にjsonl形式のファイルをデータセットとして利用します。データセットは最低10件から受け付けますが、通常50件から100件のデータセットで明らかな変化が見られます。50件からFine-tuningを行なって様子を見てデータセットを増やすのが良いです。
こういったテクニックに関しては、OpenAIの公式ドキュメントが充実しています。
データセットが用意できたらFine-tuningを行い。成功するとFine-TunedされたModelが作成されます。
Fine-tuningのやり方
まず、GPTモデルのFine-tuningが行う為に下記のOpenAIの公式ページに移動します。
ページにアクセスすると図2のような画面に移動すると思います。
図2 Fine-tuningページの様子
先ほどのFine-tuningを行う手順でも紹介した通り、Fine-tuningするにはデータセットが必要になります。データセットは画面右上のFileを押すことで、Fileのアップロード画面に移行します。次にUploadを押すことで、図3のような画面が表示されるので、データセットとして使用したいjsonlファイルをアップロードします。
図3 データセットのアップロードの様子
今回は試しに以下のjsonlファイルをアップロードしてみます。
このデータはGPTに犬語で会話させるデータセットです。
{"messages":[{"role":"system","content":"犬の会話モードです。"},{"role":"user","content":"お散歩行くよ!"},{"role":"assistant","content":"わんわん!"}]}
{"messages":[{"role":"system","content":"犬の会話モードです。"},{"role":"user","content":"どうしたの?泣いてるみたいだね。"},{"role":"assistant","content":"きゅんきゅん..."}]}
{"messages":[{"role":"system","content":"犬の会話モードです。"},{"role":"user","content":"ご飯の時間だよ!"},{"role":"assistant","content":"わん!わん!"}]}
{"messages":[{"role":"system","content":"犬の会話モードです。"},{"role":"user","content":"他の犬が来るよ!大丈夫?"},{"role":"assistant","content":"うー、うー..."}]}
{"messages":[{"role":"system","content":"犬の会話モードです。"},{"role":"user","content":"薬を飲まないといけないんだよ。"},{"role":"assistant","content":"あうあう..."}]}
{"messages":[{"role":"system","content":"犬の会話モードです。"},{"role":"user","content":"どうしたの?一人で遊んでるの?"},{"role":"assistant","content":"わん、わん..."}]}
{"messages":[{"role":"system","content":"犬の会話モードです。"},{"role":"user","content":"おやつをあげるからお座り!"},{"role":"assistant","content":"わん!"}]}
{"messages":[{"role":"system","content":"犬の会話モードです。"},{"role":"user","content":"今から出かけるからね、待ってて。"},{"role":"assistant","content":"きゅん..."}]}
{"messages":[{"role":"system","content":"犬の会話モードです。"},{"role":"user","content":"よし、一緒にテレビを見よう!"},{"role":"assistant","content":"わんわん!"}]}
{"messages":[{"role":"system","content":"犬の会話モードです。"},{"role":"user","content":"こっち来て、抱っこするよ!"},{"role":"assistant","content":"わん!"}]}
{"messages":[{"role":"system","content":"犬の会話モードです。"},{"role":"user","content":"おはよう!"},{"role":"assistant","content":"わんわん!"}]}
データセットをアップロードすると図3のように追加されます。
図3 データセットのアップロードの様子
正しくデータセットがアップロードされると図4のようになります。
ここで作成されたFile-IDはFine-tuningのタイミングで利用するので、メモ帳などにコピーしましょう。
図4 データセットのアップロード成功
正常にデータセットがアップロードされたら1番最初に表示されていたFine-tuningの画面に移動します。画面上部のFine-tuningタブをクリックして移動します。
図5 Fine-tuning画面への移動
移動が完了したら画面右上のUploadを押して、Fine-tuningします。Uploadを押すと図6のポップアップが表示されると思います。Fine-tuningしたいモデルを作成して、先ほどメモしたファイルIDを設定します。Validation dataを設定することも可能ですが、今回はFine-tuningのやり方に絞るためここでは省略します。設定が完了したらCreateボタンを押してFine-tuningします。
図6 Fine-tuningポップアップ
Fine-tuningが開始されるとFine-tuningの経過を確認できます。Fine-tuningの完了までには数分時間が必要です。
無事Fine-tuningに成功すると図7のような画面が表示されます。
以上で無事Web上でGPTモデルのFine-tuningを行うことに成功します。
図7 Fine-tuning成功画面
おわりに
はじめてFine-tuningを行う人にも簡単にFine-tuningできるようになりました。今までpythonコードを組んでFine-tuningした人にとっても直感的で簡単にFine-tuningできるようになりました。以上でよりよいFine-tuningライフをお過ごしください。
良い記事だと思った人はいいね👍やフォローで応援をお願いします🙇
Discussion