EulerStack

YAML で LLM アーキテクチャを組み立てるモジュラービルダー

宣言型の YAML スペック 1 枚で LLM アーキテクチャを設計し、5 層パイプライン(DSL → Schema → IR → Compiler → CLI)で検証・正規化・コンパイルまで自動化します。2 軸(llm_ 16 × arch_ 15)で構成された 31 のプリセットを基本の出発点として提供し、compile --output-dir は HuggingFace モデルディレクトリ(config.json + model.safetensors)をそのまま出力して EulerForge 学習へ引き継げます。プリセットはあくまで出発点で、d_model / n_heads / レイヤー数を編集すれば任意規模のモデルを組み立てられ、すべての CLI メッセージは 5 言語(ko/en/zh/ja/es)に翻訳されます。

コア機能

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

検証 & リアリズム

スキーマ構造検証 → クロスフィールド互換性 → リアリズムヒューリスティックの 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: 2 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 }

プリセット: 2 軸 × 31 種

llm_(サイズ × バリアント 16 種)と arch_(スキルレベル走読 15 種)の 2 軸で構成されます。プリセットは出発点にすぎません。d_model / n_heads / レイヤー数を編集すれば、任意規模のモデルを組み立てられます。

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

4 サイズ(0.8B / 2B / 4B / 16B) × 4 バリアント(simple / mistral / jamba / moe)。

スケールsimplemistraljambamoe
0.8Bllm_0p8b_simple (~810M)llm_0p8b_mistral (~810M)llm_0p8b_jamba (~1.04B)llm_0p8b_moe (~770M)
2Bllm_2b_simple (~2.01B)llm_2b_mistral (~2.01B)llm_2b_jamba (~2.39B)llm_2b_moe (~2.05B)
4Bllm_4b_simple (~3.97B)llm_4b_mistral (~3.97B)llm_4b_jamba (~4.67B)llm_4b_moe (~4.03B)
16Bllm_16b_simple (~15.26B)llm_16b_mistral (~15.26B)llm_16b_jamba (~18.18B)llm_16b_moe (~15.71B)

バリアントの意味: 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)。

arch_ — スキルレベル走読 (15 種、すべて ~2B)

アーキテクチャ選択の違いだけを比較できるよう、スケールを ~2B に固定しています。Expert レベルは MoE × ミキサーを 2D 設計空間として交差させ、2 項目はまだ論文として発表されていない speculative な構成です。

レベルプリセット~パラメータ一行説明研究根拠
beginnerarch_beginner_gpt22.07BClassic Transformer (MHA + LayerNorm post + GeLU)Vaswani 2017, GPT-2
beginnerarch_beginner_llama2.01BModern baseline (GQA + RMSNorm pre + SwiGLU)Llama 2/3
intermediatearch_intermediate_mistral2.01B1 global : 3 sliding attentionMistral 7B
intermediatearch_intermediate_gemma22.08B1:1 alternating global/localGemma 2
intermediatearch_intermediate_qwen_longctx2.01BRoPE scaling factor 4, 32K ctxQwen 2/3
advancedarch_advanced_jamba2.39BMamba + Attention 3:1 ハイブリッドJamba-1.5 (AI21)
advancedarch_advanced_samba1.99BMamba + Sliding attention 1:1Samba (Microsoft)
advancedarch_advanced_retnet2.21BPure RetNet (attention-free)Sun 2023
expertarch_expert_research2.22B4 mixers + MoE 3-phaseResearch-grade
expertarch_expert_mixtral_moe1.89BPure attn + every-layer MoE (8 × top-2)Mixtral 8x7B
expertarch_expert_striped_hyena1.96BHyena + Attention 4:1, 128KStripedHyena
expertarch_expert_blackmamba_moe2.10BMamba + MoE(non-attn mixer に MoE)BlackMamba, MoE-Mamba
expertarch_expert_deepseek_moe1.84BFine-grained MoE (32 × top-3)DeepSeek-V2/V3
expertarch_expert_retnet_moe1.98BRetNet + MoE (speculative・論文なし)Sun 2023 + MoE-Mamba 外挿
expertarch_expert_frontier_full_moe1.93BAttention-free, multi-mixer + all-MoE (最も speculative)構成予測

上限なし — プリセットはあくまで出発点です。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 v2 スペック(宣言型モデル定義)
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}/ に提供されています。本ホームページには目次のみを掲載し、詳細はリポジトリで読んでください。

コアチュートリアル

quickstart.md言語中立な CLI ランディング(--lang 利用)
01_validate_a_spec.mdYAML スペックを検証する
02_use_presets.mdプリセットを使う
03_compile_and_explain.mdCompile & explain
04_prepare_data.md学習データの準備
05_sanity_train.mdSanity トレーニングループ
06_arch_walkthrough.mdNEW — 15 個の arch_ プリセットを順に辿るスキルレベル走読

ミキサー深掘り(mixers/

00_overview.mdミキサー概念の概要 — attention / mamba / retnet / hyena をなぜ混ぜるのか
01_attention.mdAttention の詳細
02_mamba.mdMamba の詳細
03_retnet.mdRetNet の詳細
04_hyena.mdHyena の詳細

すべてのチュートリアルは上流リポジトリで参照できます。

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

インストール

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 で始める