To fine-tune or not to fine-tune? that is the question

I’m working on a project that will use GPT-3 to read products review and summarize it into 1 holistic product review.

So far I got OK results using prompt engineering and I was about to start to prepare a dataset for fine-tuning when a fellow developer suggest it may not help and even worsen results.

His background for this claim was that product reviews are very common and GPT-3 for sure was already training on lots and lots of product review data points. So it’s better to concentrate on prompt engineering, or maybe try n-shot.

That is, of course, will save some cash on creating the dataset, but I’m still not convinced about that approach.

What’s your stand on fine-tuning in this use case?

Depends how many you need to process, and the level of complexity of the task.

A fine tuned Curie model may be only 5 - 10% of the AI processing cost compared to running a Davinci prompt.

If you have a LOT to process then I would suggest training your own custom model.

If you only have a few hundred or so then I would simply use a Davinci prompt with a few examples (few shot).

@jeffinbournemouth , thanks for your input.

I’m not worried about the cost of the actual training, it’s dataset preparation that will take time, effort, and cost. It’s my personal project, I don’t have a company behind me, so even 1K$ will be meaningful.

To get a good dataset, i need professional blog writers to read a few hundred review articles, then write their own summary of them according to the subtitles.

1 Like

I would suggest engineering a few shot Davinci prompt that generates amazing results some of the time.
Use all of the best results as synthetic data to create your training dataset.
First try fine tuning Curie with your dataset to evaluate the output quality.

If output is not up to scratch then fine tune a Davinci model.

1 Like

Thanks for your advice.

But I will still need to review hundreds of articles by myself/outsource, as the synthetic data need an actual reference in the prompt.
Prompt :Instruciton + article → results

If I make up synthetic data, it will have no article attached to it, so GPT will not have that reference.

1 Like

You create a Davinci prompt to do that.

Then you run it to review articles.

Then you choose the best pairs of articles and the corresponding Davinci created reviews to build your synthetic dataset and train a model.

OR

Simply use the Davinci prompt, depending on how many reviews you expect to do in the future.

1 Like

So you suggest,
Step 1: Ask GPT3 to write a product review
Step 2: Write the needed information/summaries based on step 1 results

Did I get it right?

1 Like

Step 1: create a Davinci prompt to write a review of an article.

Step 2: Then you run it to review multiple articles.

Step 3: Then you choose the best pairs of articles and the corresponding Davinci created reviews to build your synthetic dataset and train a model(so model can be used to write the reviews).

OR

Step 1: Simply use the Davinci prompt for all reviews( depending on how many reviews you expect to do in the future.)

1 Like

At LitRPG Adventures, I’ve fine-tuned on around 4,000 character backstories to good effect. Those backstories were generated by GPT-3 and lightly edited by me. With the cut to the cost of normal Davinci, I’ve stopped using the fine-tuned model for now as it’s more expensive than giving Davinci a couple examples (ie a 2-shot prompt…)

So… yes, GPT-3 can be useful to generate fine-tuning data, but you want to be careful that you’re not falling prey to “garbage in / garbage out…” As in, the better content you feed the model for your fine-tune, the more accurate and useful it will be. It’s sort of a balancing act…

1 Like