GPT-3.5がファインチューニング対応可能に
2023年8月23日、OpenAIはGPTのファインチューニングへの対応を発表
まだgpt-3.5に限ってですがAPIで独自にカスタマイズしたモデルが利用できるようになりました!
(gpt-4も今後対応予定とのこと)
色んな方の解説がとても参考になります
(こちらの方の記事がとても分かりやすいです)
https://qiita.com/shinichi1729/items/da1d1635cf393291c069
私も色々試行錯誤試しており、いつかまとめて記事にしたいですが
今回は単にファインチューニングしたモデルがわからなくなったときのために
モデルの一覧を表示する方法紹介したいと思います!
モデル一覧取得
モデル一覧の取得にはopenai.Model.list()を利用します。
※openaiはインストール済の設定(Version: 0.28.0)
import openai
openai.api_key = 'ここはopenaiキー'
response = openai.Model.list()
print(response)
{
"object": "list",
"data": [
{
"id": "davinci",
"object": "model",
"created": 1649359874,
"owned_by": "openai",
"permission": [
{
"id": "modelperm-uJaD4C9nXA6tPNoBII9hcYF4",
"object": "model_permission",
"created": 1692634268,
"allow_create_engine": false,
"allow_sampling": true,
"allow_logprobs": true,
"allow_search_indices": false,
"allow_view": true,
"allow_fine_tuning": false,
"organization": "*",
"group": null,
"is_blocking": false
}
],
"root": "davinci",
"parent": null
},
… 以下モデルの数だけ続きます
ファインチューニングモデルのみ抽出
これですと通常のモデル("owned_by"が"openai"など)も表示されますので
ファインチューニングであるもの("owned_by"の頭が"user-")で絞り
またいつ作成したかがわかる"created"をUNIX時間(エポック秒)から変換します。
import datetime
response = openai.Model.list()
# "owned_by"の最初が"user-"で始まるものだけ抽出
user_models = [i for i in response.data if i.owned_by.startswith("user-")]
for model in user_models:
# UNIX時間からdatetimeに変換
dt = datetime.datetime.fromtimestamp(model.created)
# 日本時間に直す
dt_jp = dt + datetime.timedelta(hours=9)
print(model.id,dt_jp)
# モデルID # 作成した日付
ft:gpt-3.5-turbo-0613:personal::7rfjMVD4 2023-08-26 14:02:32
ft:gpt-3.5-turbo-0613:personal::7rhfOxQt 2023-08-26 16:06:34
ft:gpt-3.5-turbo-0613:personal::7tc15W83 2023-08-31 22:28:51
こんな感じです。もし
「最後に学習したデータがわかると思ってた…」
など期待をしていた方はすいません。
(わかりましたら是非教えてください。)
ファインチューニングモデル管理のご参考までに!