FTUP
1.0.0
このスクリプトは、OpenAIモデル、特にGPT-3.5およびBabbageでの微調整のためにデータを準備するプロセスを自動化するのに役立ちます。また、データを検証し、データを必要なJSONL形式に変換し、Finetuningプロセスのコストを推定するためのユーティリティを提供します。
pyfiglet 、 openai 、 tiktoken 、 dotenv 、 argparse 、 json 、 re 、 os 、 sys 、 time 、 clint必要なライブラリをインストールするには:
pip install pyfiglet openai tiktoken python-dotenv argparse clintまたは
pip install requirements.txt python ftup.py [-k <API_KEY>] -m <MODEL_NAME> -f <INPUT_FILE> [-s <SUFFIX>] [-e <EPOCHS>]
議論:
-k, --key :オプション。 APIキー。オプションの引数ですが、デフォルトでは、環境にAPIキーを持つことが必要です。 openai_api_key-m, --model :必須。使用するモデル。オプション: gpt-3.5-turbo-0613またはbab babbage-002のgpt 。-f, --file :必須。入力データファイル(JSONL形式)。-s, --suffix :オプション。 Finetunedモデルのサフィックスを追加します。たとえば、「My-Suffix-Title-V-1」。-e, --epoch :オプション。トレーニング用のエポックの数。デフォルトは3です。 APIキーをフォーマットで.envファイルに保存します。
OPENAI_API_KEY=your_api_key_here
スクリプトは-k / --keyではないにしてもこのキーをデフォルトでロードします。引数として渡されます。
check_key(key) :Openai APIキーのフォーマットを検証します。check_model(model) :モデル名を検証します。check_jsonl_file(file) :提供されたファイルに有効なjsonl名があり、存在するかどうかを確認します。create_update_jsonl_file(model, file) :JSONLが正しい形式を持っているかどうかを確認し、ファイルをOpenaIにアップロードします。update_ft_job(file_id_name, model, suffix, epoch) :openaiで微調整ジョブを作成または更新します。check_jsonl_gpt35(file) :GPT-3.5トレーニングの形式を検証します。check_jsonl_babbage(file) :Babbage-002トレーニングの形式を検証します。cost_gpt(file, epochs) :Finetuningプロセスのコストを推定します。 $ python ftup.py --key your_api_key_here --file train_gpt3_5.jsonl --model gpt --epoch 1 --suffix custom-model-name
or
$ python ftup.py -f train_gpt3_5.jsonl -m gpt -e 1 -s custom-model-name
____________ __ ______
/ ____/_ __/ / / / / __
/ /_ / / ______ / / / / /_/ /
/ __/ / / /_____/ / /_/ / ____/
/_/ /_/ ____/_/
Checking API key ...
- API Key
Checking model ...
- Model gpt
Checking if jsonl is valid ...
- JSON File train_gpt3_5.jsonl
Checking if jsonl format is valid for GPT-3.5 training ...
- Num examples: 225
- JSONL train_gpt3_5.jsonl correct format
Uploading jsonl train file ...
- File ID: file-abcd123
Dataset has ~15153 tokens that will be charged for during training
You'll train for 1 epochs on this dataset
By default, you'll be charged for ~15153 tokens
Total cost: $0.1212 ?
Creating a finetuning job ...
- Fintetuning job id: ftjob-abc123
Status: succeeded
Finetuning succeeded! ☑️
Finetune model: ft:gpt-3.5-turbo:openai:custom-model-name:7p4lURe