微调是一种技术,通过使用您提供的额外数据对OpenAI的预训练模型进行训练,以提高它们在特定任务上的表现。这个过程使模型的能力适应您的用例,从而提高性能、降低成本并提供更一致的响应。有关嵌入模型或改进模型输出的其他方法,请参阅嵌入和向量搜索以及检索增强生成 (RAG)。
微调是在预训练模型现有知识的基础上,通过在特定于您用例的数据集上进一步训练它们来实现的。这使模型能够适应您的领域、风格和特定任务要求。
来源:examples/fine-tuned_qa/olympics-3-train-qa.ipynb14-23 examples/fine-tuned_qa/olympics-1-collect-data.ipynb14-23
微调在以下情况下最为有利:
对于需要超出模型训练截止日期的新信息,或只有少量示例数据的使用场景,微调不太适用。
成功微调的基础是高质量数据,这些数据能代表您期望的任务。数据必须根据您使用的模型类型进行格式化。
用于旧模型(如 davinci-002),包含提示和补全对
{"prompt": "Input text here", "completion": " Expected output here"}
用于现代聊天模型(如 GPT-3.5-turbo 和 GPT-4o mini),包含消息数组
{
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Input text here"},
{"role": "assistant", "content": "Expected output here"}
]
}
来源:examples/How_to_finetune_chat_models.ipynb206-224 examples/How_to_finetune_chat_models.ipynb257-274
将训练数据准备为 JSONL 格式后,使用 Files API 将其上传到 OpenAI
来源:examples/fine-tuned_qa/olympics-2-create-qa.ipynb320-327 examples/fine-tuned_qa/olympics-3-train-qa.ipynb346-350
数据上传后,通过选择以下选项创建微调作业:
来源:examples/Fine-tuned_classification.ipynb317-323 examples/fine-tuned_qa/olympics-3-train-qa.ipynb384-402
微调作业可能需要几分钟到几小时不等,具体取决于模型和数据集大小。您可以使用以下方式监控进度:
来源:examples/Fine-tuned_classification.ipynb348-350 examples/fine-tuned_qa/olympics-3-train-qa.ipynb384-402
训练完成后,可以使用其ID访问微调模型
来源:examples/Fine-tuned_classification.ipynb566-567 examples/fine-tuned_qa/olympics-3-train-qa.ipynb478-482
微调可应用于各种任务,并根据用例采用不同的架构。
来源:examples/Fine-tuned_classification.ipynb8-9 examples/fine-tuned_qa/olympics-3-train-qa.ipynb14-18
分类涉及训练模型将文本归入预定义类别。这对于情感分析、主题分类和意图检测非常有用。
来源:examples/Fine-tuned_classification.ipynb121-130 examples/Fine-tuned_classification.ipynb192-199
微调可以创建基于所提供上下文回答问题的模型,从而提高事实准确性并减少幻觉。
来源:examples/fine-tuned_qa/olympics-3-train-qa.ipynb442-446 examples/fine-tuned_qa/answers_with_ft.py46-69 examples/fine-tuned_qa/olympics-3-train-qa.ipynb565-579
微调可以创建专门从文本中提取结构化数据(如名称、日期、产品和特定实体)的模型。
来源:examples/fine-tuned_qa/olympics-1-collect-data.ipynb14-23
模型可以进行微调,以采用与您的用例相关的特定语调、个性特征或领域知识。
来源:examples/fine-tuned_qa/olympics-3-train-qa.ipynb14-18 examples/book_translation/translate_latex_book.ipynb7-12
\n\n###\n\n)来源:examples/Fine-tuned_classification.ipynb244-252 examples/fine-tuned_qa/olympics-1-collect-data.ipynb54-65 examples/fine-tuned_qa/olympics-3-train-qa.ipynb346-350
来源:examples/Fine-tuned_classification.ipynb317-323 examples/fine-tuned_qa/olympics-3-train-qa.ipynb384-402
将示例直接包含在提示中并结合微调,以结合两种方法的优点。
来源:examples/book_translation/translate_latex_book.ipynb135-143
微调模型可以与检索系统结合,以提高事实准确性。
来源:examples/fine-tuned_qa/answers_with_ft.py46-69 examples/fine-tuned_qa/olympics-3-train-qa.ipynb596-618
训练独立的模型来判断给定上下文中是否可以回答问题,从而减少幻觉。
来源:examples/fine-tuned_qa/olympics-3-train-qa.ipynb266-321 examples/fine-tuned_qa/olympics-3-train-qa.ipynb430-446 examples/fine-tuned_qa/olympics-3-train-qa.ipynb565-579
微调涉及以下成本:
成本因以下因素而异:
微调提供了一种强大的方式,可以根据您的特定需求调整预训练模型,从而提高在特定领域任务上的性能。通过遵循数据准备、模型选择和训练的最佳实践,您可以创建在目标用例中表现优于基础模型的专业模型。