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 は無修正で動作します。
チュートリアルと CLI リファレンスは韓国語 / 英語のみで提供されます。
名前付きのレイヤーテンプレート(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 |
10 行ほどの宣言型スペックで、モデルの形をまるごと記述できます。
v0.1.5 スペック拡張(オプション、デフォルト OFF) — μP スケーリング・分化補助目的・組織(tissue)宣言:
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_moe、frontier_full_moe、progressive_stack、dilated_longnet)を含みます。
| レベル | プリセット | ~パラメータ | 一行説明 | 研究根拠 |
|---|---|---|---|---|
| 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 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 —— latent_dim で KV を圧縮 | DeepSeek-V3 (2024) |
| advanced (v1 B3.1) | arch_advanced_mod | ~1.1B | Mixture-of-Depths(トークン単位のレイヤースキップ) | 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(non-attn mixer に MoE) | 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 | DeepSeek-V4 スキーマ(V3 fallback 経路) | DeepSeek-V3/V4 |
| expert | arch_expert_retnet_moe | ~1.5B | RetNet + MoE (speculative・論文なし) | Sun 2023 + MoE 外挿 |
| expert | arch_expert_frontier_full_moe | ~2.0B | Attention-free, multi-mixer + all-MoE (最も speculative) | 構成予測 |
| expert | arch_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.3B | 2 段推論 (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.4B | Monoidal 並列 (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 | ~Active | Mirror of | 教育的役割 |
|---|---|---|---|---|
arch_expert_progressive_stack_mini | ~86M | ~86M | arch_expert_progressive_stack | 推奨される最初の実験 |
arch_expert_blackmamba_moe_mini | ~156M | ~90M | arch_expert_blackmamba_moe | SSM 上の partial-sparse MoE |
arch_expert_mixtral_moe_mini | ~175M | ~90M | arch_expert_mixtral_moe | 古典的な every-layer MoE ベースライン |
arch_expert_dilated_longnet_mini | ~83M | ~75M | arch_expert_dilated_longnet | 長文脈の時間ピラミッド |
arch_expert_deepseek_moe_mini | ~357M | ~60M | arch_expert_deepseek_moe | ⚠ fine-grained MoE の失敗を観察 |
arch_expert_frontier_full_moe_mini | ~106M | ~60M | arch_expert_frontier_full_moe | ⚠ 最も実験的; 失敗が予想される |
arch_expert_dsv4_flash_mini NEW | ~180M | ~70M | DeepSeek-V4 | DSv4 + Flash/NSA 圧縮アテンション |
arch_expert_dsv4_subset_mini NEW | ~180M | ~70M | DeepSeek-V4 | DSv4 機能サブセット |
arch_expert_mhc_moe_mini NEW | ~150M | ~70M | mHC + MoE | multi-Hyper-Connection 残差 + MoE |
llm_ — サイズ × アーキテクチャバリアント (24 種)5 サイズ(0.1B / 0.8B / 2B / 4B / 16B) × 5 バリアント(simple / mistral / jamba / moe / mla)。0.1B では moe を省略します。
| スケール | 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 |
バリアントの意味: 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_model、n_heads、レイヤー数を編集することで、任意規模のモデルを組み立てられます。
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 に出力 |
すべての CLI の help / ログ / 警告 / エラーメッセージは ko / en / zh / ja / es の 5 言語に翻訳されます。デフォルトは 韓国語(ko)で、--lang ルートオプションまたは環境変数 EULERSTACK_LANG で切り替えられます。コマンド / オプション名と 3 行エラーフォーマットの Fix: / See: ラベルは翻訳されないため、スクリプト互換性が保たれます。
compile --output-dir は config.json と model.safetensors を生成し、HuggingFace 互換のモデルディレクトリを作ります。これが EulerForge 学習パイプラインへ引き継ぐ主な経路です。
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}/)。以下のリンクは本サイトの英語版チュートリアルに対応します。日本語版は現時点では提供していません。
00_positioning | 最初に読む —— EulerStack の位置づけ:LLM のためのアーキテクチャ記述言語(ADL) |
|---|---|
01_validate_a_spec | YAML スペックを検証する |
02_use_presets | プリセットを使う |
03_spec_reference | NEW — スペックリファレンス |
04_compile_and_explain | Compile & explain |
05_prepare_data | 学習データの準備 |
06_sanity_train | Sanity トレーニングループ |
07_arch_walkthrough | スキルレベルアーキテクチャ走読(17 個の arch_ プリセット) |
08_expert_mini_walkthrough | Expert Mini プリセット走読(単一 GPU ablation) |
09_new_primitives_walkthrough | NEW —— v1 Phase B 新プリミティブ(MLA / Titans / MoD / Dual-Stream / Neural-ODE / TTT) |
10_paper_to_yaml | NEW —— 論文 → YAML 移植事例(DeepSeek-V3 / Jamba / DeepSeek-R1 / Titans) |
mixers/、5 編)00_overview | ミキサー概念の概要 — attention / mamba / retnet / hyena をなぜ混ぜるのか |
|---|---|
01_attention | Attention の詳細 |
02_mamba | Mamba の詳細 |
03_retnet | RetNet の詳細 |
04_hyena | Hyena の詳細 |
チュートリアルは韓国語 / 英語のみで提供されます。
YAML 1 枚で Attention、Mamba、RetNet、Hyena、MoE を組み合わせたハイブリッドモデルを組み立て、HuggingFace モデルディレクトリとしてそのまま引き渡せます。
GitHub で始める