Skip to content

0.3.1a2: move the en-zh translation demo out of the kernel - #46

Merged
FonaTech merged 1 commit into
devfrom
kernel-split
Nov 7, 2026
Merged

FonaTech merged 1 commit into
devfrom
kernel-split

Conversation

@FonaTech

@FonaTech FonaTech commented Nov 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • The chronos kernel now trains general models with no translation-specific code. The en↔zh demo moved to demos/translation (chronos_translate, CLI chronos-translate): corpus pipeline, BLEU/chrF runs, doc-mix runs, FLORES+ probe, model bundles, the 50M recipe and the doc-mix plan. It is a repo-only demo: not in the Project_Chronos wheel and not on PyPI.
  • Kernel task hooks on LongRun (task_eval, eval_samples_for, generate, write_samples, pinned_modules). load_spec resolves recipe paths against the recipe folder and rejects unknown keys.
  • Lazy-expert probe monitoring: a "Lazy experts" tab in chronos monitor plus GET /api/lazy_probes; the Web UI probe card shows every measured field in all four languages.
  • Version 0.3.1a2. chronos corpus, chronos bundle and the translate extra are removed; see the migration table in demos/translation/README.md.
  • CI also runs on pull requests into dev.

Testing

  • ruff 0.17.4: all checks passed.
  • Kernel suite (MLX on CPU): 422 passed, 1 skipped in each of the last three full runs. One earlier run had a single failure whose log was not kept; it did not reappear.
  • CI simulation without MLX: 349 passed, 47 skipped.
  • Extension tests (pytest demos/translation/tests): 22 passed, 1 skipped (production shards absent). CI does not run them, because they need sacrebleu and pyarrow.
  • Built the kernel and extension wheels and sdists from a clean copy. The kernel wheel has no demos, chronos_translate or translation strings. Both wheels install into a fresh venv, and chronos-translate runs from outside the source tree.
  • Headless-Chrome check of the monitor and Web UI probe views on loopback, with real probe results from a tiny checkpoint (zh, en, zh-Hant, ja).

Not included

  • No change to the live run or the local repo; syncing waits for the current 72 h run to finish.

🤖 Generated with Claude Code

The chronos kernel now trains general models with no translation-specific
code. Everything that builds the en<->zh benchmark model lives in
demos/translation (package chronos_translate, CLI chronos-translate):
corpus pipeline, BLEU/chrF runs, doc-mix runs, FLORES+ probe, model
bundles, the 50M recipe and the doc-mix plan. It imports the kernel, is
not part of the Project_Chronos wheel and is not published on PyPI.

Kernel changes:
- LongRun task hooks (task_eval, eval_samples_for, generate,
  write_samples, pinned_modules); task-eval errors are logged as
  task_eval_error and never stop a run.
- load_spec(spec_cls, extra_path_keys) resolves paths against the recipe
  folder and rejects unknown keys with a pointer to the task runner.
- Tokenizer defaults carry no language tags; special_tokens_with() adds
  task tokens. Shard readers move to chronos.data.shards.
- chronos corpus, chronos bundle and the translate extra are removed.

Monitoring of the lazy-expert probe:
- The monitor gets a Lazy experts tab (four tables, history charts, probe
  log) and GET /api/lazy_probes.
- The Web UI probe card shows every measured field in all four languages.
- The run snapshot carries all probe fields plus the full-memory
  reference; a stray "null" on the Web UI monitor page is fixed.

CI also runs on pull requests into dev.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@FonaTech
FonaTech merged commit 5ae7b08 into dev Nov 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant