I have a dataset containing long conversation transcripts, each with about 100-200 conversational turns. I’m planning to use this for fine-tuning a chat model (GPT-3.5-turbo).
Unfortunately, I couldn’t find examples of multi-turn conversations in the documentation. Since the documentation does not clearly state the preferred method, and both approaches seem feasible, I’d like your opinion on the most appropriate approach.
Here are the approaches I’m considering:
Approach 1: Add each conversational turn as a separate example. This method ensures that the training examples closely resemble the requests I’ll be sending to OpenAI, as each conversation starts with the first message and expands over time.
Training Example 1: First response from the chatbot
System message: [...]
Assistant: Hi
User: Hello
Assistant: How can I help you?
Training Example 2: Second response from the chatbot to the same conversation
System message: [...]
Assistant: Hi
User: Hello
Assistant: How can I help you?
User: I need help with my homework
Training Example 3: Third response from the chatbot to the same conversation
System message: [...]
Assistant: Hi
User: Hello
Assistant: How can I help you?
User: I need help with my homework
Assistant: Sure. What seems to be the problem?
Approach 2: Include the entire conversation as a single training example. I assume this approach might not be ideal because, in production, the conversation starts with the first user message. By submitting the entire conversation at once, examples where the conversation is just beginning are not provided.
System message: [...]
Assistant: Hi
User: Hello
Assistant: How can I help you?
User: I need help with my homework
Assistant: Sure. What seems to be the problem?
What are your thoughts? Which approach would be best for fine-tuning the chat model?