Possible to share finetuned model with another user?

If I’ve finetuned a model, is it possible to share access to that model with another user through the model id?

2 Likes

Not at this time - it’ll only be accessible to you.

1 Like

What’s your use case for wanting to share the model? We support teams and organizations, which share the models and billing.

1 Like

I could imagine a business case of “FTaaS” (Fine-Tuning as a Service) whereby one company creates and manages finetuning models for clients. But the more I think about this, the less it checks out. One reason is that the company can just sell the custom dataset. Alternatively they can set up an API proxy and markup access to their internally controlled finetuned models… :thinking:

5 Likes

There is definitely some legs to such a dataset marketplace, whether that be commercial or sharing the datasets with other creators. I’m working on how exactly that should look currently - https://finetuning.ai.

Makes sense for someone who has spent time and expertise in compiling a great dataset for a specific purpose to be able to share it with others either for free or for a price.

6 Likes

Yeah, I think that there will be a large demand for bespoke finetuning datasets. For instance, imagine a tech company wants to automate their chat support so they can just give you all their chat logs and you could reconfigure it into a finetuning dataset.

3 Likes

Yes, this is a good idea, and something on our backlog. We were thinking of creating a FT model marketplace, where we allow people to expose their models and they get to profit share, or set a markup.

Sharing datasets is a bit less feasible IMO, and adds a lot of friction for end users, since each model needs to be trained separately, and it’s harder to issue updates.

9 Likes

As @m-a.schenk says, the dataset is indeed where the value is - which is why some vendors might want to protect it as it represents the bulk of their R&D efforts. Selling the dataset would be a one-time transaction (unless the vendor dumps datasets on a regular basis), whereas exposing a model on an FT marketplace would allow for more control over usage and billing.

2 Likes

It will be a tough market because of open source datasets. That’s why I think the most value will actually be in private finetuning services such as for private company data. You would not want to publish a model that had been finetuned with proprietary data.

@daveshapautomator there are a lot of use-cases which open source datasets don’t cover, especially if you want customized behavior that can only be induced by a highly curated dataset. Suppose I have a Q/A-chatbot that was guaranteed (with some probability) to be non-toxic, and there’s a finetuning service that can ‘detox’ my model (ie PALMS). In the case of the PALMS paper, they hired a contract writer to write the prompts and completions for fine-tuning, and chose not to publish the dataset. It would be very convenient in this case, if I can pay a fee to pass my old model through their finetune endpoint, and receive a new model after training. This protects the IP of the vendor, and saves considerable effort on my part.

1 Like

I am also interested in being able to fine tune a model, and then allow other users to run inferences on it. For example:

curl https://api.openai.com/v1/completions \
  -H "Authorization: Bearer $**SOMEONE_ELSES**_OPENAI_API_KEY" \
  -d '{"prompt": YOUR_PROMPT, "model": **MY**_FINE_TUNED_MODEL}'

I agree with what others have stated about the custom dataset being the primary source of value, aka “business moat” (besides the incredible value provided by GPT-3 itself). Especially for proof-of-concept apps, requiring users to BYOK (bring your own key) is appealing because I don’t have to code up throttling, or a billing wrapper.

I can understand others being hesitant to want this feature for their models. In theory, if your model is fine-tuned well enough, users could take the outputs it generates and quickly create a shadow database of examples that could be used to fine tune a model that closely mirrors your model’s output - benefiting from all the hard work you put into manual data curation.

Perhaps there could be a setting in the OpenAI portal to toggle a fine-tuned model to be public. That way, anyone with a model they don’t want to expose directly to 3rd party callers wouldn’t have to.

3 Likes

@m-a.schenk @jdparsons.dev misuse will definitely be hard to detect, and leakage hard to prevent. This is definitely the case with raw finetuned models, where the user has access to the prompt. If the finetuned model is embedded in an application, however, the model is harder to replicate as there can be additional context in the prompt that is not exposed to the user.

2 Likes

Couldn’t you use Mantium.ai for that?

Hello!! Any update on this?
Because I have a model fine-tuned on another account, but now I am out of credits, while I have credits on my second account. So, I want to use the fine-tuned of first account in the second.

Please share, thanks!

1 Like

If you have the .jsonl file, you could retrain it on the other account. Or just pay money to keep using it!

I have a good use case here.

I created a javascript and wordpress plugin for real-estate. It can universally manage properties listings since the fine-tuning I created only uses Chat-GPT to normalize the language into meta-fields (it does not analyze the listings). For example, if I give this to the API: Apply EL_All_rules to “I need a 3BR+ condo in Paris, France” ->, I get this completed as property_type: Apartments // city: Paris // bedroom_count: 3+ // bathroom_count: N/A // surface: N/A // sector: N/A // state: N/A // country: France // amenities: N/A. The real heavy-lifting then happens in my servlet controlling the API interactions.

So, I expect great success from this, but, since I cannot use my model anywhere outside my own account, if I have 10,000 customers, I will have a little nightmare to manage.

My half of a solution is to have my customers pre-pay usage, that way they won’t leave me dead-in-the-water chasing my money all the time (same business-model as calling cards). But, with that half of a solution, I’d still be left with a $2.5M monthly payment account when I get to 10,000 customers each using an average of $250/month.

The other half of the solution could include my model to white-list some foreign accounts that I allow the model to deploy to AND internally calling an endpoint to manage such white-listing. If OpenAI could do that, I could then tell my customers to open their own accounts and just give me their API-Key to white-list them. By sharing the model (not the fine-tuning jsonl), the sensitive data stays under my control and there would be no risk of my training-set to be read by anyone. Although, I do not care much about having my fine-tuning model visible to others, some other people do. Without my servlet doing all the heavy-lifting, there’s not much value to it.

All that to say there is a relevant use-case for fine-tuned model to be shared between accounts and I would really like for that to happen.

Is there anyway you could shift this over to embeddings feeding the LLM instead of using a fine-tune?

This way, you are slicing the database out to 10,000 customers and avoiding the fine-tune sharing hassle.

The only way to “share” a fine-tune (that I can think of) is to share/sell the jsonl file.

It costs me $150 each time I train. If I’d share the jsonl, then I would ask each of my customers to train and they’d incur a cost of $150 right away. It is also not ecological (plenty of CPU spent on the same process and outcome).

Embedding does not work for my solution. It is not data that I give to the model, but I rather ‘specialize’ the model to do a task (in my case, I ask it to bridge the natural-language input and convert it into actionable tokens). Fine-tuning works 98%+ perfectly for me. It’s a bit frustrating to lose on a business opportunity as big as what I have in front of me just because of some small fine-tune model sharing between accounts like this.

2 Likes

+1 for allowing “public” fine tune model IDs.

I’m doing a workshop on fine tuning, and would enjoy being able to share a trained model with participants so we can avoid spending class time training.

The first workshop can be “emulating the OpenAI API, but to proxy and authenticate your own users against a database”.