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

Программный интерфейс: конус размножения

Модули: cnn_neat.breeding_cone, cnn_neat.breeding_cone_mp.

RAM-бюджет

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

с дефолтами \(f=0.50\), \(R=8\,\mathrm{GiB}\) (breeding_cone_ram_fraction, breeding_cone_ram_reserve_bytes).

Символ Роль
host_ram_total_bytes() Полный оперативная память (host RAM)
host_ram_available_bytes() Свободно сейчас
compute_ram_cap_bytes(ram_fraction, reserve_bytes) Бюджет конуса

Типы узлов

Тип Поля / смысл
ConeNode genome, structure_hash, parent_hash, mutation_type, depth, parent indices, parent_gd_lineage
ServeResult Геномы, отданные в популяцию (hard-hash)
PruneStats / ConeStats Обрезка по RAM и глубине; счётчики expand/serve

BreedingConeService

Спекулятивное n-арное дерево мутаций. Soft-hash пока узел в конусе; hard-hash на serve. Prefetch на breeding_cone_prefetch_generations поколений. После serve — roll-forward (без wipe). После периодическое градиентное дообучение (periodic GD) — clear + warmup. Expand паузится на время GD.

roots_from_population, append_cone_history_point, load_cone_history — корни из живой популяции и JSON-история для Studio.

Несколько процессов

expand_shard, expand_shard_local, partition_roots, genome_to_payload / genome_from_payload — шардирование родителей по процессам, overlapping GPU eval (breeding_cone_multiprocess=True).

Поля ExperimentConfig

breeding_cone_enabled, _ram_fraction, _ram_reserve_bytes, _workers, _multiprocess, _max_depth, _prefetch_generations, _stockpile_factor, _warmup_timeout_sec, _fill_timeout_sec.

Математика: breeding cone. Алгоритм: сервис.