Another vote to enable this. Admittedly my use case is turning towards personal assistant usage – needs more research on how stateful finetuning could help for maintaining a context.
@luke Are fine-tuned models compatible with Answers, or would it be necessary to break down the Answers process into its actual steps (search > completion) and apply it that way?
Are there specific guidelines on the datamodels. E.g ethical or what not? I was thinking aside from utilising this very useful feature for generating homework questions maybe I can have it a better social aspect by training on existing conversations between friends.
Not right now, although you may be able to achieve a similar result by combining /search results with /completions.
Are there any limits on per record size for the dataset file? Can the whole dataset exist in a single record?
You know, I have mixed feelings about this fine tuning process. On the one hand I’m excited there are now tools to lower costs and increase the robustness and production value of GPT-3. But on the other hand I’m a bit disappointed that it requires such a brute force effort of amassing hundreds or thousands of high quality examples to achieve these gains, when the original spirit and promise of GPT-3 was few-shot learning and prompt design.
I would have hoped for a more clever way of getting GPT-3 to fine tune itself using natural language or at least assist in the process, or using some kind of reinforcement learning on a particular prompt to help it achieve better results. Maybe this is just a stop-gap until better things come down the pike like GPT-4 or 5.
What I like most about prompt design is that it feels like you are teaching another human a task with instructions and a few examples.
However, the difficulty with prompt design is not knowing what GPT-3 is paying attention to or what sources are influencing its output. I wish I could just teach it with natural language to pay attention to the instructions or input context I’m providing, or be precise with how it formats the output based on examples, or use only these trusted sources to provide answers and filter with these constraints before you generate your output.
I really just want to teach an AI not train it.
So, now I’m thinking…I wonder if by using the currently provided fine tuning methods, could I train a base model to become more teachable in the ways I described above?
On a per line basis, the limit is the same 2048 token limit. As for total file size, we’re limiting to 80-100mb. If you require more, please reach out to finetuning@openai.com and we’ll work through a solution.
I haven’t read all the docs yet, but I am very excited to try it.
For your information, we’ve been working on something for a few months, and we found the best way to get great results was to include training data with each request. Still in development so now we can switch to incorporating fine tuning.
Thank you for the innovation!
I had similar thoughts about it and still have, but I do see an opportunity to try your approach as an experiment, and as a matter of fact, I am working on something similar to teach GPT-3, a foreign language.
For that, I had the thought to both include “language classes” plus natural language texts.
It will be interesting to see what happens if you take your training sessions and inject them as completions. In that way, it might not need so much training as you might think.
If you try that, please share your experience with it.
Thanks for your suggestions. I’m always interested in good ideas. Could you provide an example how I might take training sessions and inject them as completions? Not sure I completely understand what you mean by “inject”.
When I read through the docs, a light bulb went off when I saw that prompts could be left blank while only providing examples for completions to more generally finesse the output. So wondering if I could generally improve GPT-3’s ability to pick up certain cues from provided instructions.
So basically, I want to train GPT-3 to follow instructions better.
What does this mean - “During the beta there is a limit of 10 fine-tuning runs per month”
@JasonW, I meant that you could use the playground to set up your desired prompt + completion to make sure it works fine, then add it to the fine-tuning file.
I can’t promise that it will work, but for me, it worked.
Generally speaking, you suppose to use fine-tuning to train GPT-3 to follow instructions better by providing many examples of prompts+completions.
My suggestion was to try to add more sophisticated prompts and completions that include the instructions within them so the model might also pick up the instructions and use more than just statistic completion.
Tokens are what we really care about! If you have a requirement beyond that limit, feel free to reach out.
Hi Luke. I’ve applied for access to the Davinci fine-tuning service. I’ve tried curie and it simply doesn’t work for my use case. Is there a time frame in which I could expect a response? Is there a large queue?
Can a fine-tuned model, belonging to one org be used by making calls with API keys from another org?
Never mind. This seems to be already tackled in a different post - Possible to share finetuned model with another user?
I keep getting
“You requested a model that is not compatible with this engine at the moment. (Feel free to email support@openai.com if you need assistance.)”
trying to run a finetuned curie model, I’m assuming the error message is incorrect and that the model simply just isn’t ready? How long does it usually take for the model to be ready?
After your job first completes, it may take several minutes for your model to become ready to handle requests. If completion requests to your model time out, it is likely because your model is still being loaded. If this happens, try again in a few minutes.
@luke, Does your application need to be approved for this to work? I’m getting API key errors? I’ve stared out the response below.
C:\Users\KevinM\AppData\Local\Programs\Python\Python39\Scripts>py openai api fine_tunes.create -t C:\Users\KevinM\AppData\Local\Programs\Python\Python39\upload.json -m curie
←[91mError:←[0m Incorrect API key provided: “******************************************”. You can find your API key at https://beta.openai.com. (HTTP status code: 401)
Solution
I had used Set OPENAI_API_KEY="<OPENAI_API_KEY>" before running (on Windows). This didn’t work, use the -k flag to pass in the API Key directly.
Thanks to @m-a.schenk for the 2nd time helping me out here.
@luke Hi,
Am trying to finetune but getting error while preparing data, it’s giving sytax error.
openai tools fine_tunes.prepare_data -f \Users\username\Desktop\trial\local.csv
File “”, line 1
openai tools fine_tunes.prepare_data -f \Users\username\Desktop\trial\local.csv
^
SyntaxError: invalid syntax
Please do help me in fixing. Thanks.
It looks like you either haven’t installed openai or haven’t run import openai / or don’t have it in your PATH.
Personally, I think it’s easier to run python using anaconda, pycharm or vs code.
- What happens if you just run openai ? Do you get the same / similar error?
----a. If you do, then make sure you have installed openai by running,
pip install openai
Did you manage to install openai without any errors? Try run only openai again. You shouldn’t get a syntax error.
If it’s still not working, run
import openai
openai
Then you should an output similar to what you see in my image. Still no luck?
Then it would really help if you provide some more info. It’s very difficult to assist someone asking for help but not providing any or little info.
What OS are you running?
Python version?
Are you running in a terminal, powershell, similar or in something like anaconda, pycharm or vscode?
