File size: 1,992 Bytes
8182d87
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Building `bind2_0`



**Verdict: BLOCKED****Does 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`).