Determinismo como opción del perfil, para poder verificar la reanudación
En GPU dos corridas idénticas no dan los mismos pesos: el orden de reducción de los kernels varía. Medido en la RTX 2060, dos corridas iguales de 20 pasos difieren hasta 8,6e-4. Eso hacía imposible comprobar el criterio de aceptación más importante del entrenamiento — que reanudar reproduzca la corrida — porque cualquier diferencia se confundía con el ruido de la placa. Con deterministic activado, la reanudación resulta exacta en los 47 parámetros: el checkpoint captura todo el estado. Queda como opción del perfil y como una config propia, en vez de un conjuro de shell que hay que recordar. La opción rechaza convivir con la compilación, porque el autotune vuelve a elegir kernels distintos entre corridas y reintroduce justo lo que se quería eliminar. Está apagada en producción: cuesta rendimiento. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# Verifica que reanudar desde un checkpoint reproduzca la corrida bit a bit.
|
||||
#
|
||||
# Es el criterio de aceptación más importante del entrenamiento: una reanudación
|
||||
# que no es exacta reentrena sobre datos ya vistos y arruina la corrida en
|
||||
# silencio. En GPU no se puede comprobar sin determinismo, porque dos corridas
|
||||
# idénticas ya difieren entre sí por el orden de reducción de los kernels.
|
||||
#
|
||||
# No sirve para entrenar: es lento a propósito.
|
||||
include:
|
||||
hardware: hardware/turing-2060.yaml
|
||||
model: model/char-smoke.yaml
|
||||
train: train/smoke.yaml
|
||||
data: data/smoke.yaml
|
||||
|
||||
hardware:
|
||||
micro_batch_size: 64
|
||||
grad_accum_steps: 1
|
||||
deterministic: true
|
||||
compile: false # el autotune reintroduce variación entre corridas
|
||||
|
||||
train:
|
||||
run_name: verificar-reanudacion
|
||||
max_steps: 20
|
||||
checkpoint_every: 10
|
||||
log_every: 999
|
||||
eval_every: 999
|
||||
sample_every: 0
|
||||
schedule:
|
||||
kind: wsd
|
||||
warmup_steps: 2
|
||||
decay_steps: 2
|
||||
min_lr_ratio: 0.0
|
||||
Reference in New Issue
Block a user