● Post-training for everyone

Make the model yours.

POFE is the workspace where open models get better at your work. Curate data, run SFT, DPO and GRPO, prove the gain with evals you can trust, and ship an endpoint — on our GPUs, your cloud, or inside Databricks.

Runs where your data lives AWSGoogle CloudAzureDatabricksSnowflakeKubernetesSlurmAir-gapped on-prem
The post-training loop

Five jobs. One workspace. Every artefact versioned.

Most teams stitch post-training together from a notebook, a rented cluster, a spreadsheet of eval scores and a serving stack nobody owns. POFE replaces the glue. Every dataset, run, checkpoint, eval and endpoint is linked, so any number on a dashboard traces back to the exact data and code that produced it.

01

Data

Import logs and tickets, de-duplicate, redact PII, and synthesise preference pairs with a teacher model.

  • PII redaction
  • near-dup removal
  • synthetic pairs
02

Train

SFT, DPO, ORPO, KTO, GRPO and PPO with LoRA, QLoRA or full weights. Recipes tuned per model family.

  • SFT · DPO · GRPO
  • LoRA · full FT
  • multi-node
03

Evaluate

Golden sets, judges calibrated against human labels, contamination checks and regression gates.

  • judge calibration
  • contamination scan
  • release gates
04

Compute

We find the GPUs. H100, H200, B200 across clouds, with spot fallback and checkpoint-resume.

  • multi-cloud broker
  • spot + resume
  • BYO cluster
05

Deploy

One click from checkpoint to autoscaling endpoint, or export weights to vLLM, SGLang or Databricks.

  • multi-LoRA serving
  • shadow traffic
  • export anywhere
An IDE for models

Everything you can click, you can script.

The workspace and the SDK are the same system. Researchers live in Python; product teams live in the UI. Both see the same runs, the same evals and the same lineage graph.

  • Recipes as code, checked into your repo, reproducible to the seed
  • Custom reward functions in plain Python, sandboxed and versioned
  • Notebooks attach to live runs: inspect rollouts mid-training
  • Diff any two runs: data, hyperparameters, scores, sample outputs

See the full platform →

import pofe

ws  = pofe.workspace("acme-support")
ds  = ws.datasets.get("tickets-v4").split(eval=0.05)

# reward: resolved, on-policy, no hallucinated refunds
@pofe.reward
def resolution(sample, completion):
    r = ws.judges["resolution@v3"].score(sample, completion)
    if pofe.checks.mentions_refund(completion) and not sample.refund_ok:
        return -1.0
    return r

run = ws.train(
    base="qwen3-32b", method="grpo", adapter="lora:64",
    data=ds.train, rewards=[resolution], kl=0.05,
    compute=pofe.Compute(gpu="h100", count=8, max_price=2.60),
)
run.gate(ws.evals["release-v2"], must_beat="prod")
run.deploy(endpoint="support-agent", traffic=0.1)
Evaluate your evals

A score is only as good as the judge behind it.

Fine-tuned models routinely look better than they are because the eval drifted, leaked or was graded by a judge that agrees with itself. POFE treats evals as first-class artefacts with their own tests.

  • Judge agreement with your human labels, reported as Cohen's κ per rubric
  • Contamination scans between training data and every eval set
  • Bootstrap confidence intervals, so a +0.4% "win" is called noise
  • Release gates that block deploys on regressions in any slice

Read: how to test your evals →

eval-health · release-v2412 human labels
rubricjudge κleak95% CIstatus
resolution0.810.0%±1.2trusted
policy-adherence0.860.0%±0.9trusted
tone0.470.0%±3.8recalibrate
kb-grounding0.796.4%±1.6contaminated
refusal-safety0.930.0%±0.3trusted
→ 312 kb-grounding items overlap the training set (n-gram ≥ 13). Excluded from gate.
→ tone judge disagrees with reviewers on sarcasm. Suggest 40 more labels.
In production

Small, specialised models doing the work of frontier ones.

14k+post-training runs launched on POFE last quarter
11×median inference cost reduction after distilling to a tuned 8B
+23 ptsaverage task accuracy gain over the untuned base model
6 daysmedian time from first call to model in production, managed engagements

“We had three teams fine-tuning in three different ways and no way to compare them. Six weeks after moving to POFE we retired our largest API contract and the tuned model is beating it on every slice we care about.”

VP of Machine Learning · Fortune 100 insurer
−72%inference spend on claims triage
0.94F1 on policy-clause extraction, up from 0.78
On-premruns inside their own VPC; no data left the account
Fintech · support agent

A 32B model that knows when not to refund

GRPO with a refund-policy reward, trained on 180k resolved tickets. Replaced a prompt-chained frontier model.

+19 pts resolution · −81% cost
Health · medical coding

ICD-10 coding that clinicians sign off

SFT on de-identified notes plus DPO from coder corrections. Runs on Databricks next to the source data.

0.91 exact-match · HIPAA-scoped workspace
Legal · contract review

Clause extraction at a global law firm

Managed engagement: eval design, synthetic hard cases, and an 8B distilled model deployed on-prem.

4.1× faster review · 0 data egress
Two ways in

Do it yourself, or have it done.

Same platform underneath. Start self-serve and bring us in for the hard part, or start with a managed engagement and take the keys when your team is ready.

Self-serve

The platform

For ML engineers who know what they want to train. Free tier, pay-as-you-go GPUs, no sales call.

  • StartSign in, pick a base model, upload a JSONL
  • PayGPU time at cost plus a flat platform fee
  • OwnDownload weights any time, no lock-in

See plans →

Managed · white-glove

The team

For organisations that need the outcome, not the tooling. Our research engineers own it end to end.

  • ScopeTarget metrics agreed in week one
  • BuildEvals, data, training, distillation
  • Hand overModel, pipeline and runbook in your account

How engagements work →

Questions

Asked often.

Something else? Ask an engineer — you will get a technical answer, not a demo request.

What is post-training?

Post-training is everything that happens to a model after pre-training: supervised fine-tuning (SFT) on examples of the behaviour you want, preference optimization such as DPO, and reinforcement learning such as GRPO or PPO against reward models or verifiable checks. It is how a general open model becomes a specialist that follows your formats, policies and tone, and beats larger general models on your task.

Which models can I post-train on POFE?

More than 200 open-weight base and instruct models, including the Llama, Qwen, Mistral, Gemma, DeepSeek and gpt-oss families, from 0.5B to 400B+ parameters, dense or mixture-of-experts. You can also bring your own checkpoint from Hugging Face, S3, GCS, Azure Blob or a Unity Catalog volume.

Do I need my own GPUs?

No. POFE sources H100, H200 and B200 capacity across a network of clouds and neoclouds and schedules your run where it is cheapest and available. If you already have reserved capacity, a Kubernetes or Slurm cluster, or Databricks GPU compute, POFE runs there instead, and you only pay for the platform.

Does my data leave my environment?

Not if you don't want it to. In VPC and on-prem deployments the control plane only sees run metadata; datasets, checkpoints and logs stay in your buckets and your accounts. Managed runs on POFE compute use isolated, encrypted storage that is deleted on a schedule you set.

How is POFE different from a fine-tuning API?

A fine-tuning API gives you a job endpoint. POFE gives you the whole loop: data curation and synthesis, every major training method, eval suites with judge calibration, GPU sourcing, and inference deployment, all versioned together so you can see exactly which data and which run produced which score. And you can take the weights with you.

Can POFE do the post-training for us?

Yes. Managed post-training is a white-glove engagement where our research engineers own the outcome: they design the evals, build the data, run the experiments and hand you a model that clears agreed metrics, plus the full pipeline so your team can keep iterating.

Bring us a model and a metric.

Tell us what you want the model to do better. A post-training engineer will come back within one business day with a plan, a compute estimate and an eval design.

Talk to an engineer →Open the demo