Lenguaje de descripción de arquitectura (ADL) para LLMs + framework de investigación para validar nuevas estructuras
Define la arquitectura de un LLM con una sola hoja YAML. Aísla la "arquitectura" de los archivos de modelo PyTorch donde estructura, entrenamiento y serving viven enredados, y la expresa en un lenguaje declarativo dedicado —— la misma abstracción con la que la industria del semiconductor sustituyó schematics+C por Verilog/VHDL.
Un pipeline de 5 capas hace el handoff hacia el entrenamiento en EulerForge. DSL → Schema → IR → Compiler → CLI valida, normaliza y compila la spec, y compile --output-dir emite directamente un directorio de modelo HuggingFace (config.json + model.safetensors).
v0.1.5 es un framework de investigación para ablacionar nuevas hipótesis estructurales sin tocar código. Añade escalado μP, objetivos de diferenciación y el bloque tissue como extensiones de spec compatibles hacia atrás (default OFF, YAML de v0.1.4 funciona sin cambios) —— para explorar a nivel de arquitectura la emergencia temprana del razonamiento · aceleración de la abstracción · desarrollo independiente del conocimiento y el razonamiento mediante primitivas como cortical column y neural differentiation.
Inspirado en la organización cortical del cerebro — ¿pueden el razonamiento y la abstracción crecer de forma independiente dentro de un único modelo?
Al introducir una jerarquía cortical, los patrones de razonamiento pueden emerger antes incluso con menos datos y parámetros. EulerStack experimenta esta hipótesis activándola y desactivándola con una sola línea YAML.
Abstracción y razonamiento no compiten en la misma capa. Capas separadas permiten que ambas capacidades crezcan más rápido sin estorbarse entre sí.
Si el conocimiento del mundo (memoria) y el razonamiento/abstracción pueden cultivarse de forma independiente, el centro de gravedad de la investigación en LLMs se desplaza del capital al diseño estructural. EulerStack es ese entorno de experimentación.
Backbone de 5 ejes declarado en una sola YAML de EulerStack:
| local_scan | Sliding window 128 (procesamiento local) |
|---|---|
| temporal_integrator | Mamba2 (integración temporal) |
| global_binding_mla | MLA (binding global) |
| associative_memory_moe_diff | MoE + differentiation (memoria asociativa) |
| reasoning | execution_modes (ejecución de razonamiento) |
escala arch (~varios cientos de M params) · atlas_diff_200m.yml · investigación interna projects/04 Neural Differentiation Study (en curso)
| Conocimiento | Cómo evoluciona la capacidad de modelado de lenguaje (perplexity, etc.) en función de los datos y la escala. |
|---|---|
| Razonamiento | Si los benchmarks de razonamiento mejoran de forma independiente a la capacidad LM — el impacto de las diferencias estructurales sobre el razonamiento. |
| Nivel de diferenciación | Grado de diferenciación de representación y rol entre expertos/columnas — observado vía expert-CKA · column-ablation · estadísticas de gates. |
| Enfoque de investigación | Comparar alternativas como hash routing · group-MoE · DSv4 affinity · cortical dualmem cambiando únicamente la spec de EulerStack. |
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, Hyper-Connection (mHC) |
| Head | causal_lm, causal_lm_mtp (Multi-Token Prediction) |
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.
Extensiones de spec v0.1.5 (opcionales, default OFF) —— escalado μP, objetivos auxiliares de diferenciación y declaración de tejido (tissue):
Organizados según el "industrial ordering principle" de v1: industrial validado → híbridos / MoE recientes → primitivas experimentales v1. Total 24 llm_ + 33 arch_ = 57 (33 arch_ = beginner 2 · intermediate 3 · advanced 5 · expert 23, de los cuales 9 son *_mini). Los presets son solo puntos de partida — editar d_model, n_heads y el número de capas permite ensamblar modelos de cualquier escala.
arch_ — recorrido por nivel de habilidad (1B–2B)Presets entre 1B y 2B (beginner 2 · intermediate 3 · advanced 5 · expert), ajustados para que los experimentos quepan en una GPU de 24 GB (d_model reducido respecto al paper original). Para reproducir a la escala del paper, aumente d_model. El nivel experto se ha extendido a un espacio de diseño 3D de MoE × mixer × profundidad / campo receptivo, incluyendo 4 composiciones especulativas aún no publicadas en la literatura (retnet_moe, frontier_full_moe, progressive_stack, dilated_longnet).
| Nivel | Preset | ~Parámetros | Resumen | Base de investigación |
|---|---|---|---|---|
| beginner | arch_beginner_gpt2 | ~1.1B | Classic Transformer (MHA + LayerNorm post + GeLU) | Vaswani 2017, GPT-2 |
| beginner | arch_beginner_llama | ~1.1B | Modern baseline (GQA + RMSNorm pre + SwiGLU) | Llama 2/3 |
| intermediate | arch_intermediate_mistral | ~1.3B | 1 global : 3 sliding attention | Mistral 7B |
| intermediate | arch_intermediate_gemma2 | ~1.3B | 1:1 alternating global/local | Gemma 2 |
| intermediate | arch_intermediate_qwen_longctx | ~1.3B | RoPE scaling factor 4, 32K ctx | Qwen 2/3 |
| advanced | arch_advanced_jamba | ~1.2B | Mamba + Attention híbrido 3:1 | Jamba-1.5 (AI21) |
| advanced | arch_advanced_samba | ~1.0B | Mamba + Sliding attention 1:1 | Samba (Microsoft) |
| advanced | arch_advanced_retnet | ~1.3B | Pure RetNet (attention-free) | Sun 2023 |
| advanced (v1 B2.1) | arch_advanced_mla | ~1.1B | MLA —— KV comprimida vía latent_dim | DeepSeek-V3 (2024) |
| advanced (v1 B3.1) | arch_advanced_mod | ~1.1B | Mixture-of-Depths (salto de capa a nivel de token) | Raposo ICML 2024 |
| expert | arch_expert_research | ~1.5B | 4 mixers + MoE 3-phase | Research-grade |
| expert | arch_expert_mixtral_moe | ~1.9B | Pure attn + every-layer MoE (8 × top-2) | Mixtral 8x7B |
| expert | arch_expert_striped_hyena | ~1.0B | Hyena + Attention 4:1, 128K | StripedHyena |
| expert | arch_expert_blackmamba_moe | ~1.5B | Mamba + MoE (MoE sobre mixer no-attn) | BlackMamba, MoE-Mamba |
| expert | arch_expert_deepseek_moe | ~2.0B | Fine-grained MoE (32 × top-3) | DeepSeek-V2/V3 |
| expert NEW | arch_expert_dsv4_v3fallback | ~2.0B | Esquema DeepSeek-V4 (ruta de fallback V3) | DeepSeek-V3/V4 |
| expert | arch_expert_retnet_moe | ~1.5B | RetNet + MoE (speculativo, sin paper) | Sun 2023 + extrapolación MoE |
| expert | arch_expert_frontier_full_moe | ~2.0B | Attention-free, multi-mixer + all-MoE (el más speculativo) | Predicción composicional |
| expert | arch_expert_progressive_stack | ~1.5B | En profundidad hyena→mamba→retnet→attn+MoE (sin paper) | Predicción jerárquica |
| expert (speculative) | arch_expert_dilated_longnet | ~2.0B | Pirámide temporal: mamba+sw(1K→4K→16K)+global+MoE (sin paper) | Extrapolación de Longnet + Jamba |
| expert (v1 B5) | arch_expert_reasoning_r1 | ~1.3B | Razonamiento en 2 fases (think / answer) | DeepSeek-R1 (2025), Quiet-STaR |
| expert (v1 B4.1) | arch_expert_titans_memory | ~1.2B | Memoria paramétrica + actualización en tiempo de test | Titans (Google 2024–2025) |
| expert (v1 B3.2) | arch_expert_dual_stream | ~1.4B | Paralelo monoidal (Mamba ∥ Attention) | Generalización Jamba × PaLM |
| expert (capstone) | arch_expert_kitchen_sink | — | Combina todas las primitivas en una sola spec para validación de superficie máxima | Validación agregada |
arch_expert_*_mini — experimentos speculativos a pequeña escala (9, ~80M–360M)Variantes mini de las arquitecturas expertas especulativas. Mantienen las mismas ideas de diseño, pero mucho más pequeñas (d_model 384–512, ~12 capas) para que un ablation de entrenamiento completo quepa en una sola GPU de consumo. Pensadas para iterar rápidamente sobre hipótesis arquitectónicas antes de comprometer un entrenamiento de 2B. arch_expert_progressive_stack_mini es el punto de partida recomendado.
| Preset | ~Total | ~Active | Mirror of | Rol pedagógico |
|---|---|---|---|---|
arch_expert_progressive_stack_mini | ~86M | ~86M | arch_expert_progressive_stack | Primer experimento RECOMENDADO |
arch_expert_blackmamba_moe_mini | ~156M | ~90M | arch_expert_blackmamba_moe | MoE partial-sparse sobre SSM |
arch_expert_mixtral_moe_mini | ~175M | ~90M | arch_expert_mixtral_moe | Baseline MoE clásico en cada capa |
arch_expert_dilated_longnet_mini | ~83M | ~75M | arch_expert_dilated_longnet | Pirámide temporal para largo contexto |
arch_expert_deepseek_moe_mini | ~357M | ~60M | arch_expert_deepseek_moe | ⚠ Observar el fallo del MoE fine-grained |
arch_expert_frontier_full_moe_mini | ~106M | ~60M | arch_expert_frontier_full_moe | ⚠ El más experimental; se espera que falle |
arch_expert_dsv4_flash_mini NEW | ~180M | ~70M | DeepSeek-V4 | DSv4 + atención comprimida Flash/NSA |
arch_expert_dsv4_subset_mini NEW | ~180M | ~70M | DeepSeek-V4 | Subconjunto de funciones DSv4 |
arch_expert_mhc_moe_mini NEW | ~150M | ~70M | mHC + MoE | Residual multi-Hyper-Connection + MoE |
llm_ — tamaño × variante arquitectónica (24 presets)5 tamaños (0.1B / 0.8B / 2B / 4B / 16B) × 5 variantes (simple / mistral / jamba / moe / mla). A 0.1B se omite moe.
| Escala | simple | mistral | jamba | moe | mla |
|---|---|---|---|---|---|
| 0.1B | llm_0p1b_simple | llm_0p1b_mistral | llm_0p1b_jamba | — | llm_0p1b_mla |
| 0.8B | llm_0p8b_simple | llm_0p8b_mistral | llm_0p8b_jamba | llm_0p8b_moe | llm_0p8b_mla |
| 2B | llm_2b_simple | llm_2b_mistral | llm_2b_jamba | llm_2b_moe | llm_2b_mla |
| 4B | llm_4b_simple | llm_4b_mistral | llm_4b_jamba | llm_4b_moe | llm_4b_mla |
| 16B | llm_16b_simple | llm_16b_mistral | llm_16b_jamba | llm_16b_moe | llm_16b_mla |
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) · mla = Multi-head Latent Attention (compresión KV estilo DeepSeek-V3).
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 que el usuario escribe (schema_version 1, 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) e inglés (en) (ruta en el repositorio fuente: docs/tutorials/{ko,en}/). Los enlaces siguientes apuntan a la versión en inglés disponible en este sitio; actualmente no hay versión en español.
00_positioning | Leer primero —— dónde encaja EulerStack: un lenguaje de descripción de arquitectura (ADL) para LLMs |
|---|---|
01_validate_a_spec | Validar una spec YAML |
02_use_presets | Usar presets |
03_spec_reference | NEW — referencia de la spec |
04_compile_and_explain | Compile & explain |
05_prepare_data | Preparar datos de entrenamiento |
06_sanity_train | Loop de entrenamiento sanity |
07_arch_walkthrough | Recorrido arquitectónico por nivel de habilidad (17 presets arch_) |
08_expert_mini_walkthrough | Recorrido por los presets Expert Mini (ablation con una sola GPU) |
09_new_primitives_walkthrough | NEW —— nuevas primitivas v1 Phase B (MLA / Titans / MoD / Dual-Stream / Neural-ODE / TTT) |
10_paper_to_yaml | NEW —— casos paper → YAML (DeepSeek-V3 / Jamba / DeepSeek-R1 / Titans) |
mixers/, 5)00_overview | Visión general — qué es un mixer y por qué mezclarlos (attention / mamba / retnet / hyena) |
|---|---|
01_attention | Attention en detalle |
02_mamba | Mamba en detalle |
03_retnet | RetNet en detalle |
04_hyena | Hyena en detalle |
Los tutoriales están disponibles únicamente en coreano / inglés.
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