Training jobs
Fine-tune an open-weight model from the dashboard: creating jobs, monitoring runs, and using the results.
A training job fine-tunes an open-weight base model with LoRA on Arkor's managed GPUs. Jobs live under a project's Jobs tab. If you prefer code over forms, the framework docs cover the same platform through the TypeScript SDK and CLI.
Creating a job
Jobs → New Job takes:
| Field | Notes |
|---|---|
| Job name | Free text, for the job list |
| Model | Hugging Face repo id of the base model |
| Dataset | Hugging Face dataset id |
| Max samples | Optional cap on dataset rows; empty trains on all rows |
| Max steps | Optional cap on optimizer steps; empty trains by epochs |
| Learning rate | Defaults to 0.0002 |
Submitting queues the job. Arkor picks a GPU from its provider pool and dispatches the run; you do not choose or manage GPUs.


Monitoring a run
The job detail page shows:
- Status —
queued,running,completed,failed, orcancelled, with a Cancel button while queued or running. - Latest metrics — the step, loss, and epoch from the newest trainer event at load time; reload the page for fresh numbers.
- Training events — the event log as a table: per-step log lines with step, loss, and time, plus lifecycle events.
- Configuration — the job id, provider, timestamps, and the full submitted config as JSON.
Failures surface the trainer's error message in a banner.


Checkpoints and adapters
During the run the trainer uploads mid-run checkpoints; on success it uploads the final adapter. Both become usable in two places:
- The project Playground can chat with the final adapter or any checkpoint of a completed job.
- An endpoint can serve the final adapter or a specific checkpoint at a stable
*.arkor.appURL. The endpoint's target can be swapped in place through the SDK's deployments API, so you can promote a better checkpoint without changing the URL your app calls.
A completed job's detail page links straight to the Playground preloaded with that job.