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

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

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, которая точечно сбрасывает только изменённые поддеревья активаций.

Поведение:

  1. Корни = живая популяция + elite queue (roots_from_population).
  2. Expand во время eval: stockpile (factor × base) на predicted keepers и cover floor (2× base) на остальных корнях — не останавливается на ready ≥ pop.
  3. Expand: mutation_candidates + смещение к add-topology.
  4. Soft-hash в дереве; на serve — пересчёт hard structure_hash.
  5. Prefetch \(N\) поколений; roll-forward после serve.
  6. Пауза expand на периодическое градиентное дообучение; затем clear.
  7. История: append_cone_history_point → Studio Memory/cone tab.

MP: breeding_cone_mp.expand_shard + partition_roots.

Математика: cone RAM. API: breeding-cone.