Understanding LoRA
LoRA significantly reduces the computational and memory cost of fine-tuning large models by updating the LLM parameters in a low‑rank structure, making it particularly suitable for large models like LLaMA or DeepSeek. Fireworks AI supports LoRA tuning, allowing up to 100 LoRA adaptations to run simultaneously on a dedicated deployment without extra cost.List of Supported Models
We currently support fine-tuning Llama 3 models, Qwen 2/2.5 models, Qwen 3 non-MoE models, DeepSeek V3/R1 models, Gemma 3 models and Phi 3/4 models; as well as any custom model with these supported architectures. When you create a supervised fine tuning job in UI following the tutorial below, the list of models in the dropdown are all supported. You will notice that the LoRA models for those supported architecures are also available in the dropdown because we also support continue fine-tuning from existing LoRA models.
Step-by-Step Guide to Fine-Tuning with Fireworks AI
1. Preparing the Dataset
Datasets must adhere strictly to the JSONL format, where each line represents a complete JSON-formatted training example. Minimum Requirements:- Minimum examples needed: 3
- Maximum examples: Up to 3 million examples per dataset
- File format: JSONL (each line is a valid JSON object)
- Message Schema: Each training sample must include a
messagesarray, where each message is an object with two fields:role: one ofsystem,user, orassistantcontent: a string representing the message content
- Sample weight: Optional key
weightat the root of the JSON object. It can be any floating point number (positive, negative, or 0) and is used as a loss multiplier for tokens in that sample. If used, this field must be present in all samples in the dataset.
trader_poe_sample_data.jsonl.
2. Uploading the Dataset to Fireworks AI
There are a couple ways to upload the dataset to Fireworks platform for fine tuning:firectl, Restful API , builder SDK or UI.
-
Upload dataset through UI
You can simply navigate to the dataset tab, click
Create Datasetand follow the wizard.
-
Upload dataset using
firectl
-
Upload dataset using
Restful APIYou need to make two separate HTTP requests. One for creating the dataset entry and one for uploading the dataset. Full reference here: Create dataset. Note that theexampleCountparameter needs to be provided by the client.
UI is more suitable for smaller datasets < 500MB while firectl might work better for bigger datasets.
3. Creating a Fine-Tuning Job
Similarly, there are a couple different approaches for creating the supervised fine tuning job. We highly recommend creating supervised fine tuning jobs viaUI . To do that, simply navigate to the Fine-Tuning tab, click Fine-Tune a Model and follow the wizard from there.


4. Monitoring and Managing Fine-Tuning Jobs
Once the job is created, it will show in the list of jobs. Clicking to view the job details
5. Deploying the Fine-Tuned Model
After fine-tuning is complete, you have three options for deploying the model.- Serverless Deployment: Only supported for specific models that we have serverless support (the list will update from time to time, model in Model Library that has the serverless tag).
- Dedicated Deployment: Create a deployment, and then you can deploy the LoRA model ontop the deployment as addon. You can deploy 100s of LoRA model as addons onto the single deployment. Learn more about it here: multi-lora deployment
- Live-merge Deployment: Create a deployment by merging the LoRA weights into the base model directly, optimized for latency and speed
Deploy this LoRA button in the supervised fine tuning job details page or LoRA model details page, and follow the wizard.
6. Best Practices and Considerations
- Validate your dataset thoroughly before uploading.
- Use a higher
loraRankfor larger model capacity (e.g., 8 for complex tasks). If loraRank is higher, consider using smaller learning rate too. - Monitor job health and logs for errors.
- We generally recommend using
earlyStop = Falsefor training - Use descriptive names for dataset IDs and models for clarity.
Appendix
Python builder SDK references
Restful API references
firectl references