Skip to main content

Training Shapes

In practice, a training shape is the user-facing launch input for trainer jobs. Most users only need to choose a training shape ID such as accounts/fireworks/trainingShapes/qwen3p5-9b-256k and pass it to the API.
A training shape is the recommended launch path for normal trainer jobs. In most cases, pass the full shared shape path accounts/fireworks/trainingShapes/<shape> as training_shape_id, and the SDK resolves the pinned version for you. Advanced compatibility launches can still use manager-level shape refs and direct infra fields, but use that path only when you know the exact hardware and image configuration.
The fireworks account is the shared public shape catalog. Shapes published under accounts/fireworks/trainingShapes/<shape> can be referenced by all users. You do not need to know the versioned shape reference, image tag, GPU layout, or linked deployment shape ahead of time. The API resolves those details internally.

What You Need To Know

For most users, the workflow is:
  1. Pick a training shape ID from the available shapes list below. In most cases this should be the full shared path accounts/fireworks/trainingShapes/<shape>.
  2. Pass it as training_shape_id to a cookbook recipe’s TrainerConfig, or to FiretitanServiceClient.from_firetitan_config(...).
  3. Let the SDK resolve the pinned shape version and linked deployment shape.
That is the only shape-specific value you choose yourself.

What A Training Shape Controls

When you specify a training shape, it provides the trainer with:
  • GPU and node layout: acceleratorType, acceleratorCount, nodeCount
  • Model limits: maxSupportedContextLength
  • Trainer runtime: trainerImageTag
  • Linked serving setup: deploymentShapeVersion

What You Can And Can’t Change

You can still configure normal training-loop fields such as:
  • base_model
  • lora_rank
  • learning_rate
  • display_name
  • Trainer replica count (TrainerConfig.replica_count or trainer_replica_count)
  • Deployment replica count (DeployConfig.replica_count or replica_count)
Shape-owned infra is locked. Do not try to override accelerator_type, accelerator_count, node_count, custom_image_tag, or the linked deployment shape.
Gradient accumulation is not a trainer-launch setting. To accumulate gradients, call forward_backward... multiple times from your client loop before a single optim_step(...); see Loss Functions. For field-level behavior and dataclass details, see the FiretitanServiceClient and Cookbook Reference.

Using a Training Shape

The only shape-specific input you provide is the shape ID:
  1. You provide the shape ID (e.g. accounts/fireworks/trainingShapes/qwen3p5-9b-256k) — no version needed.
  2. The SDK resolves the latest validated version during managed service provisioning.
  3. The SDK applies the linked deployment shape when you request a sampler deployment.
Pass the shape ID to the managed service:
from fireworks.training.sdk import FiretitanServiceClient

shape_id = "accounts/fireworks/trainingShapes/qwen3p5-9b-256k"

service = FiretitanServiceClient.from_firetitan_config(
    api_key=api_key,
    base_model="accounts/fireworks/models/qwen3p5-9b",
    training_shape_id=shape_id,
    lora_rank=0,
    create_deployment=False,
)
training_client = service.create_training_client(
    base_model="accounts/fireworks/models/qwen3p5-9b",
    lora_rank=0,
)
Use the full training shape ID including the account prefix (for example accounts/fireworks/trainingShapes/qwen3p5-9b-256k). The fireworks account is the shared public account for training shapes, and you do not need to hand-write a versioned training_shape_ref yourself.

Available Training Shapes

Below is a list of the current platform training shapes available under the shared public fireworks account. During Reinforcement Fine-Tuning (RFT), two types of models are often deployed: a policy trainer (which updates its weights) and a reference model (which is forward-only).
  • Policy Trainer Shapes: These shapes are used for standard Supervised Fine-Tuning (SFT) or as the active policy model during Reinforcement Learning (RL).
  • Forward-Only / Reference Shapes: These shapes are used for reference models in RL pipelines. They do not require optimizer states or backward passes, and thus often require fewer resources.

Qwen 3.5 (Dense)

Qwen 3.5 9B

Model: accounts/fireworks/models/qwen3p5-9b
  • Policy trainer: (256k, 2 GPUs)
  • LoRA trainer: (256k, 2 GPUs)
  • Forward-only / reference: (256k, 2 GPUs)

Qwen 3.5 27B

Model: accounts/fireworks/models/qwen3p5-27b
  • Policy trainer: (256k, 4 GPUs)
  • LoRA trainer: (256k, 4 GPUs)
  • LoRA trainer (small): (64k, 1 GPU)
  • Forward-only / reference: (256k, 2 GPUs)

Qwen 3.5 (Mixture-of-Experts)

Qwen 3.5 35B A3B

Model: accounts/fireworks/models/qwen3p5-35b-a3b
  • Policy trainer: (256k, 8 GPUs)
  • LoRA trainer: (256k, 8 GPUs)
  • Forward-only / reference: (256k, 4 GPUs)

Qwen 3.5 397B A17B

Model: accounts/fireworks/models/qwen3p5-397b-a17b
  • Policy trainer: (256k, 2 nodes)
  • LoRA trainer (B300): (256k, 8 GPUs)
  • Forward-only / reference: (256k, 8 GPUs)

Gemma 4 (Dense)

Gemma 4 31B

Model: accounts/fireworks/models/gemma-4-31b-it
  • Policy trainer: (256k, 4 GPUs)
  • LoRA trainer: (256k, 4 GPUs)
  • Forward-only / reference: (256k, 4 GPUs)

Gemma 4 (Mixture-of-Experts)

Gemma 4 26B A4B

Model: accounts/fireworks/models/gemma-4-26b-a4b-it
  • Policy trainer: (256k, 4 GPUs)
  • LoRA trainer: (256k, 4 GPUs)
  • Forward-only / reference: (256k, 4 GPUs)

Llama 3

Llama 70B

Model: accounts/fireworks/models/llama-v3p3-70b-instruct
  • Policy trainer: (128k, 8 GPUs)
  • LoRA trainer (B200): (128k, 4 GPUs)
  • Forward-only / reference: (128k, 4 GPUs)

Kimi

Kimi 2.5

Model: accounts/fireworks/models/kimi-k2p5
  • Policy trainer: (256k, 4 nodes)
  • LoRA trainer: (256k, 8 GPUs)
  • Forward-only / reference: (256k, 2 nodes)

Kimi 2.6

Model: accounts/fireworks/models/kimi-k2p6
  • Policy trainer: (256k, 4 nodes)
  • LoRA trainer: (256k, 8 GPUs)
  • Forward-only / reference: (256k, 8 GPUs)

Qwen 3 (Dense)

Qwen 3 4B

Model: accounts/fireworks/models/qwen3-4b
  • Policy trainer: (64k, 1 GPU)
  • LoRA trainer: (32k, 1 GPU)
  • Forward-only / reference: (64k, 1 GPU)

Qwen 3 8B

Model: accounts/fireworks/models/qwen3-8b
  • Policy trainer: (128k, 4 GPUs)
  • LoRA trainer (H200): (256k, 8 GPUs)
  • Forward-only / reference: (128k, 4 GPUs)

Qwen 3 VL 8B

Model: accounts/fireworks/models/qwen3-vl-8b-instruct
  • LoRA trainer (H200): (256k, 8 GPUs)

Qwen 3 32B

Model: accounts/fireworks/models/qwen3-32b
  • Policy trainer: (64k, 8 GPUs)
  • LoRA trainer: (128k, 1 GPU)
  • Forward-only / reference: (64k, 4 GPUs)

Qwen 3 (Mixture-of-Experts)

Qwen 3 30B A3B Instruct 2507

Model: accounts/fireworks/models/qwen3-30b-a3b-instruct-2507
  • Policy trainer: (128k, 8 GPUs)
  • Forward-only / reference: (128k, 4 GPUs)

Qwen 3 235B A22B Instruct 2507

Model: accounts/fireworks/models/qwen3-235b-a22b-instruct-2507
  • Policy trainer: (128k, 2 nodes)
  • Forward-only / reference: (128k, 8 GPUs)

Qwen 3.6 (Dense)

Qwen 3.6 27B

Model: accounts/fireworks/models/qwen3p6-27b
  • LoRA trainer: (256k, 4 GPUs)
  • LoRA trainer (small): (128k, 2 GPUs)

Qwen 3.6 (Mixture-of-Experts)

Qwen 3.6 35B A3B

Model: accounts/fireworks/models/qwen3p6-35b-a3b
  • LoRA trainer: (256k, 4 GPUs)

GLM 5.1

GLM 5.1

Model: accounts/fireworks/models/glm-5p1
  • LoRA trainer (100k): (100k, 8 GPUs)
  • LoRA trainer (200k): (200k, 8 GPUs)

Ministral

Ministral 3 3B Instruct 2512

Model: accounts/fireworks/models/ministral-3-3b-instruct-2512
  • Policy trainer: (16k, 1 GPU)
  • LoRA trainer: (16k, 1 GPU)
  • Forward-only / reference: (16k, 1 GPU)

NVIDIA Nemotron 3 (Mixture-of-Experts)

Nemotron Nano 3 30B A3B

Model: accounts/fireworks/models/nemotron-nano-3-30b-a3b
  • Policy trainer: (256k, 8 GPUs)
  • Forward-only / reference: (256k, 2 GPUs)

Nemotron 3 Super 120B A12B BF16

Model: accounts/fireworks/models/nvidia-nemotron-3-super-120b-a12b-bf16
  • Policy trainer (B200): (256k, 8 GPUs)
  • LoRA trainer (B200): (128k, 4 GPUs)
  • Forward-only / reference (B200): (256k, 8 GPUs)