Конус размножения¶
BreedingConeService строит запас потомков, пока GPU считает приспособленность (fitness) текущего поколения.
sequenceDiagram
participant GPU as GPU eval
participant Cone as BreedingConeService
participant RAM as Host RAM
GPU->>GPU: fitness generation t
Cone->>RAM: expand shards (CPU/MP)
GPU->>Cone: serve next population
Cone->>GPU: hard-hash genomes
Note over Cone: after GD: rebuild roots + warmup
Cone rebuild ≠ Merkle-инвалидация
Конус адресуется весами родителей: когда периодическое градиентное дообучение (periodic GD) меняет веса элиты, корни конуса меняются, и он пересобирается (clear + warmup) — это не то же самое, что selective-инвалидация Merkle forward-cache, которая точечно сбрасывает только изменённые поддеревья активаций.
Поведение:
- Корни = живая популяция + elite queue (
roots_from_population). - Expand во время eval: stockpile (
factor ×base) на predicted keepers и cover floor (2×base) на остальных корнях — не останавливается наready ≥ pop. - Expand:
mutation_candidates+ смещение к add-topology. - Soft-hash в дереве; на
serve— пересчёт hardstructure_hash. - Prefetch \(N\) поколений; roll-forward после serve.
- Пауза expand на периодическое градиентное дообучение; затем clear.
- История:
append_cone_history_point→ Studio Memory/cone tab.
MP: breeding_cone_mp.expand_shard + partition_roots.
Математика: cone RAM. API: breeding-cone.