Can Closed-to-Open Model Transfer Become a Repeatable Product Rather Than a Custom ML Project?

Oren CohenSources reviewed September 23, 202611 min read

It can, when every step produces a versioned artifact under a standard contract, the customer's review effort is bounded and measured, and only configuration changes between tenants. It stays a project when data is hand-labeled, evaluation is bespoke, lineage is missing, and every run needs a data scientist.

Part 36 of the closed-to-open model transfer series. Most fine-tuning engagements today are consulting with a model at the end. This part sets out the properties that separate a product from a project, what has to be fixed across customers and what may vary, and the measurements that tell you which one you are actually running.

The short version

The product is the pipeline and its contracts, not the model. A repeatable transfer has the same artifacts, the same gate shape, and the same verdict for every tenant, with only the margins, the data, and the approval belonging to the customer.

What a custom ML project looks like from the inside

Someone exports conversations to a spreadsheet. Someone else labels a few hundred rows by hand, with rules that live in their head. A notebook trains a model. An evaluation is invented for this customer, run once, and the numbers go into a slide. The model is deployed by editing a config. Six weeks later nobody can say which examples produced the model, which version of the evaluation passed it, or whether it is still doing what the slide said.

Every one of those steps can be done well by a good team, and none of them repeats. The second customer starts from zero. The third customer gets a slightly different evaluation because the person who built the first one left. That is the signature of a project: the knowledge is in people and notebooks, not in artifacts and contracts.

Property 1: every step emits a versioned artifact

A product pipeline produces a fixed chain of artifacts with immutable identities: a dataset version, a candidate model identifier, a gate result bound to that dataset version and candidate, an approval that names the candidate, a deployment marker, and a production verdict keyed to the deployment. Each one references the one before it. Any question about a model in production can be answered by walking the chain.

The chain is what makes the second customer cheap. The pipeline does not care whose runs it curates; it cares that the runs have provenance, the examples have admission decisions, and the gate has a frozen contract. When those are data rather than habits, the pipeline is the same for every tenant and the work per tenant is the data.

Property 2: the checks are deterministic where they can be

A project relies on judgment at every step because nothing else exists. A product moves as many decisions as possible into checks that produce the same answer every time: schema validity, required fields, leakage between splits, minimum family diversity, template caps, missing-data handling, and the arithmetic of the non-inferiority rule. Human and model judgment are reserved for the decisions that need them, which are the ones about what correct behavior is.

Deterministic checks are also what let a pipeline refuse. A dataset build that fails closed when a protected family appears in training, or a gate that returns invalid when the incumbent misses its competence bar, is doing the product's job. A project has no way to refuse; it has a person who notices, or does not.

Property 3: the customer's review step is bounded and measured

The step that cannot be automated is the customer establishing what the agent should have done. A project handles this with unbounded labeling. A product handles it by clustering findings by mechanism, showing a representative with its evidence and a proposed correction, taking one scoped decision per cluster, and propagating that decision to members with a per-example check. The customer reviews dozens of clusters, not thousands of transcripts.

Then the product measures the step: reviewer time per decision, accepted-example yield per cluster, exception and reversal rates, and the share of examples admitted directly versus by propagation. Those numbers are how you know whether the review step scales. A project has no such numbers because the labeling was done once, by whoever was available.

Dimension
Training data
Custom project
Hand-labeled export, rules in someone's head
Repeatable product
Curated from production runs with per-example admission and lineage
Dimension
Evaluation
Custom project
Invented per customer, run once
Repeatable product
Standard gate contract; per-customer margin and holdout
Dimension
Evidence conditions
Custom project
Whatever the sample contained
Repeatable product
Supported, partial-evidence, and no-evidence cases tested separately
Dimension
Artifacts
Custom project
Notebook, slide, config edit
Repeatable product
Dataset version, candidate id, gate result, approval, verdict
Dimension
Tenant variation
Custom project
Different code paths per customer
Repeatable product
Same pipeline; configuration and data per tenant
Dimension
Customer effort
Custom project
Unbounded labeling
Repeatable product
Bounded cluster review with measured yield
Dimension
Failure handling
Custom project
A person notices
Repeatable product
Checks fail closed; gate can return invalid
Dimension
Proof of outcome
Custom project
A slide with offline numbers
Repeatable product
A production verdict on live traffic

Property 4: evidence conditions are standard, margins are not

Every agent handles three kinds of request: ones where the evidence supports an answer, ones where it partly does, and ones where there is none. A product tests all three separately for every tenant, because the failure modes differ and because the no-evidence condition is where fine-tuned models most often learn to invent. Part 18 covers the split. What is standard is the shape of the evaluation. What varies is the content.

The gate contract works the same way. The rule, the sizing method, the symmetric handling of missing data, the recall check on seeded hard cases, the mode checks for collapse: those are fixed. The margin, the outcome definition, the hard cases, and the approval belong to the customer, because they encode what the customer will accept. A product that hard-codes the margin is guessing on the customer's behalf. A project that reinvents the rule per customer is not a product.

Property 5: configuration varies per tenant, code does not

The test for whether transfer is a product is what changes when a new customer arrives. If the answer is a configuration record naming the agent, the outcome definition, the margin, the base model, the provider, the review roles, and the approval policy, the pipeline is a product. If the answer includes a fork of the evaluation script, a new labeling guideline document, or a custom training notebook, it is a project with a shared template.

Per-tenant code accumulates. Three customers in, there are three gates that disagree in small ways, and a fix to one does not reach the others. Per-tenant configuration composes. A fix to the pipeline reaches every tenant at once, and every tenant's chain of artifacts records which pipeline version produced them.

Property 6: the outcome is a production verdict, not a slide

A project ends when the model is deployed and the offline numbers look good. A product ends when the production measurement says parity verified, or says regressed and the switch rolls back, or says confounded and the window reruns. The verdict is the deliverable, because it is the only artifact that says whether the transfer worked for the customer rather than for the holdout.

The verdict also feeds the next iteration in a controlled way. Regressions become reviewed failures that enter the next dataset version through admission, not through a bulk import. Successes do not silently become training data. The loop closes through artifacts, which is what keeps it a loop rather than a series of one-off projects with the same name.

The three things that resist productization, and how to bound them

The first is the customer's intended behavior. No pipeline can know what correct means for a customer's agent; only the customer can. Bound it by making the decision cheap: representative cases, evidence attached, a proposed target, one decision per cluster. The second is the base model choice. Bound it by choosing from a short list on hard constraints and gating one candidate with one fallback, rather than running a bake-off per customer. Part 37 is that procedure.

The third is provider and legal terms: output-use restrictions, training input warranties, retention, base licenses. These do not productize; they are re-read per engagement. Bound them by making the review a checklist with a recorded outcome, so the engagement does not start until the checklist is complete and the record shows who reviewed which version of which terms.

How to tell which one you are running

Ask five questions of the last transfer. Can you name the dataset version the deployed model was trained on and list every example in it with its source and reviewer? Can you re-run the gate today against the same frozen holdout and get the same contract? Did the customer's review take a bounded, measured amount of time? Did anything in the pipeline change for this customer other than configuration and data? Is there a production verdict, and is it keyed to the deployment?

Five yeses is a product. Any no is the place the project is hiding. That is not a criticism of the team; it is where the next engineering effort belongs, because it is the step that will not repeat for the next customer.

Where Converra fits

Converra's model benchmarks are already a repeatable version of the first step: candidate models run against scenarios generated from the agent's own instruction, three runs per scenario with median scoring, real cost and latency measured from the calls, and the winning switch shipped as a pull request with a comparison table. Its fine-tuning workflow follows the same artifact discipline: reviewed production runs are curated into versioned datasets with protected splits and per-example admission decisions, each training job and gate result is recorded against a dataset version, the production switch waits for an explicit approval, and the model production test reports parity verified, regressed, confounded, or insufficient data with the measured cost delta.

The boundaries are the ones this article argues for. Training runs on the customer's provider or infrastructure, not on Converra. Customer data is never used for training without a written, tenant-exclusive election. And no open-weight production verdict for a customer agent has been published, which means the repeatability claim is a claim about the pipeline's shape, not yet about a series of customer outcomes.

Frequently asked questions

Can fine-tuning an open model for a customer be a repeatable product?

Fine-tuning an open model for a customer can be a repeatable product when every step emits a versioned artifact under a standard contract, the customer's review is bounded and measured, and only configuration and data change between tenants. It remains a custom project when data is hand-labeled, evaluation is bespoke, and lineage is missing.

What is the difference between a custom ML project and an ML product?

A custom ML project keeps its knowledge in people and notebooks and starts over for each customer, while an ML product keeps it in artifacts and contracts that are the same for every tenant. The practical test is whether a new customer requires new code or only new configuration and data.

Which parts of model transfer cannot be automated?

The parts of model transfer that cannot be automated are the customer's decision about intended behavior, the choice of base model, and the review of provider and license terms. Each can be bounded with cluster review, a short-list procedure, and a recorded checklist, but none can be removed.

How do you measure whether a customer review step scales?

You measure whether a customer review step scales by recording reviewer time per decision, accepted-example yield per cluster, exception and reversal rates, and the share of examples admitted by propagation versus direct review. Without those numbers, the step's cost per customer is unknown.

What should stay the same across customers in a model transfer pipeline?

The gate contract, the artifact chain, the deterministic checks, the evidence-condition split, and the verdict states should stay the same across customers. The outcome definition, margin, hard cases, dataset, base model, and approval policy belong to each customer as configuration.

Stop reading dashboards. Ship the fix.

Converra diagnoses the failure, tests the fix in simulation, and verifies it worked on your real traffic. Connect your production data and see it on your own agent.