Teach an open model your job. On your GPUs. You keep the weights.

Train Qwen or Llama on the tasks your business actually runs, in your cloud or on-prem. You keep a compact weights file: version it, test it, and serve it privately.

Free beta with Google sign-in at studio.g-ftech.com. The drawing on the right is the whole pitch. Everything else on this site is the proof, backed by raw data files and commit dates.

Where does the workflow live?01 · Renting: a public model APIyour data, your promptsleaves your boundarythe open internet →someone else's modeltheir weights, their rules$ 0.0412…per token, forever← answers only, nothing you keepmeter running · zero weights retained · provider deprecates on their schedule02 · Owning: inside your boundaryyour VPC / on-premGPUGPUGPUGPUtraining runs on dedicated compute1 GPU workstation to 64-GPU clusters · never sharedyour datain RAM, then wipedSFT + GRPOweightscompact adapteron your disknothing leaveszero external API callsyou pay for GPUs, not per tokenall weights, logs, and recipes belong to you

The problem

Six gaps between a frontier model and your workflow.

Prompting a commercial API works for drafts and demos. It breaks when the task defines your margin. None of this is about hallucination, and none of it is fixed by a bigger model.

01

the workflow gap

It has never seen your schemas, CAD
parts, or your definition of correct.

02

the lab gap

SFT + RL pipelines, simulators,
verifiers, GPUs. A handful of labs.

03

the ownership gap

Rented API: your data goes out,
answers come back. Zero weights.

04

the model moves under you

Providers deprecate on their schedule.
Each migration is weeks you did not plan.

05

you cannot prove it got better

No frozen test set, no sign-off, so
nobody can approve it for production.

06

your data never reaches the model

Logs, tickets, CAD parts, git history
sit in storage. The API never sees them.

None of this is about hallucination, and none of it is fixed by a bigger model.

The solution

One run, four stages. Each leaves an artifact you keep.

Frontier APIs are good infrastructure, but a bad place to keep the workflow that defines your margin. Post-training bakes your data, edge cases, and definition of correct into a file you can version, test, and host.

in: an open model + your examples01Fine-tuneSFTadapter02ReinforceGRPO in a gymadapter03Evaluatesealed test setscore04Deployyour endpoint↑ the only stage that can say nothe weights sit on your disk the whole way. nothing is uploaded to us or to anyone.run stage 1 alone, 1+2, or all four. each stage leaves an artifact you keep.
01

Fine-tune (SFT)

Teach vocabulary, schemas, and tool syntax from your logs and git diffs. The base model stays untouched.

an adapter, ~100 MB
02

Reinforce (GRPO)

Improve weights through trial and error in simulated gyms. Winning attempts get rewarded.

better adapter + curveslatent reasoning: opt-in
03

Evaluate

Sealed test set frozen before training starts. Real proof comparing your model against base before production.

a scorecard, signed↑ the only stage that can say no
04

Deploy

Serve inside your own firewall on private GPUs. 1-click rollback, zero prompts or weights leave your network.

a private endpoint
BYOC
Every stage runs in your cloud account, on your GPUs.

The gym is sealed: an encrypted in-memory filesystem (/dev/shm), wiped when the run ends. Your data and your environment are unreadable to any operator, including us.

One gym, in full

What does an agent actually train against?

A gym is a flight simulator with an honest judge. The model gets real tools, tries a real task, and a verifier says pass or fail. That verdict is the only reward signal.

All 92 gyms across 10 verticals

Or connect your own environment

ROBOTICS & PHYSICAL AI

Dynamic balance & locomotion (Unitree G1 / Go1)

Stack
MuJoCo 3.3 + torque-limited joint controllers + contact physics
Task
Stabilize dynamic bipedal and quadrupedal gaits under lateral push disturbances and slippery terrain in MuJoCo. Joint torque limits, ground reaction forces, and zero-fall recovery gate reward.
Runtime
OPENENV / MUJOCO
Tags
#robotics #mujoco #humanoid-g1 #quadruped-go1
One training step inside a gymthe modelopen weights, yours+ a small adapter1. the model decidesaction: balance_step(τ)simulatorphysics in RAM · 2 ms/step2. the world moves→ joint angles, IMUverifierdid it fall? yes / no3. a strict judge, no opinionreward: 0 or 14. weights move a littletoward what scored 1× thousands of episodes, on your GPUs

Changelog

What changed this month, with dates.

  1. GFT Studio beta updated: run ledger, gym selection, and live reward curves at studio.g-ftech.com.

  2. Verifier runtime isolation: encrypted in-memory /dev/shm sandboxes with zero host retention.

  3. Platform architecture published: verifiable checkpoints, sealed baselines, and one stage table.

  4. Native MuJoCo MjBatch gym shipped: batched CPU rollouts with per-replica physical verification. Catalog is now 92 gyms.

  5. Bimanual stationery manipulation gym added (two Cartesian grippers, MuJoCo 3.3.7).

  6. Inference benchmark refreshed: Qwen 3.8 27B at concurrency 1–64 on Together, Fireworks, Doubleword, vanilla vLLM and our MTP4 stack.

  7. Qwen 3.8 27B on two H100s: 1,800 measured requests, 0 errors, about $15 of compute for the whole sweep.

  8. Distributed GRPO pipeline: asynchronous rollout workers decoupled from actor weights update.

Engineering notes

Longer reads

g factor technologies

We work with a few teams at a time.

g factor technologies inc. is a Delaware C-Corp building infrastructure for specialized AI training. We help engineering teams build custom simulators, design rewards that models can't game, and deploy private checkpoints on their own hardware. And we publish our raw benchmarks along the way.

Built by two world-championship-level competitors, one benchmark author, and an ex-Apple platform lead (ex-Apple, Zendesk, Alibaba, Nebius). All full-time.

Request demo

Show us the workflow you want your agent to master.

A short note on the model, the environment and how you would judge success is enough. We reply from a person, not a sequence.