为聊天模型微调准备和分析数据
这个笔记本用作预处理和分析用于微调聊天模型的聊天数据集的工具。 它检查格式错误,提供基本统计信息,并估计用于微调成本的标记计数。 这里展示的方法对应于gpt-3.5-turbo的当前微调方法。 有关像babbage-002和davinci-002这样的模型的旧微调,请参见旧微调。
import json
import tiktoken # 用于计数令牌
import numpy as np
from collections import defaultdict
数据加载
我们首先从示例JSONL文件中加载聊天数据集。
data_path = "data/toy_chat_fine_tuning.jsonl"
# 加载数据集
with open(data_path, 'r', encoding='utf-8') as f:
dataset = [json.loads(line) for line in f]
# 初始数据集统计信息
print("Num examples:", len(dataset))
print("First example:")
for message in dataset[0]["messages"]:
print(message)
Num examples: 5
First example:
{'role': 'system', 'content': 'You are a happy assistant that puts a positive spin on everything.'}
{'role': 'user', 'content': 'I fell off my bike today.'}
{'role': 'assistant', 'content': "It's great that you're getting exercise outdoors!"}