Prerequisites
Before launching an RFT job, ensure you have:Dataset prepared and uploaded
Dataset prepared and uploaded
Your dataset must be in JSONL format with prompts (system and user messages). Each line represents one training example.Upload via CLI:Or via the Fireworks dashboard.
Evaluator created
Evaluator created
Your reward function must be tested and uploaded. For local evaluators, upload via pytest:The test automatically registers your evaluator with Fireworks. For remote evaluators, deploy your HTTP service first.
Fireworks API key configured
Fireworks API key configured
Set your API key as an environment variable:Or store it in a
.env file in your project directory.Base model selected
Base model selected
Choose a base model that supports fine-tuning. Popular options:
accounts/fireworks/models/llama-v3p1-8b-instruct- Good balance of quality and speedaccounts/fireworks/models/qwen3-0p6b- Fast training for experimentationaccounts/fireworks/models/llama-v3p1-70b-instruct- Best quality, slower training
Job validation
Before starting training, Fireworks validates your configuration:Dataset format validation
Dataset format validation
- ✅ Valid JSONL format
- ✅ Each line has
messagesarray - ✅ Messages have
roleandcontentfields - ✅ File size within limits
- ❌ Missing fields → error with specific line numbers
- ❌ Invalid JSON → syntax error details
Evaluator validation
Evaluator validation
- ✅ Evaluator code syntax is valid
- ✅ Required dependencies are available
- ✅ Entry point function exists
- ✅ Test runs completed successfully
- ❌ Import errors → missing dependencies
- ❌ Syntax errors → code issues
Resource availability
Resource availability
- ✅ Sufficient GPU quota
- ✅ Base model supports fine-tuning
- ✅ Account has RFT permissions
- ❌ Insufficient quota → request increase
- ❌ Invalid model → choose different base model
Parameter validation
Parameter validation
- ✅ Parameters within valid ranges
- ✅ Compatible parameter combinations
- ❌ Invalid ranges → error with allowed values
- ❌ Conflicting options → resolution guidance
Common errors and fixes
Invalid dataset format
Invalid dataset format
Error:
Dataset validation failed: invalid JSON on line 42Fix:- Open your JSONL file
- Check line 42 for JSON syntax errors
- Common issues: missing quotes, trailing commas, unescaped characters
- Validate JSON at jsonlint.com
Missing required field 'messages'Fix: Each dataset row must have a messages array:Evaluator not found
Evaluator not found
Error:
Evaluator 'my-evaluator' not found in accountFix:- Upload your evaluator first:
- Or specify evaluator ID if using UI:
- Check Evaluators dashboard
- Copy exact evaluator ID
Insufficient quota
Insufficient quota
Error:
Insufficient GPU quota for this jobFix:- Check your current quota at Account Settings
- Request a quota increase through the dashboard
- Or choose a smaller base model to reduce GPU requirements
Parameter out of range
Parameter out of range
Error: See Parameter Reference for all valid ranges.
Learning rate 1e-2 outside valid range [1e-5, 5e-4]Fix: Adjust the parameter to be within the allowed range:Evaluator build timeout
Evaluator build timeout
Error:
Evaluator build timed out after 10 minutesFix:- Check build logs in Evaluators dashboard
- Common issues:
- Large dependencies taking too long to install
- Network issues downloading packages
- Syntax errors in requirements.txt
- Wait for build to complete, then retry launching your job
- Consider splitting large dependencies or using lighter alternatives
What happens after launching
Once your job is created, here’s what happens:1
Job queued
Your job enters the queue and waits for available GPU resources. Queue time depends on current demand.Status:
PENDING2
Dataset validation
Fireworks validates your dataset to ensure it meets format requirements and quality standards. This typically takes 1-2 minutes.Status:
VALIDATING3
Training starts
The system begins generating rollouts, evaluating them, and updating model weights. You’ll see:
- Rollout generation and evaluation
- Reward curves updating in real-time
- Training loss decreasing
RUNNING4
Monitor progress
Track training via the dashboard. See Monitor Training for details on interpreting metrics and debugging issues.Status:
RUNNING → COMPLETED5
Job completes
When training finishes, your fine-tuned model is ready for deployment.Status:
COMPLETEDNext: Deploy your model for inference.