🐡

GPT-3.5のfine-tuningの時に発生するopenai.error.InvalidRequestErrorの対処法

2023/09/17に公開

はじめに

GPT-3.5をfine-tuningした際に、突如としてopenai.error.InvalidRequestErrorが発生しました。このエラーは、fine-tuningの過程で遭遇するもので、多くの開発者が困っている問題の1つです。解決方法についての情報が少なく、インターネットでの検索でも解答が見つからなかったため、今回はこのエラーについて解説し、解決策を提供します。

エラーの原因

このエラーが発生する主な原因は、アップロードしたファイルの処理中に問題があることです。特に、jsonlファイルの構文エラーがよく見受けられます。

たとえば、悪い例として以下のようなjsonlファイルがあります。

{"prompt": "What is your name?", "completion": "My name is GPT-3.5"}
{"prompt": What is your age?", "completion": "I don't have an age."}
この例でいうと、2行目のpromptの値がクオートで囲まれていないため、構文エラーとなります。

エラーの特定方法

openai.error.InvalidRequestErrorに遭遇した際のエラーの特定方法は以下のPythonコードで確認可能です。

import openai

# APIキーをセット(これはプレースホルダーです)
openai.api_key = "Your-API-Key"

# アップロードされたファイルの一覧を取得
file_list = openai.File.list()

# ファイル一覧を出力
print(file_list)

このコードを使用することで、アップロードされたファイルの一覧が確認できます。特に、statusがerrorの場合は、そのファイルに問題がある可能性が高いです。

{
  "object": "file",
  "id": "file_id",
  "purpose": "fine-tune",
  "filename": "your_file.jsonl",
  "bytes": 12345,
  "created_at": 1635987110,
  "status": "error",
  "status_details": "Invalid file format. Example 55, message 2 is missing key role."
}

ここで、status_detailsをよく確認して、そのエラーメッセージを解消することが必要です。

おわりに

今回は、GPT-3.5のfine-tuning時によく遭遇するopenai.error.InvalidRequestErrorの解決策を詳細に説明しました。この記事が役立ったと感じたら、フォローといいねで応援をお願いします。

Discussion