Un ensamblador YAML modular para arquitecturas LLM
Diseña arquitecturas LLM con una sola especificación YAML declarativa y automatiza validación, normalización y compilación a través de un pipeline de 5 capas (DSL → Schema → IR → Compiler → CLI). Trae 31 presets en dos ejes (llm_ 16 × arch_ 15) como punto de partida, y compile --output-dir emite un directorio de modelo HuggingFace (config.json + model.safetensors) listo para entrenar con EulerForge. Los presets son solo puntos de partida — editar d_model / n_heads / número de capas permite ensamblar modelos de cualquier escala, y todos los mensajes del CLI están traducidos a 5 idiomas (ko/en/zh/ja/es).
Defina plantillas de capa con nombre (mixer + FFN + norm + residual) y use el schedule para especificar el orden y la cantidad de repeticiones.
| Tipos de mixer | Attention, Mamba, RetNet, Hyena |
|---|---|
| Tipos de FFN | MLP, Gated MLP (SwiGLU), MoE (ruteo top-k) |
| Norm | RMSNorm, LayerNorm (posiciones pre/post) |
| Residual | Sequential, Parallel |
Tres etapas (validación estructural de esquema → compatibilidad cruzada → heurísticas de realismo) que atrapan errores de diseño antes de compilar. Todos los errores se emiten en formato de 3 líneas (Category: what / Fix: / See:).
| Estructura | claves desconocidas, tipos/enum, campos obligatorios, restricciones numéricas |
|---|---|
| Compatibilidad | mismatches mixer ↔ state (p. ej. mamba + kv_cache no permitido) |
| Realismo | rango de head_dim (32–256), desviación de target_params (>30%), proporción de expertos MoE, ratio seq_len/d_model, consistencia de family_hint, vocab/tokenizer, tie_weight, rango de rope_scaling |
| Categorías de error | ValidationError, CompatibilityError, CompileError, NormalizationError |
Una spec declarativa de unas diez líneas basta para describir la forma completa del modelo.
Compuestos por llm_ (16 tamaño × variante) y arch_ (15 en un recorrido por nivel de habilidad). Los presets son solo puntos de partida — editar d_model, n_heads y el número de capas permite ensamblar modelos de cualquier escala.
llm_ — tamaño × variante arquitectónica (16 presets)4 tamaños (0.8B / 2B / 4B / 16B) × 4 variantes (simple / mistral / jamba / moe).
| Escala | simple | mistral | jamba | moe |
|---|---|---|---|---|
| 0.8B | llm_0p8b_simple (~810M) | llm_0p8b_mistral (~810M) | llm_0p8b_jamba (~1.04B) | llm_0p8b_moe (~770M) |
| 2B | llm_2b_simple (~2.01B) | llm_2b_mistral (~2.01B) | llm_2b_jamba (~2.39B) | llm_2b_moe (~2.05B) |
| 4B | llm_4b_simple (~3.97B) | llm_4b_mistral (~3.97B) | llm_4b_jamba (~4.67B) | llm_4b_moe (~4.03B) |
| 16B | llm_16b_simple (~15.26B) | llm_16b_mistral (~15.26B) | llm_16b_jamba (~18.18B) | llm_16b_moe (~15.71B) |
Semántica de las variantes: simple = atención pura (Llama), mistral = atención + sliding window (1 global : 3 sliding por cada 4 capas), jamba = híbrido Mamba + Attention (3:1), moe = atención + MoE FFN (1 de cada 4 capas, 8 expertos, top-2).
arch_ — recorrido por nivel de habilidad (15 presets, todos ~2B)La escala está fijada a ~2B para que la comparación aísle las elecciones arquitectónicas. El nivel experto cruza MoE × mixer como un espacio de diseño 2D; 2 entradas son composiciones speculativas aún no publicadas en la literatura.
| Nivel | Preset | ~Parámetros | Resumen | Base de investigación |
|---|---|---|---|---|
| beginner | arch_beginner_gpt2 | 2.07B | Classic Transformer (MHA + LayerNorm post + GeLU) | Vaswani 2017, GPT-2 |
| beginner | arch_beginner_llama | 2.01B | Modern baseline (GQA + RMSNorm pre + SwiGLU) | Llama 2/3 |
| intermediate | arch_intermediate_mistral | 2.01B | 1 global : 3 sliding attention | Mistral 7B |
| intermediate | arch_intermediate_gemma2 | 2.08B | 1:1 alternating global/local | Gemma 2 |
| intermediate | arch_intermediate_qwen_longctx | 2.01B | RoPE scaling factor 4, 32K ctx | Qwen 2/3 |
| advanced | arch_advanced_jamba | 2.39B | Mamba + Attention híbrido 3:1 | Jamba-1.5 (AI21) |
| advanced | arch_advanced_samba | 1.99B | Mamba + Sliding attention 1:1 | Samba (Microsoft) |
| advanced | arch_advanced_retnet | 2.21B | Pure RetNet (attention-free) | Sun 2023 |
| expert | arch_expert_research | 2.22B | 4 mixers + MoE 3-phase | Research-grade |
| expert | arch_expert_mixtral_moe | 1.89B | Pure attn + every-layer MoE (8 × top-2) | Mixtral 8x7B |
| expert | arch_expert_striped_hyena | 1.96B | Hyena + Attention 4:1, 128K | StripedHyena |
| expert | arch_expert_blackmamba_moe | 2.10B | Mamba + MoE (MoE sobre mixer no-attn) | BlackMamba, MoE-Mamba |
| expert | arch_expert_deepseek_moe | 1.84B | Fine-grained MoE (32 × top-3) | DeepSeek-V2/V3 |
| expert | arch_expert_retnet_moe | 1.98B | RetNet + MoE (speculativo, sin paper) | Sun 2023 + extrapolación MoE-Mamba |
| expert | arch_expert_frontier_full_moe | 1.93B | Attention-free, multi-mixer + all-MoE (el más speculativo) | Predicción composicional |
Sin límite superior — los presets son solo puntos de partida. EulerStack puede ensamblar modelos de cualquier tamaño editando d_model, n_heads y el número de capas.
Sigue las convenciones comunes del CLI de la familia eulerwa. Todos los errores se emiten en el formato de 3 líneas (Category: what / Fix: / See:).
validate |
Validación de la spec YAML (--report incluye reporte de realismo) |
|---|---|
explain |
Resumen de la estructura del modelo (capas, estimación de parámetros) |
compile |
IR → configuración JSON (--output) o directorio HF (--output-dir) |
schema |
Impresión del esquema YAML |
presets list / show |
Lista de presets y sus detalles |
--lang |
Idioma de salida (ko/en/zh/ja/es). Opción raíz, por defecto ko |
|---|---|
--preset |
Ruta al archivo YAML de spec |
--validate-only |
Solo validar y terminar |
--output / -o |
Ruta de salida del JSON de runtime |
--output-dir |
Directorio de modelo HF (config.json + model.safetensors) |
--print-config / --dry-run |
Imprime la configuración en stdout |
Todos los mensajes de help / logs / warnings / errores del CLI están traducidos a ko / en / zh / ja / es. El idioma por defecto es coreano (ko), y puede cambiarse con la opción raíz --lang o la variable de entorno EULERSTACK_LANG. Los nombres de comandos y opciones y las etiquetas Fix: / See: del formato de 3 líneas no se traducen, de modo que se preserva la compatibilidad de scripts.
compile --output-dir genera config.json y model.safetensors, creando un directorio de modelo compatible con HuggingFace. Es la ruta principal para encadenar con el pipeline de entrenamiento de EulerForge.
De la spec YAML a un modelo entrenable, cinco capas separan estrictamente las responsabilidades de cada etapa.
| Layer 1: DSL | Spec YAML v2 que el usuario escribe (definición declarativa del modelo) |
|---|---|
| Layer 2: Schema | Validación estructural — claves desconocidas, tipos/enum, campos obligatorios, compatibilidad cruzada |
| Layer 3: IR | Representación canónica normalizada (defaults, expansión de plantillas) |
| Layer 4: Compiler | IR → configuración JSON o directorio de modelo HF (config.json + model.safetensors) — cargable con AutoModelForCausalLM.from_pretrained() para enlazar con el entrenamiento de EulerForge |
| Layer 5: CLI | validate / explain / compile / schema / presets — todos con i18n en 5 idiomas |
Los tutoriales se mantienen en coreano (ko) y en inglés (en) en el repositorio fuente, bajo docs/tutorials/{ko,en}/. En esta página mostramos solo el índice; los documentos completos están en el repositorio.
quickstart.md | Landing CLI neutro en idioma (usa --lang) |
|---|---|
01_validate_a_spec.md | Validar una spec YAML |
02_use_presets.md | Usar presets |
03_compile_and_explain.md | Compile & explain |
04_prepare_data.md | Preparar datos de entrenamiento |
05_sanity_train.md | Loop de entrenamiento sanity |
06_arch_walkthrough.md | NEW — recorrido paso a paso por los 15 presets arch_ (por nivel de habilidad) |
mixers/)00_overview.md | Visión general — qué es un mixer y por qué mezclarlos (attention / mamba / retnet / hyena) |
|---|---|
01_attention.md | Attention en detalle |
02_mamba.md | Mamba en detalle |
03_retnet.md | RetNet en detalle |
04_hyena.md | Hyena en detalle |
Todos los tutoriales están disponibles en el repositorio fuente.
Ensambla modelos híbridos combinando Attention, Mamba, RetNet, Hyena y MoE desde una sola página YAML, y obtén directamente un directorio de modelo HuggingFace listo para entrenar.
Empezar en GitHub