EulerStack

LLM のためのアーキテクチャ記述言語(ADL)

EulerStack は LLM のためのアーキテクチャ記述言語(Architecture Description Language)です。構造・学習・サービングが絡み合って一つの PyTorch モデルファイルに居座っている状態から「アーキテクチャ」という軸だけを切り出し、そのための専用の宣言的言語で記述します —— 半導体業界が schematics+C を Verilog/VHDL に置き換えた抽象化の一段階と同じ方向性です。1 枚の YAML スペックが 5 層パイプライン(DSL → Schema → IR → Compiler → CLI)を通って検証・正規化・コンパイルされ、compile --output-dir は HuggingFace モデルディレクトリ(config.json + model.safetensors)を直接出力し、そのまま EulerForge 学習に引き継げます。57 のプリセット(24 llm_ + 33 arch_、そのうち arch_expert_*_mini 9 種)が 3 段の学習パス(検証済み産業標準 → 最近のハイブリッド/MoE → v1 実験プリミティブ)に沿って整理されており、すべての CLI メッセージは 5 言語(ko / en / zh / ja / es)に翻訳されます。v0.1.5 では μP スケーリング(training_hints.scaling)、分化補助目的(training_hints.differentiation_objectives)、組織宣言(tissue)を後方互換のスペック拡張として追加しました —— いずれもデフォルト OFF で、既存の v0.1.4 YAML は無修正で動作します。

Tutorials (16 parts, EN) CLI Reference (EN)

チュートリアルと CLI リファレンスは韓国語 / 英語のみで提供されます。

コア機能

Layer Templates & Schedule

名前付きのレイヤーテンプレート(mixer + FFN + norm + residual)を定義し、スケジュールで配置順と繰り返し回数を指定します。

ミキサータイプ Attention, Mamba, RetNet, Hyena
FFN タイプ MLP, Gated MLP (SwiGLU), MoE (top-k ルーティング)
Norm RMSNorm, LayerNorm (pre/post 配置)
Residual Sequential, Parallel, Hyper-Connection (mHC)
Head causal_lm, causal_lm_mtp (Multi-Token Prediction)

検証 & リアリズム

スキーマ構造検証 → クロスフィールド互換性 → リアリズムヒューリスティックの 3 段階で、設計エラーをコンパイル前に捕捉します。すべてのエラーは 3 行フォーマット(Category: what / Fix: / See:)で出力されます。

構造検証 unknown key、型/enum、必須フィールド、正の値制約
互換性 mixer ↔ state の不一致(例: mamba + kv_cache は不可)
リアリズム head_dim の範囲(32–256)、target_params の乖離(>30%)、MoE エキスパート比、seq_len/d_model 比、family_hint の整合性、vocab/tokenizer の整合性、tie_weight の整合性、rope_scaling の範囲
エラー種別 ValidationError, CompatibilityError, CompileError, NormalizationError

YAML 1 枚からはじめる

10 行ほどの宣言型スペックで、モデルの形をまるごと記述できます。

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 }

v0.1.5 スペック拡張(オプション、デフォルト OFF) — μP スケーリング・分化補助目的・組織(tissue)宣言:

# 上記スペックに以下を追加(既存 YAML は無修正で互換) training_hints: scaling: { parametrization: mup, base_width: 256 } # μP (W-AS-1) differentiation_objectives: { usage_probe_coef: 0.01 } # 分化補助目的 (W-AS-2) tissue: # 組織/カラム宣言 (W-AS-3) columns: - { name: global_integration, templates: [decoder], role: global_binding } connectivity: ring

プリセット: 3 段階層の 57 種

v1 の 「industrial ordering principle」に従い、検証済み産業標準 → 最近のハイブリッド/MoE → v1 実験プリミティブの順に整理されています。学習パスをそのまま辿るだけで構いません —— 業界がすでに検証したものから始め、最新のハイブリッド/MoE 研究を経て、最後に v1 で導入した新プリミティブ(MLA / MoD / Titans / Dual-Stream など)を arch スケールで実験します。合計 24 llm_ + 33 arch_ = 57 種(33 arch_ = beginner 2 · intermediate 3 · advanced 5 · expert 23、expert のうち *_mini 9 種)。プリセットは出発点にすぎず、d_model / n_heads / レイヤー数を調整すれば任意規模のモデルを組み立てられます。

arch_ — スキルレベル走読

24 GB GPU で実験が収まるようサイズ調整されたプリセットです(原論文に対して d_model を縮小)。論文スケールでの再現には d_model を増やしてください。Expert レベルは MoE × ミキサー × 深さ / 受容野の 3D 設計空間に拡張され、まだ論文として発表されていない 4 つの speculative な構成retnet_moefrontier_full_moeprogressive_stackdilated_longnet)を含みます。

レベルプリセット~パラメータ一行説明研究根拠
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 3:1 ハイブリッドJamba-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 —— latent_dim で KV を圧縮DeepSeek-V3 (2024)
advanced (v1 B3.1)arch_advanced_mod~1.1BMixture-of-Depths(トークン単位のレイヤースキップ)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(non-attn mixer に MoE)BlackMamba, MoE-Mamba
expertarch_expert_deepseek_moe~2.0BFine-grained MoE (32 × top-3)DeepSeek-V2/V3
expert NEWarch_expert_dsv4_v3fallback~2.0BDeepSeek-V4 スキーマ(V3 fallback 経路)DeepSeek-V3/V4
expertarch_expert_retnet_moe~1.5BRetNet + MoE (speculative・論文なし)Sun 2023 + MoE 外挿
expertarch_expert_frontier_full_moe~2.0BAttention-free, multi-mixer + all-MoE (最も speculative)構成予測
expertarch_expert_progressive_stack~1.5B深さ方向 hyena→mamba→retnet→attn+MoE(論文なし階層的予測
expert (speculative)arch_expert_dilated_longnet~2.0B時間ピラミッド: mamba+sw(1K→4K→16K)+global+MoE(論文なしLongnet + Jamba 外挿
expert (v1 B5)arch_expert_reasoning_r1~1.3B2 段推論 (think / answer)DeepSeek-R1 (2025), Quiet-STaR
expert (v1 B4.1)arch_expert_titans_memory~1.2Bパラメトリック記憶 + テスト時更新Titans (Google 2024–2025)
expert (v1 B3.2)arch_expert_dual_stream~1.4BMonoidal 並列 (Mamba ∥ Attention)Jamba × PaLM の一般化
expert (capstone)arch_expert_kitchen_sink全プリミティブを 1 スペックに結合した最大面検証総合検証

arch_expert_*_mini — 小規模 speculative 実験 (9 種、~80M–360M)

speculative な expert アーキテクチャの小規模バリアントです。同じ設計思想のまま、d_model 384–512・約 12 レイヤーに縮小し、単一のコンシューマー GPU でフル訓練 ablation が収まるようにしています。2B のフル学習に入る前にアーキテクチャ仮説を素早く検証するための用途です。最初は arch_expert_progressive_stack_mini が推奨です。

プリセット~Total~ActiveMirror of教育的役割
arch_expert_progressive_stack_mini~86M~86March_expert_progressive_stack推奨される最初の実験
arch_expert_blackmamba_moe_mini~156M~90March_expert_blackmamba_moeSSM 上の partial-sparse MoE
arch_expert_mixtral_moe_mini~175M~90March_expert_mixtral_moe古典的な every-layer MoE ベースライン
arch_expert_dilated_longnet_mini~83M~75March_expert_dilated_longnet長文脈の時間ピラミッド
arch_expert_deepseek_moe_mini~357M~60March_expert_deepseek_moe⚠ fine-grained MoE の失敗を観察
arch_expert_frontier_full_moe_mini~106M~60March_expert_frontier_full_moe⚠ 最も実験的; 失敗が予想される
arch_expert_dsv4_flash_mini NEW~180M~70MDeepSeek-V4DSv4 + Flash/NSA 圧縮アテンション
arch_expert_dsv4_subset_mini NEW~180M~70MDeepSeek-V4DSv4 機能サブセット
arch_expert_mhc_moe_mini NEW~150M~70MmHC + MoEmulti-Hyper-Connection 残差 + MoE

llm_ — サイズ × アーキテクチャバリアント (24 種)

5 サイズ(0.1B / 0.8B / 2B / 4B / 16B) × 5 バリアント(simple / mistral / jamba / moe / mla)。0.1B では moe を省略します。

スケールsimplemistraljambamoemla
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

バリアントの意味: simple = 純 Attention(Llama) · mistral = Attention + Sliding Window(4 レイヤーあたり 1 global : 3 sliding) · jamba = Mamba + Attention ハイブリッド(3:1) · moe = Attention + MoE FFN(4 レイヤーごとに 1 層、8 エキスパート、top-2) · mla = Multi-head Latent Attention(DeepSeek-V3 流 KV 圧縮)。

上限なし — プリセットはあくまで出発点です。EulerStack は d_modeln_heads、レイヤー数を編集することで、任意規模のモデルを組み立てられます。

CLI リファレンス

eulerwa 製品群共通の CLI 規約に従います。すべてのエラーは 3 行フォーマット(Category: what / Fix: / See:)で出力されます。

トップレベルコマンド

validate YAML スペック検証(--report でリアリズムレポート付き)
explain モデル構造の要約(レイヤー、パラメータ推定)
compile IR → JSON ランタイム設定(--output)または HF モデルディレクトリ(--output-dir
schema YAML スキーマ構造の出力
presets list / show プリセット一覧と詳細情報の表示

共通オプション

--lang 出力言語(ko/en/zh/ja/es)。ルートオプション、デフォルトは ko
--preset YAML スペックファイルのパス
--validate-only 検証のみ実行して終了
--output / -o JSON ランタイム設定の出力パス
--output-dir HF モデルディレクトリの出力(config.json + model.safetensors)
--print-config / --dry-run 設定のみを stdout に出力

5 言語 i18n CLI

すべての CLI の help / ログ / 警告 / エラーメッセージは ko / en / zh / ja / es の 5 言語に翻訳されます。デフォルトは 韓国語(ko)で、--lang ルートオプションまたは環境変数 EULERSTACK_LANG で切り替えられます。コマンド / オプション名と 3 行エラーフォーマットの Fix: / See: ラベルは翻訳されないため、スクリプト互換性が保たれます。

eulerstack validate --preset my_model.yml
# 韓国語(デフォルト)

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

EULERSTACK_LANG=ja eulerstack validate --preset my_model.yml
# 環境変数でも切り替え可能

HF モデルディレクトリ → EulerForge 学習

compile --output-dirconfig.jsonmodel.safetensors を生成し、HuggingFace 互換のモデルディレクトリを作ります。これが EulerForge 学習パイプラインへ引き継ぐ主な経路です。

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

# Python からロード
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("./my_model", trust_remote_code=True)

5 層アーキテクチャ

YAML スペックから学習可能なモデルまで、5 つの層が各段階の責任を厳密に分離します。

Layer 1: DSL ユーザーが書く YAML スペック(schema_version 1, 宣言型モデル定義)
Layer 2: Schema 構造検証 — unknown key、型/enum、必須フィールド、クロスフィールド互換性
Layer 3: IR 正規化された canonical 構造表現(デフォルト値埋め、テンプレート展開)
Layer 4: Compiler IR → JSON ランタイム設定、または HF モデルディレクトリ(config.json + model.safetensors)— AutoModelForCausalLM.from_pretrained() で読み込んで EulerForge の学習に連結
Layer 5: CLI validate / explain / compile / schema / presets — すべて 5 言語 i18n 対応

チュートリアル

チュートリアルは韓国語(ko)と英語(en)で並行して提供されています(上流リポジトリのパス: docs/tutorials/{ko,en}/)。以下のリンクは本サイトの英語版チュートリアルに対応します。日本語版は現時点では提供していません。

コアチュートリアル(11 編)

00_positioning最初に読む —— EulerStack の位置づけ:LLM のためのアーキテクチャ記述言語(ADL)
01_validate_a_specYAML スペックを検証する
02_use_presetsプリセットを使う
03_spec_referenceNEW — スペックリファレンス
04_compile_and_explainCompile & explain
05_prepare_data学習データの準備
06_sanity_trainSanity トレーニングループ
07_arch_walkthroughスキルレベルアーキテクチャ走読(17 個の arch_ プリセット)
08_expert_mini_walkthroughExpert Mini プリセット走読(単一 GPU ablation)
09_new_primitives_walkthroughNEW —— v1 Phase B 新プリミティブ(MLA / Titans / MoD / Dual-Stream / Neural-ODE / TTT)
10_paper_to_yamlNEW —— 論文 → YAML 移植事例(DeepSeek-V3 / Jamba / DeepSeek-R1 / Titans)

ミキサー深掘り(mixers/、5 編)

00_overviewミキサー概念の概要 — attention / mamba / retnet / hyena をなぜ混ぜるのか
01_attentionAttention の詳細
02_mambaMamba の詳細
03_retnetRetNet の詳細
04_hyenaHyena の詳細

チュートリアルは韓国語 / 英語のみで提供されます。

インストールとクイックスタート

インストール

pip install -e .

# あるいは開発依存を含める
pip install -e ".[dev]"

クイックスタート

# プリセット探索(韓国語デフォルト)
eulerstack presets list

# スペック検証 + リアリズムレポート
eulerstack validate --preset my_model.yml --report

# HF モデルディレクトリ生成 → EulerForge 学習へ
eulerstack compile --preset my_model.yml --output-dir ./my_model

# 英語メッセージに切り替える例
eulerstack --lang en validate --preset my_model.yml

EulerStack で LLM アーキテクチャを設計しましょう

YAML 1 枚で Attention、Mamba、RetNet、Hyena、MoE を組み合わせたハイブリッドモデルを組み立て、HuggingFace モデルディレクトリとしてそのまま引き渡せます。

GitHub で始める