bind2_0 / release /BUILD.md
SecludedCorner's picture
bind2_0: release package
8182d87 verified
|
Raw
History Blame Contribute Delete
1.99 kB

Building bind2_0

Verdict: BLOCKEDDoes not run as-is. The blockers are listed below and are real, not cosmetic. A launcher works around what can be worked around without editing frozen files; the rest is stated honestly rather than papered over.

Dependencies

torch==2.12.1
numpy==2.4.6
tokenizers==0.22.2
flash-linear-attention==0.5.1   # CUDA-only (Triton kernels)
# on Windows also: triton-windows==3.7.1.post27

Python 3.11 is the version everything here was developed and smoke-tested against.

Known blockers and portability notes

  • train_bind2_0_babylm.py:20 reads os.environ['BABYLM_WORK'] as a bare subscript at module scope -- an uncaught KeyError with no default. The shipped launcher works around this without editing the file.
  • dev='cuda' is hardcoded at :30 with no CPU path.
  • flash-linear-attention is a hard dependency and its kernels are CUDA-only, so this package cannot run on CPU or on non-NVIDIA hardware at all.

Launcher

run_train.py exists because this package's trainer hardcodes machine-specific inputs inside files that are frozen and must not be edited, so the launcher supplies them from outside instead.

How it does that differs by package, so read run_train.py's own docstring rather than this paragraph. Some launchers import the frozen modules and rebind module-level constants before the entry point runs; at least one cannot, because its trainer reads an environment variable at import time and rebinding the attribute afterwards is already too late -- that launcher sets the variable first. Each launcher documents its own mechanism, and each was checked against the source it works around.

Inputs you must supply

  • alaya-strict-small/tokens_u16.bin (~32.6 MB) — status: REFERENCED-TOO-LARGE

Verification

Every .py in src/ is byte-identical to the working-tree file recorded in MANIFEST.json and compiles under Python 3.11 (python -m compileall src).