SlideShare a Scribd company logo
OpenAI FineTuning
を試してみる
発表者 K.H
FineTuningについて
FineTuningでは既存のモデルを学習させて新しいモデルを作成することができる。
既存のモデルを学習させる目的として主に以下の2つがある。
• 既存のモデルでは期待する結果が得られない
• 処理時間を短くしたい
現在ベースとして利用できる既存のモデルはdavinci、curie、babbage、adaもしく
はFineTuningで作成したモデルのみである。
FineTuningの流れ
FineTuningは以下の流れで実施することができる。
1. トレーニングデータの準備
2. CLIを利用してトレーニングデータの整形
3. FineTuningの実施
トレーニングデータの準備
トレーニングデータは以下のようなjson形式で用意する
トレーニングデータの量が多けければ多いほど質がよくなる。何をするかによって
用意するトレーニングデータの量は異なるが、最低でも数百の例を用意することを
推奨している。
{"prompt":"{promptの内容}","completion":"{期待する結果}"}
{"prompt":"{promptの内容}","completion":"{期待する結果}"}
{"prompt":"{promptの内容}","completion":"{期待する結果}"}
トレーニングデータの準備
例えば映画のレビューを元にその映画の評価(positive or negative)を判断するように
FineTuningする場合のトレーニングデータは以下のようになる
{"prompt":"This was an absolutely terrible movie. Don't be lured in by Christopher
Walken or Michael Ironside. Both are great actors, but this must simply be their worst
role in history. Even their great acting could not redeem this movie's ridiculous
storyline. This movie is an early nineties US propaganda piece. The most pathetic
scenes were those when the Columbian rebels were making their cases for
revolutions. Maria Conchita Alonso appeared phony, and her pseudo-love affair with
Walken was nothing but a pathetic emotional plug in a movie that was devoid of any
real meaning. I am disappointed that there are movies like this, ruining actor's like
Christopher Walken's good name. I could barely sit through
it.","completion":"Negative"}
映画の
レビュー
映画の評価
CLIを利用してトレーニングデータの整形
OpenAI CLIツールを利用してトレーニングデータを整形する。下記を実行するとい
くつか選択する必要があるが今回はすべて「Y」を選択した。
$ openai tools fine_tunes.prepare_data -f <JSONLファイル>
CLIを利用してトレーニングデータの整形
選択する必要があるのは以下の4箇所
Based on the analysis we will perform the following actions:
- [Recommended] Add a suffix separator ` ->` to all prompts [Y/n]: Y
- [Recommended] Add a whitespace character to the beginning of the completion [Y/n]: Y
- [Recommended] Would you like to split into training and validation set? [Y/n]: Y
Your data will be written to a new JSONL file. Proceed [Y/n]: Y
CLIを利用してトレーニングデータの整形
処理が終わると検証ファイルとトレーニングファイルが作成される。
トレーニングデータが元のデータの80%,検証データが元のデータの20%となるよう
にファイルが作成される。
今回はトレーニングファイルを利用してFineTuningを実施する。
FineTuningの実施
以下のコマンドでFineTuningを実施する。
$ openai api fine_tunes.create 
-t "traindata.jsonl" 
-m curie
FineTuningの実施
オプションの意味は以下の通り
-t
・トレーニングファイルを指定
・必須オプション
-m
・ベースとなるモデルを指定
・必須オプション
Upload progress: 100% 102k/102k [00:00<00:00, 40.5Mit
Uploaded file from traindata.jsonl: file-vPKxxxxxxxxxxxxxxxxxx
Upload progress: 100% 24.9k/24.9k [00:00<00:00, 9.94M
Streaming events until fine-tuning is complete...
(Ctrl-C will interrupt the stream, but not cancel the fine-tune)
[2023-02-07 08:19:12] Created fine-tune: ft-M3Ixxxxxxxxxxxxxxxxxxxxx
[2023-02-07 08:23:47] Fine-tune costs $0.27
[2023-02-07 08:23:47] Fine-tune enqueued. Queue number: 18
==== 続く ====
FineTuningの実施
FineTuningを実施するとターミナルに以下のような情報が表示される。
FineTuningのジョブID
FineTuningのコスト
FineTuningの実施
FineTuningを実施するとターミナルに以下のような情報が表示される。
==== 続き ====
[2023-02-07 08:56:15] Fine-tune is in the queue. Queue number: 0
[2023-02-07 08:57:06] Fine-tune started
[2023-02-07 08:58:07] Completed epoch 1/4
[2023-02-07 08:58:32] Completed epoch 2/4
[2023-02-07 08:58:55] Completed epoch 3/4
[2023-02-07 08:59:18] Completed epoch 4/4
[2023-02-07 08:59:38] Uploaded model: curie:ft-personal-yyyy-mm-dd-hh-mm-ss
[2023-02-07 08:59:39] Fine-tune succeeded
Job complete! Status: succeeded
Try out your fine-tuned model:
openai api completions.create -m curie:ft-personal-yyyy-mm-dd-hh-mm-ss -p <YOUR_PROMPT>
作成されたモデル
作成したモデルの利用方法
作成したモデルを利用してCompletionを実施する場合は以下のように作成したモデ
ルを指定する。
curl https://api.openai.com/v1/completions 
-H "Content-Type: application/json" 
-H "Authorization: Bearer YOUR_API_KEY" 
-d '{"model": “curie:ft-personal-yyyy-mm-dd-hh-mm-ss",
"prompt": “{映画の感想} -> “}
FineTuning実施前の実施後の精度
FIneTuning実施前と実施後の精度を計測してFineTuningの結果を確認する。
精度の計測にはpytnonのライブラリであるtensorflow_datasetのimdb_reviewを使用
する。imdb_reviewは以下のように映画の感想とその評価(postive or negative)のデ
ータが存在する。
感想 評価
This was an absolutely terrible movie. Don’t… Negative
I have been known to fall asleep during films, but… Negative
FineTuning実施前の実施後の精度
imdbの評価とテキスト補間の結果が一致した件数が多いほど精度が高く、不一致と
なった件数が少ないほど精度が低くなる。
50件のテストデータを使用してFineTuning実施前と実施後の精度を測定した結果以
下のようになった。
一致した件数 不一致だった件数
FineTuning
実施前
31件 19件
FineTuning
実施後
50件 0件
まとめ
今回はFineTuningの実施方法を紹介した。
またFineTuning実施前と実施後の精度を測定し、精度が大幅に向上していることも
確認できた。

More Related Content

PPTX
BuildKitによる高速でセキュアなイメージビルド
PPTX
世界一わかりやすいClean Architecture
PPTX
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
PPTX
DockerコンテナでGitを使う
PDF
コンテナにおけるパフォーマンス調査でハマった話
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
PDF
Kubernetesによる機械学習基盤への挑戦
PDF
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
BuildKitによる高速でセキュアなイメージビルド
世界一わかりやすいClean Architecture
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
DockerコンテナでGitを使う
コンテナにおけるパフォーマンス調査でハマった話
コンテナ未経験新人が学ぶコンテナ技術入門
Kubernetesによる機械学習基盤への挑戦
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2

What's hot (20)

PDF
テスト文字列に「うんこ」と入れるな
PDF
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
PPTX
async/await のしくみ
PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
PPTX
MLOps入門
PDF
Python におけるドメイン駆動設計(戦術面)の勘どころ
PDF
ドメイン駆動設計のためのオブジェクト指向入門
PDF
サーバ構築を自動化する 〜Ansible〜
PDF
人生がときめくAPIテスト自動化 with Karate
PDF
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
PDF
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PDF
Pythonによる黒魔術入門
PDF
開発速度が速い #とは(LayerX社内資料)
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
PDF
爆速クエリエンジン”Presto”を使いたくなる話
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PDF
推薦アルゴリズムの今までとこれから
PPTX
モデルアーキテクチャ観点からの高速化2019
PPTX
Spring Integration 超入門
PDF
ディープラーニングのフレームワークと特許戦争
テスト文字列に「うんこ」と入れるな
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
async/await のしくみ
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
MLOps入門
Python におけるドメイン駆動設計(戦術面)の勘どころ
ドメイン駆動設計のためのオブジェクト指向入門
サーバ構築を自動化する 〜Ansible〜
人生がときめくAPIテスト自動化 with Karate
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Pythonによる黒魔術入門
開発速度が速い #とは(LayerX社内資料)
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
爆速クエリエンジン”Presto”を使いたくなる話
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
推薦アルゴリズムの今までとこれから
モデルアーキテクチャ観点からの高速化2019
Spring Integration 超入門
ディープラーニングのフレームワークと特許戦争
Ad

Similar to OpenAI FineTuning を試してみる (14)

PDF
ハンズオン セッション 1: DIGITS によるディープラーニング入門
PDF
ハンズオン1: DIGITS によるディープラーニング入門
PDF
自習形式で学ぶ「DIGITS による画像分類入門」
PPTX
コキュートスSwest19
PDF
DIGITSによるディープラーニング画像分類
PPTX
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
PDF
W&B webinar finetuning_配布用.pdf
PDF
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
PDF
「深層学習」勉強会LT資料 "Chainer使ってみた"
PDF
Machine learning CI/CD with OSS
PPTX
コキュートスDsf
PDF
Chainerの使い方と自然言語処理への応用
PDF
[DL輪読会]Model soups: averaging weights of multiple fine-tuned models improves ...
PPTX
葉物野菜を見極めたい!by Keras
ハンズオン セッション 1: DIGITS によるディープラーニング入門
ハンズオン1: DIGITS によるディープラーニング入門
自習形式で学ぶ「DIGITS による画像分類入門」
コキュートスSwest19
DIGITSによるディープラーニング画像分類
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
W&B webinar finetuning_配布用.pdf
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
「深層学習」勉強会LT資料 "Chainer使ってみた"
Machine learning CI/CD with OSS
コキュートスDsf
Chainerの使い方と自然言語処理への応用
[DL輪読会]Model soups: averaging weights of multiple fine-tuned models improves ...
葉物野菜を見極めたい!by Keras
Ad

More from iPride Co., Ltd. (20)

PPTX
Devcontainerのススメ(1)-Devcontainerとはどういう技術?-
PPTX
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
PPTX
色について.pptx .
PPTX
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
PPTX
やってみた!OpenAI Function Calling 入門 .
PPTX
ECAモジュールの基礎調査.pptx 2025/05/30 の勉強会で発表されたものです。
PDF
Drupal10 Theme Starterkit入門.pdf .
PDF
サイクリングはいいぞ .
PDF
DDEVでらくらくDrupalローカル環境構築。2025/2/28の勉強会で発表されたものです。
PDF
DeepSeekの紹介( 2025/2/21の勉強会で発表されたものになります)
PPTX
Azure で RDB を作成してみた (2024/12/20 の勉強会で発表)
PPTX
vi / vim の基本コマンドについて(2024/12/20 の勉強会で発表)
PPTX
WebAuthnについてのざっくり説明[2024/10/25]の勉強会で発表されたものです。
PPTX
AWSの勉強、AWS S3編。2024/10/11の勉強会で発表されたものです。
PPTX
AWSの勉強リージョン編  2024/09/27の勉強会で発表されたものです。
PPTX
AWSサポートに学ぶ、エラーなどの報告をする際のコツ(2024/09/13 勉強会)
PPTX
最近のDrupalバージョンアップで起きた問題まとめ(2024/09/13 勉強会)
PPTX
AWSとIPv6 2時間目  2024/09/06の勉強会で発表されたものです。
PPTX
AWSとIPv6       2024/08/30の勉強会で発表されたものです。
PPTX
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。
Devcontainerのススメ(1)-Devcontainerとはどういう技術?-
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
色について.pptx .
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
やってみた!OpenAI Function Calling 入門 .
ECAモジュールの基礎調査.pptx 2025/05/30 の勉強会で発表されたものです。
Drupal10 Theme Starterkit入門.pdf .
サイクリングはいいぞ .
DDEVでらくらくDrupalローカル環境構築。2025/2/28の勉強会で発表されたものです。
DeepSeekの紹介( 2025/2/21の勉強会で発表されたものになります)
Azure で RDB を作成してみた (2024/12/20 の勉強会で発表)
vi / vim の基本コマンドについて(2024/12/20 の勉強会で発表)
WebAuthnについてのざっくり説明[2024/10/25]の勉強会で発表されたものです。
AWSの勉強、AWS S3編。2024/10/11の勉強会で発表されたものです。
AWSの勉強リージョン編  2024/09/27の勉強会で発表されたものです。
AWSサポートに学ぶ、エラーなどの報告をする際のコツ(2024/09/13 勉強会)
最近のDrupalバージョンアップで起きた問題まとめ(2024/09/13 勉強会)
AWSとIPv6 2時間目  2024/09/06の勉強会で発表されたものです。
AWSとIPv6       2024/08/30の勉強会で発表されたものです。
MySQLの文字コードと照合順序について 2024/07/05の勉強会で発表されたものです。

OpenAI FineTuning を試してみる