为微调 OpenAI 模型创建训练管道涉及三个主要阶段:准备数据集、配置微调过程以及验证结果。首先将数据格式化为 JSONL 文件,其中每行包含一个提示-完成对。例如,如果您正在构建一个客户支持机器人,您的数据可能包括用户查询和相应的回复。通过删除重复项、修复拼写错误并确保结构一致来清理数据。将数据集拆分为训练集和验证集(例如,80/20 分割)以评估模型性能。使用 OpenAI 的 CLI 工具通过 openai tools fine_tunes.prepare_data
验证数据格式,此命令会标记缺少分隔符或不正确的令牌计数等问题。
接下来,使用 OpenAI 的 API 或 CLI 启动微调。使用 openai api files.create
上传您的数据集,并使用 openai api fine_tunes.create
启动作业,指定基本模型(davinci
、curie
等)、批量大小和学习率等参数。例如,openai api fine_tunes.create -t <TRAIN_FILE_ID> -m davinci --n_epochs 4
训练四个 epoch。使用 CLI 或 OpenAI 仪表板监控进度,该仪表板跟踪训练损失等指标。如果作业失败(例如,由于速率限制),请使用 --fine_tune_id
标志恢复它。训练后,通过将 model_id
传递给 API 来测试模型以生成完成。
最后,评估模型在验证集上的性能。使用 OpenAI API 对保留的提示运行推理,并将完成情况与真实答案进行比较。对于分类任务,衡量准确性;对于生成任务,评估连贯性和相关性。通过调整超参数(例如,减少 n_epochs
以防止过度拟合)或添加更多训练数据来进行迭代。通过将其 ID 集成到您的应用程序中来部署模型,例如,在 Python 中调用 openai.Completion.create(model="ft-<MODEL_ID>")
。持续监控实际性能并使用新数据重新训练以保持准确性,因为需求会不断发展。