# ~50M parámetros. Primer modelo real, pensado para la 2060. # # Con vocab 32k y d_model 512, la tabla de embeddings sola son 16.7M # parámetros: atarla con la capa de salida (tie_embeddings) ahorra un tercio # del modelo. En modelos chicos esa decisión no es un detalle. # # seq_len 2048 y no 1024: el contexto recuperado de las bases del sistema se # inyecta ahí, así que el presupuesto de contexto es un recurso de primer orden. name: tiny-50m vocab_size: 32768 n_layer: 12 n_head: 8 n_kv_head: 2 # GQA 4:1 — reduce la caché KV sin costo medible de calidad d_model: 512 seq_len: 2048 ffn_mult: 2.6667 # 8/3, el habitual para SwiGLU (tres matrices en vez de dos) ffn_multiple_of: 64 rope_theta: 10000.0 norm_eps: 1.0e-5 tie_embeddings: true # qk_norm y z_loss no son opcionales entrenando en float16 en la 2060: # son lo que evita que el loss explote a mitad de corrida. qk_norm: true z_loss_weight: 1.0e-4 dropout: 0.0 # con 3B tokens y 50M params no hay sobreajuste que combatir init_std: 0.02