Appearance
Moving from OpenAI fine-tuning
Why teams move their OpenAI fine-tunes to alallo
OpenAI is winding down self-serve fine-tuning. According to OpenAI's deprecations page, no customer can start new fine-tuning jobs from 6 January 2027, and fine-tuned GPT-4o and GPT-4.1 models stop working on 14 January 2027. OpenAI does not let you download the weights of a model you fine-tuned with them.
alallo fine-tunes open models such as Qwen3, Gemma 4 and Mistral on the same training files. You see the exact price before the job starts, and you download your fine-tuned model when it's done. The base model's licence still applies to the model you download.
Step 1: get your training files from OpenAI
Download the JSONL training files you used for OpenAI fine-tuning while you still can. You can download them from the Files page of the OpenAI platform, or with OpenAI's Files API. [TBD: whether OpenAI keeps training files downloadable after 6 January 2027. Don't rely on it.]
If you no longer have a training file, you can build one from your API logs: see Turning OpenAI API logs into training data.
Step 2: upload the OpenAI files to alallo as they are
In the New job form, choose "Upload a file (JSONL, JSON, CSV, OpenAI or Mistral fine-tuning file)" and upload the file. You don't need to convert it. alallo recognises the format and checks every row:
- Chat files (
messageswithsystem,userandassistantroles, including multi-turn conversations and theweightfield) are used for Supervised fine-tuning. - Prompt/completion files are used for Supervised fine-tuning. The model learns the completion only.
- Preference files (
input,preferred_output,non_preferred_output) are used for Direct preference optimisation (LoRA).
Rows with tool or function calling, and rows with images, audio or files, are refused, and the upload message names the rows. Remove those rows and upload again. The full rules are in Using your OpenAI fine-tuning files.
Step 3: choose an open model to replace your OpenAI model
The table gives a starting point by size. It is a suggestion, not a promise of the same quality. Try the smaller model first, because it costs fewer alallo tokens and is cheaper to run afterwards.
| You fine-tuned with OpenAI | Start with in alallo | Try next if quality is not enough |
|---|---|---|
| gpt-4o-mini, gpt-4.1-mini, gpt-4.1-nano | Qwen3 8B, Gemma 4 E4B or Ministral 3 8B | Qwen3 14B or Ministral 3 14B |
| gpt-3.5-turbo | Qwen3 4B or Gemma 4 E4B | Qwen3 8B |
| gpt-4o, gpt-4.1 | Qwen3 14B or Gemma 4 12B | Mistral Small 3 24B or Gemma 4 26B |
The Base model list in the dashboard shows the models you can choose right now for your data residency. Some larger models run in 4-bit only. See Models and training methods.
Step 4: set the amount of training (OpenAI epochs vs alallo Max steps)
OpenAI set the amount of training in epochs (n_epochs): how many times the job went through your file. alallo sets it in Max steps. Each step trains on batch size × gradient accumulation × max sequence length training tokens: 4 × 4 × 512 = 8,192 with the defaults.
To match an earlier OpenAI job:
- Open the finished OpenAI fine-tuning job and note its trained tokens. This already includes the epochs.
- Divide trained tokens by the training tokens per step. With the defaults, that is Max steps ≈ trained tokens ÷ 8,192.
For example, an OpenAI job with 3,000,000 trained tokens is about 366 steps with the default settings.
Set Max sequence length so that your longest conversations fit. The default is 512 tokens, and alallo cuts off a conversation that is longer than that. If your file has long conversations, raise it (up to 32,768). The amount of training is still set by Max steps.
For everything else, start with the defaults. OpenAI's learning-rate multiplier and batch size don't translate one-to-one to open models.
Step 5: check the price and start
Click "Estimate time and price". alallo reads and tokenizes your file and shows the exact price in alallo tokens, including the start fee of 1M alallo tokens per job, and an estimated time range. You never pay more than the quoted price. Failures on our side cost nothing. See Tokens and pricing.
Step 6: download and run your fine-tuned model
When the job succeeds, download the model from the job or from the "Your models" tab within 30 days. LoRA, QLoRA and DPO jobs produce a LoRA adapter, which you load on top of the same base model. Full fine-tuning produces a complete model. See Job outputs.
A model fine-tuned on an OpenAI chat file is delivered with its model's chat format. Send it the same kind of messages you sent OpenAI. Many open-source inference servers can load a base model with a LoRA adapter and offer an OpenAI-compatible chat API. With those, moving your application is mostly a change of address and model name in your API client. alallo does not host models, so you run the model on your own servers or with an inference provider you choose. [TBD: hosted inference.]
Turning OpenAI API logs into training data for alallo
If you logged your OpenAI API calls, you already have training data. For each good call, write one line in the OpenAI chat format:
{"messages": [{"role": "system", "content": "<the system prompt you sent>"}, {"role": "user", "content": "<the user message you sent>"}, {"role": "assistant", "content": "<the answer you want the model to learn>"}]}- Keep only answers you are happy with. The model learns whatever is in the assistant messages, including mistakes.
- Include the earlier turns of multi-turn conversations. Set
"weight": 0on earlier assistant messages you don't want the model to learn. - Leave out tool or function calls, because alallo doesn't support them yet.
- Remove personal data you don't need for the task.
- If you want to compare the fine-tuned model with your old OpenAI answers, tick the optional Evaluation report in New job. alallo then holds back 5% of your examples (or uses a test file you upload), and after training shows how close the new model's answers are to your old model's, side by side with the model it started from. It is priced on its own line in the estimate. See Evaluation report.
A few hundred to a few thousand good examples are enough for many narrow tasks, such as classification, extraction or a fixed answer style.
Data residency when you move from OpenAI
When you create your alallo account you choose its region: the European Union (alallo.com) or the United States (us.alallo.com). For each job you can also choose Anywhere instead of your account's region. With the United States, your uploads, training, checkpoints and fine-tuned model stay in the United States. With the European Union, training, checkpoints and your fine-tuned model stay in the EU. See Data residency and privacy.