EulerStack

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.

57
Presets
v0.1.5
Versión actual
5
CLI en 5 idiomas
16
Tutoriales
Tutoriales (16) Referencia CLI GitHub

Qué aporta la estructura cortical a los LLMs

Inspirado en la organización cortical del cerebro — ¿pueden el razonamiento y la abstracción crecer de forma independiente dentro de un único modelo?

🧠

Emergencia temprana del razonamiento

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.

Aceleración de la abstracción

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í.

🔬

Desarrollo independiente de conocimiento ↔ razonamiento

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.

Arquitectura central — atlas_diff

Backbone de 5 ejes declarado en una sola YAML de EulerStack:

local_scanSliding window 128 (procesamiento local)
temporal_integratorMamba2 (integración temporal)
global_binding_mlaMLA (binding global)
associative_memory_moe_diffMoE + differentiation (memoria asociativa)
reasoningexecution_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)

Ejes de diferenciación observados

ConocimientoCómo evoluciona la capacidad de modelado de lenguaje (perplexity, etc.) en función de los datos y la escala.
RazonamientoSi los benchmarks de razonamiento mejoran de forma independiente a la capacidad LM — el impacto de las diferencias estructurales sobre el razonamiento.
Nivel de diferenciaciónGrado 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ónComparar alternativas como hash routing · group-MoE · DSv4 affinity · cortical dualmem cambiando únicamente la spec de EulerStack.

Juego de capital → juego de diseño: desplazamiento del centro de gravedad.
Qué elección estructural aporta qué capacidad — si esta pregunta tiene respuesta, no decidirán los presupuestos de GPU de decenas de miles de millones, sino el diseño del investigador. EulerStack es el framework de investigación que está validando esta hipótesis internamente ahora mismo.

※ La investigación está en curso; las cifras específicas se publicarán en informes formales más adelante. Las extensiones de spec v0.1.5 W-AS-1~3 (μP scaling · differentiation_objectives · bloque tissue) permiten expresar y reproducir las hipótesis anteriores como spec estándar — todas default OFF, compatibles con v0.1.4.

Capacidades principales

Layer Templates & Schedule

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)

Validación & realismo

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

Empieza con una sola página YAML

Una spec declarativa de unas diez líneas basta para describir la forma completa del modelo.

schema_version: 1 model: { name: "my-llm", d_model: 2048, vocab_size: 32000, max_seq_len: 4096, n_heads: 16 } tokenizer_contract: { type: hf, pretrained: gpt2 } embedding: { type: learned, positional: rope } layer_templates: decoder: mixer: { type: attention, attention: {} } ffn: { type: gated_mlp, activation: swiglu } layer_schedule: - { template: decoder, repeat: 24 } head: { type: causal_lm }

Extensiones de spec v0.1.5 (opcionales, default OFF) —— escalado μP, objetivos auxiliares de diferenciación y declaración de tejido (tissue):

# Añade lo siguiente a la spec anterior (el YAML existente funciona sin cambios) training_hints: scaling: { parametrization: mup, base_width: 256 } # μP (W-AS-1) differentiation_objectives: { usage_probe_coef: 0.01 } # objetivos de diferenciación (W-AS-2) tissue: # declaración de tejido/columna (W-AS-3) columns: - { name: global_integration, templates: [decoder], role: global_binding } connectivity: ring

Presets: 57 sobre una ruta de aprendizaje de 3 niveles

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.

▶ Ver los 57 presets completos (jerarquía de 3 niveles + matriz llm_ × variantes)

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).

NivelPreset~ParámetrosResumenBase de investigación
beginnerarch_beginner_gpt2~1.1BClassic Transformer (MHA + LayerNorm post + GeLU)Vaswani 2017, GPT-2
beginnerarch_beginner_llama~1.1BModern baseline (GQA + RMSNorm pre + SwiGLU)Llama 2/3
intermediatearch_intermediate_mistral~1.3B1 global : 3 sliding attentionMistral 7B
intermediatearch_intermediate_gemma2~1.3B1:1 alternating global/localGemma 2
intermediatearch_intermediate_qwen_longctx~1.3BRoPE scaling factor 4, 32K ctxQwen 2/3
advancedarch_advanced_jamba~1.2BMamba + Attention híbrido 3:1Jamba-1.5 (AI21)
advancedarch_advanced_samba~1.0BMamba + Sliding attention 1:1Samba (Microsoft)
advancedarch_advanced_retnet~1.3BPure RetNet (attention-free)Sun 2023
advanced (v1 B2.1)arch_advanced_mla~1.1BMLA —— KV comprimida vía latent_dimDeepSeek-V3 (2024)
advanced (v1 B3.1)arch_advanced_mod~1.1BMixture-of-Depths (salto de capa a nivel de token)Raposo ICML 2024
expertarch_expert_research~1.5B4 mixers + MoE 3-phaseResearch-grade
expertarch_expert_mixtral_moe~1.9BPure attn + every-layer MoE (8 × top-2)Mixtral 8x7B
expertarch_expert_striped_hyena~1.0BHyena + Attention 4:1, 128KStripedHyena
expertarch_expert_blackmamba_moe~1.5BMamba + MoE (MoE sobre mixer no-attn)BlackMamba, MoE-Mamba
expertarch_expert_deepseek_moe~2.0BFine-grained MoE (32 × top-3)DeepSeek-V2/V3
expert NEWarch_expert_dsv4_v3fallback~2.0BEsquema DeepSeek-V4 (ruta de fallback V3)DeepSeek-V3/V4
expertarch_expert_retnet_moe~1.5BRetNet + MoE (speculativo, sin paper)Sun 2023 + extrapolación MoE
expertarch_expert_frontier_full_moe~2.0BAttention-free, multi-mixer + all-MoE (el más speculativo)Predicción composicional
expertarch_expert_progressive_stack~1.5BEn profundidad hyena→mamba→retnet→attn+MoE (sin paper)Predicción jerárquica
expert (speculative)arch_expert_dilated_longnet~2.0BPirámide temporal: mamba+sw(1K→4K→16K)+global+MoE (sin paper)Extrapolación de Longnet + Jamba
expert (v1 B5)arch_expert_reasoning_r1~1.3BRazonamiento en 2 fases (think / answer)DeepSeek-R1 (2025), Quiet-STaR
expert (v1 B4.1)arch_expert_titans_memory~1.2BMemoria paramétrica + actualización en tiempo de testTitans (Google 2024–2025)
expert (v1 B3.2)arch_expert_dual_stream~1.4BParalelo monoidal (Mamba ∥ Attention)Generalización Jamba × PaLM
expert (capstone)arch_expert_kitchen_sinkCombina todas las primitivas en una sola spec para validación de superficie máximaValidació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~ActiveMirror ofRol pedagógico
arch_expert_progressive_stack_mini~86M~86March_expert_progressive_stackPrimer experimento RECOMENDADO
arch_expert_blackmamba_moe_mini~156M~90March_expert_blackmamba_moeMoE partial-sparse sobre SSM
arch_expert_mixtral_moe_mini~175M~90March_expert_mixtral_moeBaseline MoE clásico en cada capa
arch_expert_dilated_longnet_mini~83M~75March_expert_dilated_longnetPirámide temporal para largo contexto
arch_expert_deepseek_moe_mini~357M~60March_expert_deepseek_moe⚠ Observar el fallo del MoE fine-grained
arch_expert_frontier_full_moe_mini~106M~60March_expert_frontier_full_moe⚠ El más experimental; se espera que falle
arch_expert_dsv4_flash_mini NEW~180M~70MDeepSeek-V4DSv4 + atención comprimida Flash/NSA
arch_expert_dsv4_subset_mini NEW~180M~70MDeepSeek-V4Subconjunto de funciones DSv4
arch_expert_mhc_moe_mini NEW~150M~70MmHC + MoEResidual 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.

Escalasimplemistraljambamoemla
0.1Bllm_0p1b_simplellm_0p1b_mistralllm_0p1b_jamballm_0p1b_mla
0.8Bllm_0p8b_simplellm_0p8b_mistralllm_0p8b_jamballm_0p8b_moellm_0p8b_mla
2Bllm_2b_simplellm_2b_mistralllm_2b_jamballm_2b_moellm_2b_mla
4Bllm_4b_simplellm_4b_mistralllm_4b_jamballm_4b_moellm_4b_mla
16Bllm_16b_simplellm_16b_mistralllm_16b_jamballm_16b_moellm_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.

Referencia del CLI

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:).

Comandos principales

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

Opciones comunes

--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

CLI i18n en 5 idiomas

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.

eulerstack validate --preset my_model.yml
# Coreano (por defecto)

eulerstack --lang en validate --preset my_model.yml
# English

EULERSTACK_LANG=es eulerstack validate --preset my_model.yml
# También vía variable de entorno

Directorio de modelo HF → entrenamiento con EulerForge

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.

eulerstack compile --preset my_model.yml --output-dir ./my_model

# Cargar desde Python
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("./my_model", trust_remote_code=True)

Arquitectura de 5 capas

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

Tutoriales

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.

Tutoriales principales (11)

00_positioningLeer primero —— dónde encaja EulerStack: un lenguaje de descripción de arquitectura (ADL) para LLMs
01_validate_a_specValidar una spec YAML
02_use_presetsUsar presets
03_spec_referenceNEW — referencia de la spec
04_compile_and_explainCompile & explain
05_prepare_dataPreparar datos de entrenamiento
06_sanity_trainLoop de entrenamiento sanity
07_arch_walkthroughRecorrido arquitectónico por nivel de habilidad (17 presets arch_)
08_expert_mini_walkthroughRecorrido por los presets Expert Mini (ablation con una sola GPU)
09_new_primitives_walkthroughNEW —— nuevas primitivas v1 Phase B (MLA / Titans / MoD / Dual-Stream / Neural-ODE / TTT)
10_paper_to_yamlNEW —— casos paper → YAML (DeepSeek-V3 / Jamba / DeepSeek-R1 / Titans)

Profundización en mixers (mixers/, 5)

00_overviewVisión general — qué es un mixer y por qué mezclarlos (attention / mamba / retnet / hyena)
01_attentionAttention en detalle
02_mambaMamba en detalle
03_retnetRetNet en detalle
04_hyenaHyena en detalle

Los tutoriales están disponibles únicamente en coreano / inglés.

Instalación y quickstart

Instalación

pip install -e .

# o incluyendo dependencias de desarrollo
pip install -e ".[dev]"

Quickstart

# Explorar presets (coreano por defecto)
eulerstack presets list

# Validar la spec + reporte de realismo
eulerstack validate --preset my_model.yml --report

# Generar directorio HF → entrenar con EulerForge
eulerstack compile --preset my_model.yml --output-dir ./my_model

# Ejemplo cambiando a mensajes en inglés
eulerstack --lang en validate --preset my_model.yml

Diseña arquitecturas LLM con EulerStack

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