Update #2Oct 12–18Pre-campaign
What I connected in Xiaomai this week, and which failures still need work
This week joined block checks, small-model True wiring, CPU update/save flows, rollback, same-host runtime relocation, and bounded CUDA work. A100 then completed two selected-parameter 9B-class updates and first-checkpoint restore. I also cover publication, custody, and retirement. Prior FP32 0/14 and controls 104/112 still fail. Checkpoint two has no third-process reload; autonomy, general input, and capability gains remain unverified.
W42 / NUMERICAL INSPECTION
Connect the updates. Keep the failures visible.
Six figures explain block numerics, small-model continuity, post-write faults and two selected-parameter A100 updates. Each keeps its own test boundary.

Which values match in one real-weight MLP?
On October 13, forward and manual reverse calculations meet fixed thresholds for one block.
Swipe horizontally to see the full chart, or open the data table below.
Read the chart data
| Item | Condition |
|---|---|
| Weights and input | Real weights cast to FP32; artificial input and upstream gradient |
| Device | CUDA |
| Compared elements | 151,027,712 |
| Maximum absolute error | 3.72529e-9 |
Evidence boundaryOne MLP only. This does not admit the full decoder, general inputs or native BF16 arithmetic at every operation. Small CPU BF16 rounding diagnostics have a separate scope.
Multilayer FP32 still fails; bit equality checks another property
4/8 layers, hidden 64, intermediate 128, vocab 97. 14 fresh-seed synthetic CPU cases; the complete protocol remains FAIL.
Swipe horizontally to see the full chart, or open the data table below.
Segmented recomputation preserves its result
Matching raw uint8 bytes for GDN outputs and gradients support value preservation during recomputation. They do not establish agreement with a separate FP32 reference.
Controls must detect the injected errors
Frozen controls miss some errors. A separate fix addresses mutation of a copy for noncontiguous data. Artificial counterchecks do not rewrite the original protocol result.
Read the chart data
| Check | Result | Interpretation |
|---|---|---|
| FP32 | 0/14 PASS · 14 FAIL | Frozen mathematical and framework criteria not met |
| GDN recomputation bits | 14/14 | Recomputed and original values match bit for bit |
| Negative controls | 104/112 | Not all detected; full protocol FAIL |
The compensated candidate remains 0/14 on the same exposed cases and is slower, so it is not adopted. This is not a fresh blind test.
Evidence boundaryA numerical protocol on synthetic small models. These denominators describe different properties and cannot be added into a capability pass rate or full-9B acceptance.
CPU wiring supports update and save while retaining post-write failures
October 15–18 advances engineering continuity in reduced configurations. Each branch retains its own settings and checks.
Change state, then check rollback
A reduced FP32 active-Group case checks declared-state restoration and fresh-process continuation. External I/O and arbitrary Python heap state remain outside the guarantee.
Default load rejects an incomplete save
When a pointer advances before its ledger is complete, an older valid checkpoint must be selected explicitly. Multi-file save is not atomic; a corrupt journal can still need recovery.
Read the chart data
| Branch | Checked behavior and limit |
|---|---|
| FP32 post-write rollback | Fault after actual write 3; declared-state restoration and new-process continuation |
| BF16 storage | Research and master arithmetic use FP32; active BF16 Group untested |
| Wider configuration | Partial state-value numerics only; no complete cold-next |
| Another root and runtime | Same Windows host; not another machine or a clean install |
Evidence boundaryThis does not complete native BF16, full-model updates or end-to-end streaming. Full-model, optimizer, gradient and graph materialization costs remain. Maximum sizes from separate configurations cannot be combined.
Selected 9B-class parameters reach a second A100 update
On October 18, 47 parameter tensors are selected. The host fixes prefix "a" and target " b"; the model does not propose the problem.
Swipe horizontally to see the full chart, or open the data table below.
Read the chart data
| Stage | Parameter tensors changed | Master tensors changed | Process after save |
|---|---|---|---|
| Update 1 | 6/47 | 10 | Checkpoint one restored in a fresh process; declared state and RNG projections match |
| Update 2 | 9/47 | 12 | Checkpoint two has no third-process reload |
The editorial inventory rereads the first-update, restore and RNG records. Update two and its new checkpoint rely on the existing independent review; this inventory does not reread every remote raw object. Original JOB_TIMEOUT and recovery-pointer FAIL remain.
Evidence boundaryTwo selected-parameter updates and continuation from checkpoint one. No full-parameter training, cold reload of checkpoint two, arbitrary or long input, general 32-layer numerics, complete True takeover, autonomous research or lasting gains are established.
Connect the engineering while retaining each evidence boundary
Week of October 12–18; evidence cutoff October 18. October 26 adds diagrams only and does not import later results.
Daily engineering timeline
- Check one block and research gradients2026-10-13
Bounded FP32 CUDA MLP and 17 research-gradient checks. Text-format failures and method rejection remain; no new-task evaluation.
- Multilayer checks fail the frozen criteria2026-10-14
FP32 fails all 14 fresh-seed cases. Recomputation bits match, but controls miss failures; the complete protocol remains FAIL.
- Reconnect True update callers on reduced CPU models2026-10-15
Original callers, parameter owners, update flags, save and fresh-process continuation are checked in separate configurations. The compensated candidate still fails and is not adopted.
- Test a post-write fault and state mixed-precision limits2026-10-16
Inject a fault after the third write in a reduced FP32 case; check declared-state rollback and a fresh-process continuation. BF16 storage uses FP32 calculations; wider cases have partial numerical evidence.
- Probe save faults, same-host relocation and custody2026-10-17
Default load rejects missing data, interrupted saves and an advanced pointer with an incomplete ledger. Relocation remains on one Windows host; archive verification does not establish a restart on another machine.
- Extend bounded CUDA work to selected A100 parameters2026-10-18
Check cache on, off and fallback on h8 three-layer models, then make two selected-parameter 9B-class updates. Checkpoint one has a fresh-process restore; checkpoint two has no third-process reload.
Source versions behind the ten gates
Swipe horizontally to see the full chart, or open the data table below.
Current runs, historical reuse and mixed gates retain their own sources. All ten were not rerun on one new source version.
Archive checks, hash readbacks and content reconstruction for four historical versions support custody. Some old traces were retired. Full archive extraction and a restart in a new environment remain incomplete.
Evidence boundaryUpdates, controls, custody and catalogue work answer different questions. Fewer calls do not measure speed, saved files do not establish a model restart, and host wiring does not establish model-invented methods.
Which open-source tools were used that week?
List tools explicitly named in the published records. Versions stay tied to their cases. Full GitHub repository URLs and licenses are visible.
PyTorch
CPU case: 2.14.0+cpu; CUDA version unpublishedThe October 14 synthetic CPU comparison records the Torch version. The October 13 MLP retains Torch CUDA GEMM and basic elementwise kernels. Manual reverse calculations still require separate numerical acceptance.
BSD-3-Clause · upstream license ↗CPython / Python
CPU case: 3.12.14; other run versions unspecifiedThe public environment for the October 14 synthetic multilayer CPU cases records Python 3.12.14. This version belongs to that case and is not assigned to every CPU or CUDA run that week.
Python Software Foundation License Version 2 · upstream license ↗Published evidence of use that week: 10/14 CPU
RNG or HF terminology alone is not used to infer execution of NumPy or Transformers. This list is not a complete dependency inventory.
Evidence boundaryPublished CPU versions belong to the October 14 small cases. Unpublished versions for other runs and CUDA are not guessed. Reading upstream licenses on October 26 does not imply that new versions were installed during W42.
Continue to the unchanged weekly prose for the original progress, failures and limits. Figures summarize public records; hashes bind named bytes and do not establish full experiment reproduction.
What we got done
I first prepared this issue on October 15. More work followed, so I have now brought together the main work I can substantiate for the week of October 12–18. If I only describe the final large-model update, it is hard to see why I first needed the small models, save checks, and failure cases. It would also be easy to mistake work from different versions for one version that did everything in a single run.
At the start of this part of the week, I was still working through the R20 results. Text sampling matched the original sampler, but the reply still had a schema error. The research-method replies were also rejected after the allowed corrections, before method execution or new-task evaluation. Separately, 17 research-gradient tensors matched using the same captured features, and a source-bound, read-only bitwise audit of the earlier update data matched too. The original harness rejection remains. These checks support different claims.
One concrete step on October 13 was the comparison of a single MLP block from the original model. With real weights cast to FP32, artificial inputs, and artificial upstream gradients, its specified forward and backward calculations met the original tolerance. I also used small CPU cases to examine BF16 rounding. Computing in FP32 and rounding only at the end differs from rounding at each original operation. Passing one FP32 block does not establish native BF16 equivalence.
The Claude CPU work then made attention, GDN, normalization, and output-layer forward and manual backward calculations available for individual checks. I compared them on artificial CPU cases so that differences could be located within a calculation. Matching component cases and matching a multilayer composition are separate checks. The later multilayer failures remain in the record.
On October 15, I began reconnecting these calculations to the original callers. On reduced models, I joined forward calculation, manual backward calculation, updates, saving, and the next step in a new process, then checked parameter ownership, update flags, and optimizer state. The deployed GDN and normalization variants had separate comparisons. Text learning, research credit, Group, Decision, and the original graph checkpoint format each have their own CPU records. The original startup and constructors were later included in a small-model flow too. I kept the supported configurations separate rather than combining their largest sizes into one supposed full 9B run.
On October 16, I extended the reduced CPU workflow and BF16 cases. I moved beyond an empty research context to a nonempty one, while stating the rules for BF16 storage, FP32 research calculations, and master state. This is a mixed-precision policy, so it does not mean every operation follows native BF16 arithmetic. A wider configuration has only a focused state-value comparison, checking the calculation that uses those state values. It has not completed the whole update and cold-start flow.
I also checked failures that happen after an update has already written some data. In a reduced FP32 active Group case, I injected a failure after the third actual write, then checked rollback and continuation in a new process. Rejecting a request before any data changes would not answer that question. Some gradients, rollback backups, and hashing were also changed to use chunks or disk. The model, optimizer state, and full materialization during saving still have costs, so this does not settle the overall memory bound.
A save is not settled merely because a file appears. On October 17, I tested missing data, interrupted saves, and a failure after the latest pointer had advanced but before the ledger was complete. In the last case, default loading rejects the checkpoint. Recovery requires explicitly selecting the previous valid checkpoint. The multiple-file save is therefore still non-atomic: a failure does not guarantee that all files remain at one complete version.
That day, I also moved the specified code, dependencies, checkpoint data, and runtime to another root, then used a new process to continue and compare the saved state and next step. Earlier checkpoint relocation checks were a precursor; this case also moved the runtime. Both were still on the same Windows machine. I have not treated that as a restore on another computer or in a separately installed environment.
Another piece of work whose name can be misleading is the offline research-evidence memory tool. It connects original receipts, failures, and manual notes, with export, restore to another destination, and Chinese retrieval checks. For me, the point is to avoid keeping only a polished conclusion and losing the record of how it was obtained. The tool does not call a model. It is not yet Xiaomai's model-level long-term memory or automatic learning.
The formal entry work also moved forward across October 17–18. On a hidden-size-8, three-layer model and one GPU, bounded checks covered update, save, restore in a new process, and another update. Of the ten gates, four ran on the current source version, five reuse bounded historical evidence from their own versions, and one mixes current and historical evidence. This was not a same-version rerun of all ten gates. The current nonempty state-value comparison passed, but only 486 of the source's 491 tokens were encoded. The final five were outside the check. Earlier failures and timeouts remain.
In the new compute environment on October 18, I first restored the saved research data, set up a separate execution environment, and ran small checks before continuing with the model. I compared gradients for the staged CUDA path on small models and added input checks around the update transaction. I also added a prefix cache with a memory limit: it is used when space is available and falls back otherwise. The specified enabled, disabled, and fallback cases matched. Fewer calls alone do not establish an actual speedup.
The 9B-class model on A100 then completed two actual updates for 47 selected parameter tensors. Six changed in the first update. In a new process, the recorded projections of parameters, optimizer state, other declared saved state, and RNG state matched the first record. The next update changed nine parameter tensors and saved a different checkpoint. This establishes continuation within this bounded flow. A third new process has not loaded the second checkpoint, so that next part is still open.
Alongside the implementation, I spent time preserving the work. On October 13, I saved the successful and failed records from ended experiments, checked their readback, and retired the earlier GPU instance. The known important scientific data was preserved, not the host's entire latest filesystem. The October 14 sources and raw results were also stored privately. A completed data handoff and a failed scientific admission are recorded separately; uploading the files did not change the failed result.
For the public record, on October 15 I organized the work into a catalogue of 38 families. Three historical reports received result review; listing the others does not mean their research was admitted. I reorganized the GitHub home page into research, evidence, examples, and documentation, and made a body-map illustration to explain the components and their limits. On October 18, I published and read back suitable figures, failures, and limits. The website keeps its existing weekly-update entry, with Chinese and English content and separate initial and supplement dates.
When organizing older versions on October 17, I retained a complete baseline and the actual differences, checked the reconstructed contents of four historical packages, and dealt with duplicates and ended experiments. There is a cost to state clearly: some old traces and states are no longer fully retained. Those historical runs can no longer be rechecked value by value or resumed exactly. A result card helps explain what happened, but it is not a complete runnable recovery package.
The A100 code, experiment records, and saved state were also placed in a private archive and checked. That operation only verified the archive; it did not extract the entire package and restart it in another environment. I therefore separate preserved data from a completely replayable software environment. Public material remains selected results and limits. Core code, weights, private checkpoints, and raw tensors are withheld. Public hashes allow a later check against the originals; a summary alone cannot reproduce the private model.
What didn't work
The main unresolved numerical result is still the October 14 test of 14 fresh-seed multilayer artificial CPU cases: 0/14 under the original FP32 tolerance, with shared negative controls at 104/112. The complete protocol failed. A later compensated candidate reduced some out-of-bound coordinates, but all 14 cases still failed and it was slower, so it was not installed in the main flow. Some coordinates also exposed incompatible requirements from the two references. The mathematical target and framework compatibility need to be stated separately. The noncontiguous-data control fix was kept separate from the frozen results.
The engineering failures remain too. One intermediate run ended normally at the outer process level while its actual model entry failed to complete an update. The original first-update harness recorded JOB_TIMEOUT, and the first recovery pointer recorded FAIL. Correcting the pointer and continuing later did not rewrite those records. New small-model checks passed their own conditions; they do not close the earlier multilayer FP32 failures, which use different models, sources, and criteria.
The large-model input was still fixed by the host: literal prefix a and target b. Xiaomai did not propose the research content. Updating 47 selected parameter tensors is not all-parameter training. Recorded 32-layer execution observations have not established complete 32-layer general numerical or input acceptance. Arbitrary freeform input, long input, native BF16 per-operation rounding equivalence, and complete general True takeover still have separate evidence gaps.
For me, this week made the supported conditions for connecting calculations, updates, and persistence more concrete, and made the failure locations clearer. Whether Xiaomai can reframe a problem, propose a method that was not already written, or retain a useful capability requires separate transfer, ablation, and causal comparisons. Tensor-operation records are not a complete value-level causal explanation. The research-loop adapter's engineering tests did not call a model. Naming a tool research, memory, or tracing does not establish those capabilities, and overall acceleration remains unverified.
What's next
Next, the A100 work needs to start from the second checkpoint in a third new process, then check an update and save with different input. Restoring the first checkpoint and continuing after the second save are separate checks. I still need to run the latter. Preparing this public issue did not rerun the model; these are planned checks, not new execution results.
On CPU, I can continue investigating the original multilayer differences and reference requirements, controls, save faults, and general entry paths. I will keep active BF16 Group, complete checkpoint memory costs, and cross-environment recovery as explicit gaps. Real-size GPU numerical checks and more general inputs then need their own acceptance runs. For me, the weekly record should retain those connections: which part ran this week and which part is missing, without counting a flow's precursors, repairs, and backups as separate capability gains.
Where Xiaomai stands
The four research steps from the home page and where each stands this week.
Start from unknowns. Examine how inquiry works.
Not yet tested
Formal autonomous reframing capability remains unverified.
Check explanations against actual computation.
Partly done
Specified blocks and reduced cases are checkable; general full-model numerical admission is unfinished.
Turn new understanding into a change that runs.
Partly done
CPU small models and selected 9B parameters have update/restore evidence; prior numerical failures remain.
Select and reuse the change after a restart.
Not yet tested
Lasting capability gains and new-task benefit remain unverified.
Technical recordFull figures, scope limits and the daily log, for researchers to check
Daily log
- r20-method-and-gradText/method rejections retained; bounded 17-gradient checkPartly passed
- r20-mlpBounded FP32 CUDA comparison of one original MLPPartly passed
- r20-custody-retirePreserved positive/negative records; retired the earlier GPU instanceRecord
- cpu-components-blindCPU components; multilayer FP32 remains 0/14Did not pass
- true-cpu-lifecycleOriginal GDN/callers, updates, and checkpoint cold-next wiringPartly passed
- numeric-conflictCompensated candidate still fails; some reference gates conflictDid not pass
- public-navigationPublic catalogue, positive/negative evidence, and navigationRecord
- cpu-bf16-rollbackCPU hybrid-BF16 extension and rollback after actual writesPartly passed
- checkpoint-faultsSave faults, prior-checkpoint recovery, and same-host runtime movePartly passed
- evidence-memoryOffline evidence-memory tool; no model long-term-memory integrationRecord
- historical-retirementHistorical-package reconstruction checks and old-run retirementRecord
- formal-mixed-gatesOct 17–18 formal entry: ten gates with current and historical evidencePartly passed
- cuda-stage-cacheSmall-model staged CUDA, bounded cache, and fallback checksPartly passed
- a100-9b-continuationTwo selected 9B updates; first-checkpoint restore in a new processPartly passed
- public-weekly-scopeBounded public summary, private custody, and bilingual weekly updateRecord
Completed this week
- October 13: 17 research-gradient tensors on captured features, read-only original-update audit, and bounded FP32 CUDA comparison of one original MLP; original text and method rejections retained.
- October 13: method audits, worker/journal accounting, once-only process control, basic operations and explicit backward on archived outputs. Method-file newline persistence and fresh-worker repairs used human fixtures, not a new model-authored method.
- October 14–15: CPU components, failed multilayer blind tests, separate control repairs, and compensated numerical development. Deployed GDN and stable-norm compatibility checks used archived real inputs with artificial upstream gradients, not a replay of original training.
- October 15: reduced-model lifecycle, original caller ownership, text/research-credit/Group/Decision transactions, original graph cold-next, and actual startup. Separate profile sizes are not combined into a full-model run.
- October 14–15: tensor-operation records and research-loop adapter engineering controls; adapter model_calls=0. The historical decoding-time analysis and profiling-tool checks did not add a GPU profile or deploy a performance fix.
- October 16: reduced CPU startup workflow, state-value, empty/nonempty BF16 hybrid cases, rollback after real FP32 active Group writes, specified checkpoint relocation, and gradient/rollback/hash memory components.
- October 17: save-fault rejection, explicit previous-checkpoint recovery, same-host external-runtime continuation, source/method-call inventory, and offline evidence memory. Reachability, observed calls, numerical checks, and cold-start evidence remain separate.
- October 17–18: ten bounded gates for the formal Python entry on h8, three layers, and one GPU, including current-source CUDA update/save, fresh continuation from a fixed checkpoint, and RNG/device negatives.
- October 18: new-environment data restoration and small probes, small-model staged CUDA and transaction-boundary input checks, bounded prefix cache and fallback, followed by two selected-parameter 9B-class updates.
- Custody and publication: preserved R20/blind-test originals, earlier GPU retirement, four historical package reconstruction checks, and old-experiment retirement. Transfer, video, and dependency deduplication was custody work, not an environment reinstall. Catalogue, navigation, explanatory body map, public summary, and bilingual website are communication work, not additional model experiments.
Validation and figures
- MLP: 151,027,712 output/gradient elements; maximum absolute error about 3.72529e-9 at fixed atol=8e-6 and rtol=5e-4. Real weights cast to FP32, artificial inputs, one MLP only.
- Multilayer: 14 fresh-seed artificial CPU cases at 4/8 layers, hidden64/intermediate128/vocab97. FP32 0/14, 1,776 out-of-bound elements, worst error/bound about 39.65448. G raw uint8 equivalence 14/14; shared controls 104/112; complete protocol FAIL.
- Compensated development remained 0/14 on the same exposed 14 cases, not a fresh blind test. An independent reviewer reproduced reference-interval conflicts at seven coordinates in two cases; the larger author inventory was not all independently rerun.
- The formal ten gates comprise four current-source actual runs, five historical bounded reuses, and one mixed gate, not ten same-version reruns. Current state-value: 177 comparisons over 2,472 values; 486 of 491 source tokens encoded, omitting the final five.
- Offline evidence memory: 15 passed out of 16 independent tests, with one ordinary file-symlink privilege skip. Actual junction and ZIP-symlink rejection ran. This is same-host tool validation, not model memory.
- CUDA/cache small models: h8, three layers; specified staged-gradient maximum absolute difference 0. CPU OFF/ON/FALLBACK supplied gradient hashes and loss match. ON reduced forward-layer calls from 9 to 6; fallback restored 9. No timing comparison was performed.
- A100: 47 selected parameter tensors in a 9B-class model; first update changed 6 parameters/10 masters, with declared saved-state and RNG projections equal in a new process. The existing independent review records 9 parameters/12 masters changed on update two, step/revision=2, and native COMMITTED_DURABLE for a different checkpoint.
- This inventory directly compared the first-update, restore, and RNG JSON records. Update two and its new save rely on the existing independent review; all their raw remote files were not freshly reread. The private full archive was verified only, without full extraction and restart.
- The public catalogue lists 38 families; three historical reports received result review. The other 35 do not gain result admission by being listed. Public examples check evidence and arithmetic rather than reconstructing full output tensors or running the private model. Public CI is not private GPU numerical admission.
Failures and unfinished work
- Original R20 method replies remain rejected. Human method-format repairs were not installed into that archived run. Read-only numerical audits do not reverse the original comparer rejection; 17 gradient tensors do not establish full 9B backward.
- Original FP32 0/14, controls 104/112, and frozen sources remain. The numerical root cause is not uniquely established. Historical CPU resource FAIL/UNKNOWN, hybrid TIMEOUT, and the earlier source-version state-value FAIL remain despite later bounded passes.
- One intermediate process exited 0 while the actual model entry was FAILED, without updates or saves. The original first-run JOB_TIMEOUT and recovery-pointer FAIL remain. A third new process has not loaded checkpoint two.
- Fixed host prefix
a, targetb; no model-authored research. All-parameter training, arbitrary freeform/long input, general full-32-layer numerical equivalence, native BF16 per-operation equivalence, complete True takeover, method invention, causal capability gains, and overall acceleration remain unverified. Guarded 32-layer execution observations are not full numerical admission. - Active BF16 Group is untested; wider state-value has no complete cold-next flow. Saving remains non-atomic, and a corrupt rollback journal may require recovery. Relocation checks are same-host, not cross-machine or independently reinstalled acceptance.
- Selected CUDA gradients must fit the staging budget before leaving the guarded region for disk writes. Chunked hashing does not eliminate full tensor/graph materialization during saving. Known full-model costs were rejected against the local GPU budget, and unknown costs remain rejection conditions. No complete-model peak-memory run was performed.
- Some old traces/states were retired, giving up value-level rechecks and exact continuation of those runs. Selected source exports, result cards, and reconstructed package-byte checks are not a complete runnable environment. Evidence memory is an offline tool, not integrated True memory or demonstrated scientific benefit.
Author and AI contributions
郭俊逸 directs and integrates the research, decides scope and criteria, and authorizes execution. AI tools assist implementation, documentation, source inventories, and cross-checks, including this issue.
Next steps
- Load checkpoint two in a third new process, then separately check different input, further update, and save. Count no pass before execution.
- Preserve original contracts and failures. Clarify reference requirements, numerical differences, and controls, then separately evaluate general entry, active BF16 Group, complete checkpoint memory costs, and cross-environment recovery.
- This full-week editorial pass did not rerun the model. The full-week evidence summary records allowlisted observations, source commitments, and evidence levels for added streams. Complete cores, weights, private checkpoints, and raw tensors remain private.