Pular para o conteúdo principal

Parâmetros avançados do Cobre

Esta página é para quem avalia parâmetros de treinamento do Cobre. As opções abaixo são experimentais, ficam desligadas quando omitidas e não são necessárias para o uso normal. Elas existem só na 0.18-myria; na 0.18 oficial, a validação recusa essas chaves.

Como editar​

O painel não mostra essas opções. Para usá-las:

  1. No painel do Cobre, abra Caso no Gitea e edite o config.json do caso.
  2. Volte ao painel e clique em Validar novamente. A validação recusa combinações inválidas antes da execução.
  3. Execute e compare os resultados com um caso de referência.

Salvar opções pelo painel preserva essas chaves. A exceção é trocar o método de Seleção de cortes: o painel substitui os parâmetros do método, inclusive adaptive_max_added_per_round.

Altere uma opção por vez. Para comparar, use os mesmos dados, a mesma semente e os mesmos recursos de execução, e compare custo, risco, déficit e armazenamento antes de adotar a política. Ganhos medidos separadamente não devem ser somados.

Orçamento progressivo de pontos no backward​

Por padrão, a 0.18-myria gera cortes em todos os pontos do backward. O bloco training.backward_selection reduz os pontos usados:

"backward_selection": {
"initial_points": 6,
"exploration_points": 2,
"full_every": 4,
"full_from_iteration": 8
}

O bloco exige treinamento sampled e full_from_iteration dentro do limite de iterações. Ele preserva todas as aberturas em cada ponto escolhido e volta a processar todos os pontos nas iterações múltiplas de full_every e a partir de full_from_iteration. Remova o bloco para usar todos os pontos em toda iteração. Uma execução interrompida por tempo ou outro critério pode não ter chegado ao refinamento final, e as iterações completas não certificam a qualidade da política.

Dois campos opcionais do mesmo bloco:

  • deduplicate: true resolve uma única vez estados completos idênticos no mesmo nó e iteração.
  • audit_relative_tolerance (por exemplo, 0.01): se os cortes de exploração melhorarem o valor no estado sondado em mais de 1% de max(abs(valor), 1), aumenta o orçamento mínimo daquele nó. Esse teste é local e não garante qualidade global. Ao retomar um checkpoint depois da primeira iteração, o orçamento auditado usa todos os pontos.

Para um primeiro experimento mais conservador, use deduplicate: true e full_from_iteration: 1, mantendo os demais campos obrigatórios. Assim todos os estados distintos são resolvidos em todas as iterações. A remoção de duplicatas também pode alterar a seleção posterior de cortes e a política final.

Lote adaptativo na seleção dinâmica de cortes​

Com Seleção dinâmica (DCS), o campo adaptive_max_added_per_round, dentro de training.cut_selection.selection, permite que o lote de cortes adicionados cresça a cada reotimização até esse teto. O valor deve ser maior ou igual a max_added_per_round. Sem o campo, o lote permanece fixo.

População progressiva no forward​

training.forward_schedule começa com menos trajetórias e dobra a população a cada growth_interval iterações, até forward_passes, usando a população completa a partir de full_from_iteration:

{
"training": {
"selection": { "method": "sampled", "forward_passes": 64 },
"forward_schedule": {
"initial_passes": 8,
"growth_interval": 3,
"full_from_iteration": 12
},
"stopping_rules": [{ "type": "iteration_limit", "limit": 20 }]
}
}

Todos os campos são inteiros positivos. initial_passes não pode exceder forward_passes, e full_from_iteration precisa caber no limite de iterações. O treinamento enumerado não aceita essa opção. A retomada usa o número absoluto da iteração: mantenha a mesma população máxima e a mesma programação. Outros critérios de parada podem interromper antes do refinamento, e o refinamento sozinho não garante qualidade equivalente da política.

Reuso da base do solver entre pontos​

point_block_size, em training.parallelism.backward_scheduler, reutiliza a base do solver entre estados próximos, em grupos fixos:

"backward_scheduler": {
"method": "by_node",
"block_size": 10,
"point_block_size": 2
}

O padrão é um ponto por grupo. Valores maiores exigem treinamento sampled. Todas as aberturas continuam sendo avaliadas com a medida de risco configurada. O tamanho do grupo pode afetar o paralelismo e não garante aceleração.