Перейти к содержанию

Конус размножения: геометрия и оперативная память

Конус — n-арное дерево спекулятивных потомков элиты, строящееся на CPU параллельно GPU-eval текущего поколения.

Узел конуса

\(c = (G, h_{\mathrm{soft}}, \mathrm{parent}, \mu, d)\), где \(\mu\) — тип мутации, \(d\) — глубина от live root, \(h_{\mathrm{soft}}\) — предварительный хэш (уточняется на serve).

Бюджет памяти

\[ B_{\mathrm{cone}} = \max\bigl(64\,\mathrm{MiB},\; \min(f\cdot\mathrm{RAM}_{\mathrm{tot}},\; \mathrm{avail}) - R\bigr) \]

Дефолт: \(f=0.5\), \(R=8\,\mathrm{GiB}\). При переполнении — prune самых глубоких / наименее полезных узлов (PruneStats).

Упреждающая загрузка

Горизонт breeding_cone_prefetch_generations \(= N\): сервис держит запас примерно на \(N\) будущих поколений. Warmup блокирует, пока нет полного breed-target или не истечёт warmup_timeout_sec.

После serve: roll-forward (корни сдвигаются, дерево не стирается). После периодическое градиентное дообучение (periodic GD): wipe + повторный warmup — веса родителей устарели.

Expand не идёт во время GD (пауза). Multiprocess: корни шардируются (partition_roots), каждый worker возвращает payload геномов.

Мутации в конусе смещены в сторону добавления топологии (больше split/add_edge), чтобы запас был разнообразным.

Конус размножения

Дерево спекулятивных потомков и формула RAM-бюджета.

Сервис: algorithm/breeding-cone.