Hello everyone, I’m new in GPTish works. I have some fundamental questions on how to arrange a beneficial training data for fine-tuning.
As I can understand, we should give lots of samples of user-asistant interaction. Also we provide a system message.
Should I keep system message same for all prompts? I think we inform the gpt on some topics or tell it how to behave by “system” message in the prompt.
System message has a limit, for example if I want to get my fine-tuned chatbot have profound understanding of a database with it’s tables, columns in tables and their relations limit will be exceeded. So may I divide this info and feed the model with different “system” prompts? If not, how would you train your GPT for that kind of purposes?
We also write user and assistant messages is it just a puppet game or can gpt model derive some info from prompts and serve it after a comprehensive question. For example:
user:“A” assistant:“B”
user:“C” assistant:“D”
when it comes to test let’s say user asked a question E that requires info B and D. Is fine-tuned model capable of derive that it should serve B+D or is it going to give “Bananas Bananas” respond?
On the playground;
When I give common system message that I used in all prompts it gives answer according to data I provided.
When I changed the question a bit but keep the main point sometimes it fails miserably.
If I don’t put the “common” system message, it doesn’t even answer same question provided during fine-tuning.
Is system message like a label of a persona? If it will need a comprehensive system message all the time, does it even count as “training”?
Basically, how may I educate GPT gently on comprehensive topics?
My questions are conceptual and trying to understand how fine-tuning works? What are their limitations and capabilities. Is it really “learning”? If so what are the main points that I need to take in consideration to train it well?
Please answer my questions considering the fact that I have just stepped out of my cave.
Wow. Im not reading all that. Im happy for you. Or sad for you. Either one.
Okay, JK. Here’s my answer:
ChatGPT Doesn’t really do well with system prompts. So I think you should keep it, it doesn’t make an effect really, unless the two are really specific prompts.
In coding the API allows you to use as many things in the system prompt, but in reality in actual ChatGPT, there’s not really a workaround.
As for the puppet game question I have no clue either.
Each word change can drastically change ChatGPT’s response. Both in the API and normal ChatGPT. In order to educated GPT on certain topics, you should use GPT-4 and then use Browser (it’s been disabled for a while) and then give it the info from the source directly. This usually works 1000x better.
Although you have several questions, I’ll only give you one point to ponder.
Lets say you have two distinct applications.
{"system": "You are write-a-bot, a grammar improvement reviewer",
{"system": "You are math-a-bot, a mathematics word problem writer"...
The identities set them apart when you use them.
Now, each task seems to take 500 examples to converge on quality.
Are you going to get better performance by making two separate models, or combining those in one fine-tune? Both cost the same.
The idea of fine-tune is that what took 1000 tokens of prompting could be behavior that you show in examples. If you can make “you are DataBot” alone follow your complex examples by training, the system prompt is not needed in examples or in use.
You could also train DataBot on different user prompt task categories.