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)に翻訳されます。
名前付きのレイヤーテンプレート(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 |
10 行ほどの宣言型スペックで、モデルの形をまるごと記述できます。
llm_(サイズ × バリアント 16 種)と arch_(スキルレベル走読 15 種)の 2 軸で構成されます。プリセットは出発点にすぎません。d_model / n_heads / レイヤー数を編集すれば、任意規模のモデルを組み立てられます。
llm_ — サイズ × アーキテクチャバリアント (16 種)4 サイズ(0.8B / 2B / 4B / 16B) × 4 バリアント(simple / mistral / jamba / moe)。
| スケール | simple | mistral | jamba | moe |
|---|---|---|---|---|
| 0.8B | llm_0p8b_simple (~810M) | llm_0p8b_mistral (~810M) | llm_0p8b_jamba (~1.04B) | llm_0p8b_moe (~770M) |
| 2B | llm_2b_simple (~2.01B) | llm_2b_mistral (~2.01B) | llm_2b_jamba (~2.39B) | llm_2b_moe (~2.05B) |
| 4B | llm_4b_simple (~3.97B) | llm_4b_mistral (~3.97B) | llm_4b_jamba (~4.67B) | llm_4b_moe (~4.03B) |
| 16B | llm_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 な構成です。
| レベル | プリセット | ~パラメータ | 一行説明 | 研究根拠 |
|---|---|---|---|---|
| beginner | arch_beginner_gpt2 | 2.07B | Classic Transformer (MHA + LayerNorm post + GeLU) | Vaswani 2017, GPT-2 |
| beginner | arch_beginner_llama | 2.01B | Modern baseline (GQA + RMSNorm pre + SwiGLU) | Llama 2/3 |
| intermediate | arch_intermediate_mistral | 2.01B | 1 global : 3 sliding attention | Mistral 7B |
| intermediate | arch_intermediate_gemma2 | 2.08B | 1:1 alternating global/local | Gemma 2 |
| intermediate | arch_intermediate_qwen_longctx | 2.01B | RoPE scaling factor 4, 32K ctx | Qwen 2/3 |
| advanced | arch_advanced_jamba | 2.39B | Mamba + Attention 3:1 ハイブリッド | Jamba-1.5 (AI21) |
| advanced | arch_advanced_samba | 1.99B | Mamba + Sliding attention 1:1 | Samba (Microsoft) |
| advanced | arch_advanced_retnet | 2.21B | Pure RetNet (attention-free) | Sun 2023 |
| expert | arch_expert_research | 2.22B | 4 mixers + MoE 3-phase | Research-grade |
| expert | arch_expert_mixtral_moe | 1.89B | Pure attn + every-layer MoE (8 × top-2) | Mixtral 8x7B |
| expert | arch_expert_striped_hyena | 1.96B | Hyena + Attention 4:1, 128K | StripedHyena |
| expert | arch_expert_blackmamba_moe | 2.10B | Mamba + MoE(non-attn mixer に MoE) | BlackMamba, MoE-Mamba |
| expert | arch_expert_deepseek_moe | 1.84B | Fine-grained MoE (32 × top-3) | DeepSeek-V2/V3 |
| expert | arch_expert_retnet_moe | 1.98B | RetNet + MoE (speculative・論文なし) | Sun 2023 + MoE-Mamba 外挿 |
| expert | arch_expert_frontier_full_moe | 1.93B | Attention-free, multi-mixer + all-MoE (最も speculative) | 構成予測 |
上限なし — プリセットはあくまで出発点です。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 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.md | YAML スペックを検証する |
02_use_presets.md | プリセットを使う |
03_compile_and_explain.md | Compile & explain |
04_prepare_data.md | 学習データの準備 |
05_sanity_train.md | Sanity トレーニングループ |
06_arch_walkthrough.md | NEW — 15 個の arch_ プリセットを順に辿るスキルレベル走読 |
mixers/)00_overview.md | ミキサー概念の概要 — attention / mamba / retnet / hyena をなぜ混ぜるのか |
|---|---|
01_attention.md | Attention の詳細 |
02_mamba.md | Mamba の詳細 |
03_retnet.md | RetNet の詳細 |
04_hyena.md | Hyena の詳細 |
すべてのチュートリアルは上流リポジトリで参照できます。
YAML 1 枚で Attention、Mamba、RetNet、Hyena、MoE を組み合わせたハイブリッドモデルを組み立て、HuggingFace モデルディレクトリとしてそのまま引き渡せます。
GitHub で始める