Summary
ThinkMachine uses AI to help conventional mineral-processing and metallurgical lines run with more intelligence and better process performance. The core asset is built by line type: flotation, leaching, magnetic separation, and the other line types each have their own process foundation model. A project adapts and iterates on the matching base. The data and the model rise together.
The base has four layers: mechanism, prior, data, and line adaptation. The engineering form is a modular monolith. The run kernel follows a fixed order so a run can be repeated. The first public prototype is silver-flotation base v0.3. It is a proof of concept. It uses only public priors and synthetic plant data, and it contains no customer data. Evaluation uses the continuous ranked probability score (CRPS), the effective sample size \(n_{\mathrm{eff}}\), and a block bootstrap. Baselines are registered in advance. A time cutoff keeps labels that were not yet available out of the score. Each run leaves a hash-chain audit log. The safety boundary is a read-only shadow entry: single tenant, offline, and only a sealed model.
The demo result for predicting tailings silver grade is CRPS 11.39 g/t and MAE 15.75 g/t 示例数据 / synthetic. Of 26 points, 22 fall inside the prediction interval 示例数据 / synthetic. \(n_{\mathrm{eff}}=18.27\) 示例数据 / synthetic. The status is validation_pending: no validation on real data has been done. Automated tests: 521, of which 515 passed and 6 were skipped. That only says the engineering assertions hold on the current test set. The prototype went through three independent red-team reviews, on statistics, engineering, and data. A review is not a plant acceptance, and it does not authorize a trial on real data.
1 Why build the base by line type
Process performance on a mineral-processing line depends on whether the mass balance can close, whether the losses can be located, and whether the next line of the same type can pick up the mechanism and the data already in hand. Flotation, leaching, and magnetic separation share the engineering object called a line. Their mechanisms do not. Flotation has to treat collection, entrainment, size, and liberation. Leaching has to treat reaction and residence time. Magnetic separation has to treat the field and the magnetic response of the particles. Writing those unit operations into one generic model leaves the shared structure unstable. Building every individual line from a blank page leaves the sampling plan, the error structure, and the parameters already identified inside a single project. The next line of the same type cannot pick them up.
A process foundation model sets the grain at “one line type.” The physical and chemical mechanism shared by that type, the priors from the open literature, and the sampling, preparation, and assay error go into the base. On one particular line, the only addition is an adapter, fitted under control with a small amount of plant data. The next project of the same type starts from the updated base. The asset gets thicker with each project. That is the spiral of data and model.
This is a different line of work from an equipment agent. An equipment agent is a physical closed loop on a single machine. A process foundation model is the model asset for one type of mineral-processing line: diagnosis, the mass balance, uncertainty, and later adaptation. Silver-flotation v0.3 stops at a read-only proof of concept. It does not change reagent rates, write to a DCS, or control anything. A more accurate prediction is not evidence that control would pay.
2 Four layers
The four layers stack from the bottom up. The lower two are shared by every line of the same type. The top layer changes with the particular line. The run kernel crosses all four, so the configuration, the permissions, the calculation, and the log of one run can be repeated.
One adapter per line. A small amount of plant data adapts the base under control. Adaptation is constrained by the domain of applicability, by permissions, and by identifiability. A parameter that is not identified keeps an interval or an aggregate, not a forced point estimate.
An error model for sampling, sample preparation, and assay; weighted-least-squares reconciliation of the mass balance; and propagation of uncertainty. Unmeasured is not zero. If units or dry and wet basis do not match, the run refuses rather than converting in silence.
Hierarchical priors from the open literature and open data, pooled by document group, with identifiability from the Fisher information matrix and the profile likelihood. Internal sources do not enter this prior.
Conservation of mass and metal, flotation kinetics, and the physical and chemical kernels for size and liberation. In the silver-flotation prototype, the industrial section is a steady bank of tanks in series (n-CSTR), first-order collection of a fast, a slow, and a locked mineral class, plus entrainment.
Fig. 1. From the bottom, mechanism and prior are shared, the data layer handles error and the mass balance, and adaptation attaches the base to one line. Size and liberation are where that class of model puts them. The v0.3 example did not identify size or entrainment. See section 6.
A run kernel that can be repeated
The engineering form is a modular monolith. One run takes eight steps. The configuration is frozen before the calculation, so the definition cannot be changed afterwards.
- 01Freeze configuration
- 02Hash
- 03Check permissions
- 04Reconcile
- 05Fit
- 06Predict
- 07Score
- 08Audit log
The fit step belongs to the research form of the kernel. It is used for the proof of concept on synthetic data. The read-only entry for real data does not fit at the entry. It only runs a model that has already been sealed. Section 5 sets out the difference between the two paths.
3 A spiral across projects
The value of the base shows up on the second and third project of the same type. The first project lands the public prior in the structure of that line type. Each later project adapts and iterates on that base. Plant data enter the adaptation only under control. What was learned, and the gaps that are still not identified, stay on the base for the next project. Another layer of data, another layer of model. That is a spiral, not a copy of the same file into the next project.
-
Public priors are written into the base
Literature and open data are pooled hierarchically by document group and marked with a domain of applicability. This step has no plant calibration, and a laboratory flowsheet is not a plant.
-
One line is adapted under control
The adapter uses a small amount of plant data. Permissions, the domain of applicability, and identifiability are checked first. A locally rank-deficient parameter is not published as a point estimate.
-
Data and model return to the base
The structure confirmed on this turn, the error, and the evidence that is still missing stay on the base. The base gets thicker, and clearer about what it still cannot answer.
-
The next project of the same type starts from the updated base
The next flotation project takes the flotation base. The next leach takes the leach base. One line type does not borrow a conclusion from another.
Fig. 2. The spiral is the method. It is not a plant history that v0.3 has already lived through. The silver-flotation prototype has taken one turn on synthetic data. No real project has flowed back.
What silver-flotation v0.3 shows is that this path can run on synthetic data, and that it refuses where it should refuse. It has not yet taken a second turn on a real project.
4 Silver-flotation base v0.3: a proof of concept
v0.3 is a read-only diagnosis of silver flotation from the primary residue of acid leaching in zinc smelting. It asks whether the metal balance closes, what interval the silver losses fall in, the intervals for the floatable and locked fractions, where the data are missing, and a list of refusals. There is also one shadow prediction: under the operating policy already in place, predict the tailings silver assay. Already-floated tailings, water-leach residue, and secondary acid-leach residue are outside the domain.
The model is first-order collection of three mineral classes (fast, slow, and locked) plus entrainment. The locked class has a rate of zero. That is the model definition for the conditions in this example. The industrial section is an n-CSTR and supports steady state only. The tailings observation is written
\[\mathrm{tail}=\mathrm{feed}\cdot\frac{1-R}{1-q}\]where \(R\) is recovery and \(q\) is the mass yield of concentrate. \(q\) is estimated from weights available before the information cutoff, and it is sampled together with \(R\). The measurement uncertainty in \(q\) is not yet propagated in full.
The public prior, counted as literature endpoints and not as plant indicators: 32 candidate labels of experiments or conditions, from 6 public sources; 15 kept, of which 11 enter the pool; 17 excluded as not applicable. Internal sources do not enter. These endpoints come from laboratory flowsheets, not from independent plants. The map from mineral phase to fast, slow, and locked is a parameter assumption. It gives a feasible interval, not a confidence interval.
With only feed and tailings, the locked component and \(k\tau\) are locally rank-deficient. In the example, the Fisher information matrix has rank 1/4 after column scaling 示例数据 / synthetic, recorded as locally_rank_deficient. In that state the model publishes only the overall recovery, and the destination of the silver losses is an interval.
Demo figures
Every row in the table is a synthetic-plant example. The mechanism that generated the data is the same mechanism as the model. A model that stays close to the mechanism that generated it is not an external check. Optimistic numbers are an expected risk. The prediction intervals have no independent calibration, and the coverage count is not an acceptance test.
| Metric | Value | Mark | How to read it |
|---|---|---|---|
| CRPS, tailings silver grade | 11.39 g/t | 示例数据 / synthetic | Score of a probabilistic prediction. A synthetic example, not a plant result. |
| MAE, tailings silver grade | 15.75 g/t | 示例数据 / synthetic | The same synthetic example as the CRPS. |
| Points inside the prediction interval | 22 / 26 | 示例数据 / synthetic | The interval is not independently calibrated. Do not use it as acceptance. |
| Effective sample size \(n_{\mathrm{eff}}\) | 18.27 | 示例数据 / synthetic | A dependent series carries less information than its nominal count. |
| Evaluation status | validation_pending | 示例数据 / synthetic | No validation on real data yet. This version does not declare acceptance. |
Table 1. Demo figures for silver-flotation base v0.3. All five rows are 示例数据 / synthetic, from public priors and a synthetic plant. They are not plant assays and not product specifications.
What the proof of concept checks
- Whether the metal balance closes, the residual, and refusal when the data are not enough
- An interval for where the silver is lost, when that is identifiable; no point estimate when it is not
- A shadow prediction of the tailings silver assay under the policy already in place, scored against a preregistered baseline
What the prototype explicitly does not do
- Change reagent rates, write to a DCS, close a control loop, or recommend a control move
- Call the scores above plant accuracy or an acceptance
- Extrapolate to already-floated tailings, water-leach residue, or secondary acid-leach residue
- Infer a benefit from control from the prediction error
5 Operating boundary and engineering check
Real data would go through a read-only shadow entry. The entry is single-tenant and offline. It runs only a sealed model. It does not accept parameters swapped in by the caller for that call. It does not change reagent rates, write to a DCS, or control the process. The switch for real data is off by default. Turning it on requires an authorization record bound to that sealed version. v0.3 is not connected to real data, and it has no such authorization. Database writes are for the audit and the prediction record. They are not a process action.
The evaluation protocol is closed on this entry: tailings silver, units of g/t, an empirically positive distribution, and CRPS as the score. A baseline has to be registered before the prediction starts and before the label is available. A baseline added afterwards does not enter a paired comparison. The time cutoff is there so the score cannot use a label that was not yet available. The audit log chains hashes of the request, the objects, the labels, and the output. That chain can stop an accidental edit. It cannot stop someone with write access from rewriting the whole chain, so it is not production-grade tamper-evident storage.
Engineering check: 521 automated tests, 515 passed, 6 skipped, 0 failed. The skips follow the existing list. No skip was added. The prototype went through three independent red-team reviews, on statistics, engineering, and data. A passing test only shows that the current engineering assertions hold. A review is not a plant acceptance. Neither one establishes industrial accuracy, mineral-phase attribution, or a benefit from control, and neither one authorizes a trial on real data or a production recommendation.
6 Known limits
The limits below are part of the prototype. A later project that wants to cross them needs data from a real line, and evidence that matches. Running the same synthetic data again is not a substitute.
- No validation on a real line. The data are public priors and a synthetic plant example. The status stays
validation_pending. - The synthetic data use the same mechanism as the model. Recovering the values that generated the data is not an external check, and the result is optimistic.
- Three statistical problems are still open: pseudo-replication from repeated parent samples, the joint error of cumulative recovery, and locating gross errors. The measurement uncertainty in \(q\) is also not yet propagated in full.
- The prediction intervals are not independently calibrated. The 22/26 in Table 1 示例数据 / synthetic is a diagnostic count. Without independent calibration, the interval is not treated as a usable confidence interval.
- When identifiability is weak, the information is incomplete. On feed and tailings data, the locked component and \(k\tau\) are locally rank-deficient (FIM rank 1/4 示例数据 / synthetic). The example did not identify size or entrainment, and it did not solve a water balance or an energy balance.
- A prior is not a plant. The literature endpoints in the pool are laboratory flowsheets. When plant-scale data are plentiful, this kind of prior barely moves the result. That shows up in the sensitivity check of the example. It is still an example, not a plant conclusion.
- The domain is narrow. Already-floated tailings, water-leach residue, and secondary acid-leach residue are outside this prototype. A dynamic process, or a unit the model does not support, is refused rather than forced through.
- Prediction accuracy does not show a benefit from control. Causal recommendations stay off. The prototype does not output a reagent change or a control action.
- The boundary of the engineering check. 515 passes out of 521 tests are not industrial accuracy. The hash chain and file permissions guard against an accidental edit. Tenant isolation has been checked only at the level of local functions. There is no operating-system isolation, and there is no production deployment.
Silver-flotation base v0.3 therefore stays where it belongs: a proof of concept for one line-type base, used to make the four layers, the spiral, and the read-only boundary concrete. Validation on a real line has not started.
Keywords
ThinkMachine Labs
Process foundation model · silver-flotation base v0.3