The fleet you own
Idle capacity, put to work
Workstations and lab machines that do nothing after six in the evening become the pool that serves all night. Nothing was bought for this.
Diffuse Enterprise
Idle workstations, GPU instances in your own cloud account, or one desktop box with 128 GB of unified memory. The machines are yours, the weights are yours, and nothing is metered by anybody else.
Inference
An OpenAI-compatible endpoint on your own hardware. One machine when the model fits, several when it does not.
How serving works →Training
LoRA adapters trained on your own corpus, in two commands, with provenance attached to every one.
How fine-tuning works →Compression
A large model teaches a small one on a corpus that needs no answers in it. You supply the questions.
How distillation works →Where it runs
On-premises is where this started and it was never the limit. What this product requires is that the machines answer to you, not that they sit in your building.
The fleet you own
Workstations and lab machines that do nothing after six in the evening become the pool that serves all night. Nothing was bought for this.
Your own cloud
GPU instances in your account, your network, your policy. Still your infrastructure. You pay for a machine, not for tokens, and the bill stops when you stop it.
One desktop box
An AMD Ryzen AI Halo or an NVIDIA DGX Spark carries 128 GB of unified memory in a compact case. One machine, one model, whole, for the whole company.
Supported technology
Ordinary Linux machines, with or without accelerators. Nothing here is a partnership or an endorsement: it is the list of platforms this software has been installed on and answers requests from.
Why on-premises
A university department has three hundred workstations that do nothing after six in the evening. A hospital has a rack it is not allowed to connect to the internet. Both are told the answer is a cloud cluster rented by the hour.
This runs the models on their own machines instead. CPU, GPU or a mix, several cooperating on one model when no single machine can hold it, and no prompt, no document and no corpus crossing the boundary.
# two commands on the machine that coordinates sudo apt install ./diffuse-coordinator_amd64.deb sudo diffuse-coordinator licence set ./licence # two on every machine that computes sudo apt install ./diffuse-node-agent_cpu_amd64.deb sudo diffuse-node-agent enroll --token DFE1-...
No script to run. No wheel to place. Nothing fetched at install.
How it works
If a model fits on one machine in the pool it runs there, whatever its architecture. If it does not, the coordinator cuts it into slices, one per machine, connected as a pipeline.
Splitting has conditions, and they are checked before anything is downloaded rather than discovered afterwards. The documentation states them precisely, including what is refused and why.
Serving qwen2.5-3b-instruct. placement whole, in RAM reason 2.1 GB resident against 11.4 GB free context 4096 slice 0 layers 0..36 node-01 2.1 GB whole model
Placement says what it decided and why it decided it.
Built for audit
Mutual TLS on every connection, with identity derived from the certificate rather than from anything a machine claims about itself. Roles, sessions and an append-only trail of who did what and what was refused.
Customer content never reaches that trail. Not prompts, not completions, not the rows of a training corpus. That is asserted by tests rather than promised.
# who did what, and what was refused diffuse-coordinator audit --since 7d 2026-08-23 alice model.serve ok 2026-08-23 alice apikey.create ok 2026-08-22 bob node.revoke ok 2026-08-22 ci model.pull refused no machine has 11.8 GB free
Refusals are recorded as deliberately as successes.
Reasons for Diffuse
There is no call home of any kind. The licence is verified against a key already in the binary, on the machine, offline, for ever. An air-gapped deployment is the design rather than a concession to one.
This website holds itself to the same rule: no third-party font, no analytics, no tag manager, nothing embedded from anywhere else.
# what this deployment is entitled to diffuse-coordinator licence show organisation Universitätsklinikum Freiburg edition enterprise nodes 24 expires 2027-06-30 features training, distillation, fast-backend
Checked when a machine is enrolled, never per request.
What we measured
Measured on this product rather than quoted from a paper. Where a figure depends on hardware, it says so instead of pretending otherwise.
per training step across four machines with LoRA, against 30.4 GB for a full fine-tune of the same model.
models in the catalogue, each from its publisher's own repository, each loaded and made to answer before it was written down.
bytes of telemetry. No activation, no licence heartbeat, no usage report, no font from a third party.
commands to install on the coordinator, and two on every machine that computes.
Getting started
Four steps, and none of them is a support call. Everything is installed by the package manager and nothing is fetched when a node is given a model.
One package on the machine that coordinates. It asks your organisation's name, generates the authority and starts.
apt install ./diffuse-coordinator…deb
A token on every machine that computes. It writes an identity, starts the agent and waits to see it registered.
diffuse-node-agent enroll --token …
A name from the catalogue, or a file you already have. Placement says where it went and why.
diffuse-coordinator model run qwen2.5:3b
An OpenAI-compatible endpoint. Point an existing client at your host and give it your certificate.
POST /v1/chat/completions
Reasons for Diffuse
The usual reply to "we want to run a model" is an hourly GPU instance. It is the right answer for a spike and a poor one for a department whose machines are idle sixteen hours a day.
Common questions
No. A four-gigabyte model runs on an ordinary workstation with enough memory, and the CPU path is supported rather than tolerated. A card makes generation faster and lets one machine hold more.
One, to start. Splitting a model across machines exists for models too large for any single one, and it is not the normal case.
No. No telemetry, no activation, no licence heartbeat and no usage report. The licence is verified against a key already in the binary, offline, for ever.
It is a subscription, with thirty days of notice before the date and thirty days of grace after it, during which everything still works. Past that the deployment stops serving and stops accepting work. Requests in flight finish and a training run that has started goes to its end.
Nothing you made is ever withheld: your trained adapters, your imported datasets and your audit trail stay readable and exportable whatever the licence says. Installing a renewal restores everything immediately, with no restart.
Fine-tuning needs the original safetensors weights, so a quantised file is refused at creation with the two ways to obtain trainable ones.
Next step
Trials are thirty days on three machines, running exactly the software a paying customer runs. Tell us what you have and we will tell you whether it works before you install anything.