{
  "hf_id": "reflection/Beam-1.0-501B-A23B",
  "meta": {
    "title": "Beam-1.0-501B-A23B",
    "slug": "beam-1.0-501b-a23b",
    "provider": "Reflection",
    "description": "Reflection's Beam — a sparse MoE language model (501B total / 23B active) with hybrid sliding-window + NoPE full attention, a 1M-token window, Harmony-format reasoning and tool calling, and an optional DFlash2 speculative drafter. Available in NVFP4, FP8 and BF16.",
    "date_added": "2026-10-16",
    "date_updated": "2026-10-16",
    "tasks": [
      "text"
    ],
    "performance_headline": "501B/23B-active MoE with hybrid sliding-window attention, 1M context, and DFlash2 speculative decoding",
    "related_recipes": [],
    "hardware": {
      "b300": "verified",
      "h200": "verified",
      "mi300x": "unsupported",
      "mi325x": "unsupported",
      "mi350x": "unsupported",
      "mi355x": "unsupported"
    },
    "default_hardware": "b300"
  },
  "recommended_command": {
    "hardware": "b300",
    "strategy": "single_node_tp",
    "variant": "default",
    "node_count": 1,
    "deploy_type": "single_node",
    "env": {
      "VLLM_ENGINE_READY_TIMEOUT_S": "3600"
    },
    "docker_image": "vllm/vllm-openai:reflection-beam",
    "command": "vllm serve reflection/Beam-1.0-501B-A23B-NVFP4 \\\n  --kv-cache-dtype fp8 \\\n  --tensor-parallel-size 4 \\\n  --reasoning-parser beam \\\n  --enable-auto-tool-choice \\\n  --tool-call-parser beam",
    "argv": [
      "vllm",
      "serve",
      "reflection/Beam-1.0-501B-A23B-NVFP4",
      "--kv-cache-dtype",
      "fp8",
      "--tensor-parallel-size",
      "4",
      "--reasoning-parser",
      "beam",
      "--enable-auto-tool-choice",
      "--tool-call-parser",
      "beam"
    ],
    "docker_command": "docker run --gpus all \\\n  --privileged --ipc=host -p 8000:8000 \\\n  -v ~/.cache/huggingface:/root/.cache/huggingface \\\n  -e VLLM_ENGINE_READY_TIMEOUT_S=3600 \\\n  vllm/vllm-openai:reflection-beam reflection/Beam-1.0-501B-A23B-NVFP4 \\\n  --kv-cache-dtype fp8 \\\n  --tensor-parallel-size 4 \\\n  --reasoning-parser beam \\\n  --enable-auto-tool-choice \\\n  --tool-call-parser beam",
    "docker_argv": [
      "docker",
      "run",
      "--gpus",
      "all",
      "--privileged",
      "--ipc=host",
      "-p",
      "8000:8000",
      "-v",
      "~/.cache/huggingface:/root/.cache/huggingface",
      "-e",
      "VLLM_ENGINE_READY_TIMEOUT_S=3600",
      "vllm/vllm-openai:reflection-beam",
      "reflection/Beam-1.0-501B-A23B-NVFP4",
      "--kv-cache-dtype",
      "fp8",
      "--tensor-parallel-size",
      "4",
      "--reasoning-parser",
      "beam",
      "--enable-auto-tool-choice",
      "--tool-call-parser",
      "beam"
    ],
    "strategy_spec": {
      "name": "single_node_tp",
      "deploy_type": "single_node",
      "display_name": "Tensor Parallel",
      "short_label": "TP",
      "orientation": "latency",
      "description": "Single-node tensor parallel. Splits the model across all local GPUs. TP size is set to the GPU count at deploy time. The simplest multi-GPU strategy — works for all model architectures.\n",
      "hardware_match": {
        "min_gpus": 1,
        "max_gpus": 8,
        "multi_node": false
      },
      "vllm_args": [],
      "parallel_flag": "--tensor-parallel-size"
    },
    "hardware_profile": {
      "brand": "NVIDIA",
      "generation": "blackwell",
      "compute_arch": "sm103",
      "display_name": "B300",
      "description": "NVIDIA B300 SXM 268 GB HBM3e · 8-GPU HGX B300 node (Blackwell Ultra)",
      "gpu_count": 8,
      "vram_gb": 2144,
      "multi_node": false
    },
    "alternatives": {
      "single_node_tep": "/reflection/Beam-1.0-501B-A23B/strategies/single_node_tep.json",
      "single_node_dep": "/reflection/Beam-1.0-501B-A23B/strategies/single_node_dep.json",
      "kv_store_centralized_mooncake": "/reflection/Beam-1.0-501B-A23B/strategies/kv_store_centralized_mooncake.json",
      "kv_store_distributed_mooncake": "/reflection/Beam-1.0-501B-A23B/strategies/kv_store_distributed_mooncake.json"
    },
    "by_hardware": {
      "b300": "/reflection/Beam-1.0-501B-A23B/hw/b300.json",
      "h100": "/reflection/Beam-1.0-501B-A23B/hw/h100.json",
      "h200": "/reflection/Beam-1.0-501B-A23B/hw/h200.json",
      "b200": "/reflection/Beam-1.0-501B-A23B/hw/b200.json",
      "gb200": "/reflection/Beam-1.0-501B-A23B/hw/gb200.json",
      "gb300": "/reflection/Beam-1.0-501B-A23B/hw/gb300.json"
    }
  },
  "model": {
    "model_id": "reflection/Beam-1.0-501B-A23B",
    "min_vllm_version": "0.33.0",
    "docker_image": {
      "cu130": "vllm/vllm-openai:reflection-beam"
    },
    "architecture": "moe",
    "parameter_count": "501B",
    "active_parameters": "23B",
    "context_length": 1048576,
    "base_args": [
      "--kv-cache-dtype",
      "fp8"
    ],
    "base_env": {
      "VLLM_ENGINE_READY_TIMEOUT_S": "3600"
    },
    "install": {
      "docker": {
        "command": "docker pull vllm/vllm-openai:reflection-beam",
        "note": "Beam support hasn't landed in a vLLM release yet, so it ships only in this image. Use Docker until it does."
      }
    }
  },
  "features": {
    "reasoning": {
      "description": "Beam reasoning parser — splits the Harmony `analysis` channel into `reasoning_content`. Reads the checkpoint's `response_template`.",
      "args": [
        "--reasoning-parser",
        "beam"
      ]
    },
    "tool_calling": {
      "description": "Beam tool-call parser with automatic tool choice — tool-call grammar derived from the checkpoint's `response_template`.",
      "args": [
        "--enable-auto-tool-choice",
        "--tool-call-parser",
        "beam"
      ]
    },
    "spec_decoding": {
      "label": "DFlash2",
      "description": "DFlash2 speculative decoding with the Beam-trained drafter (DFlash2BeamDraftModel, 5 layers, block size 16), drafting 7 tokens per step. method is dflash; DFlash2 is selected by the draft architecture. The drafter runs on FlashAttention, and adaptive verification checks only the draft tokens likely to be accepted.",
      "args": [
        "--speculative-config",
        "{\"method\":\"dflash\",\"model\":\"reflection/Beam-1.0-501B-A23B-DFlash2\",\"num_speculative_tokens\":7,\"attention_backend\":\"FLASH_ATTN\",\"enable_adaptive_verification\":true}"
      ]
    }
  },
  "opt_in_features": [
    "spec_decoding"
  ],
  "variants": {
    "default": {
      "model_id": "reflection/Beam-1.0-501B-A23B-NVFP4",
      "precision": "nvfp4",
      "vram_minimum_gb": 353,
      "description": "ModelOpt NVFP4 on the routed experts; all other weights BF16. W4A4 on Blackwell; W4A16 through Marlin on Hopper. Recommended on Blackwell and H100.",
      "precision_hardware": {
        "brand": "NVIDIA"
      },
      "supported_hardware": [
        "arch:sm90",
        "arch:sm100",
        "arch:sm103"
      ],
      "tp": {
        "blackwell": 4
      },
      "hardware_overrides": {
        "hopper": {
          "extra_args": [
            "--moe-backend",
            "marlin"
          ]
        }
      },
      "json": "/reflection/Beam-1.0-501B-A23B-NVFP4.json"
    },
    "fp8": {
      "model_id": "reflection/Beam-1.0-501B-A23B-FP8",
      "precision": "fp8",
      "vram_minimum_gb": 604,
      "description": "FP8 per-channel weights (compressed-tensors); router, embeddings and lm_head unquantized. Recommended on H200.",
      "extra_args": [
        "--moe-backend",
        "triton"
      ],
      "json": "/reflection/Beam-1.0-501B-A23B-FP8.json"
    },
    "bf16": {
      "model_id": "reflection/Beam-1.0-501B-A23B",
      "precision": "bf16",
      "vram_minimum_gb": 1204,
      "description": "Native BF16 checkpoint (FP32 router weights and expert biases). Requires one 8x B200 or B300 node.",
      "supported_hardware": [
        "b200",
        "b300"
      ],
      "extra_args": [
        "--kv-cache-dtype",
        "auto"
      ]
    }
  },
  "guide": "## Overview\n\n[Beam](https://huggingface.co/reflection/Beam-1.0-501B-A23B) is Reflection's\nsparse mixture-of-experts language model, with 501B total parameters and 23B\nactive parameters per token. Its 52 layers combine 512-token sliding-window\nattention with NoPE full-attention layers, route each token through 8 of 256\nexperts (layers 0-2 use dense MLPs), and support a context length of\n1,048,576 tokens.\n\nBeam uses the Harmony message format, with an `analysis` channel for\nreasoning and a `final` channel for the answer. Generation stops on\n`<|return|>` at the end of an answer and on `<|call|>` at the end of a tool\ncall.\n\n## Variants\n\n| Variant | Checkpoint | Weights on disk | Minimum GPU memory | Recommended hardware |\n|---|---|---|---|---|\n| NVFP4 (default) | [`reflection/Beam-1.0-501B-A23B-NVFP4`](https://huggingface.co/reflection/Beam-1.0-501B-A23B-NVFP4) | 294 GB | 353 GB | 4x B200/B300 or one GB200/GB300 tray (TP4); 8x H100 (TP8, Marlin) |\n| FP8 | [`reflection/Beam-1.0-501B-A23B-FP8`](https://huggingface.co/reflection/Beam-1.0-501B-A23B-FP8) | 503 GB | 604 GB | 8x H200 (TP8) |\n| BF16 | [`reflection/Beam-1.0-501B-A23B`](https://huggingface.co/reflection/Beam-1.0-501B-A23B) | 1,003 GB | 1,204 GB | 8x B200/B300 (TP8) |\n\n*Minimum GPU memory* is the weights plus 20% headroom for activations,\nCUDA graphs and a working KV cache. It is the total across all GPUs, and\nit is the figure the variant selector above shows.\n\nThe NVFP4 checkpoint quantizes only the routed experts; attention, dense\nMLPs, the router, embeddings and the LM head stay in BF16. On Blackwell it\nruns W4A4; on Hopper, vLLM serves the FP4 experts through Marlin with BF16\nactivations.\n\n## Prerequisites\n\n- **vLLM:** the `vllm/vllm-openai:reflection-beam` Docker image. Beam\n  support has not shipped in a vLLM release yet.\n- **Hardware:** NVIDIA GPUs. Beam's kernels, including a custom all-reduce\n  used with expert parallelism, are CUDA-only.\n- **Transformers:** the tokenizer uses the Transformers 5 format\n  (`TokenizersBackend`).\n\n### Install vLLM\n\n```bash\ndocker pull vllm/vllm-openai:reflection-beam\n```\n\nThe `vllm serve` commands below run inside this image; the command builder\nabove renders the full `docker run` line.\n\n## Launching the server\n\n### FP8 with TP8 on H200 or Blackwell\n\n```bash\nvllm serve reflection/Beam-1.0-501B-A23B-FP8 \\\n  --tensor-parallel-size 8 \\\n  --moe-backend triton \\\n  --kv-cache-dtype fp8 \\\n  --enable-auto-tool-choice \\\n  --tool-call-parser beam \\\n  --reasoning-parser beam\n```\n\nThis is the best-performing FP8 configuration measured on both H200 and\nB300. Set `--moe-backend triton` explicitly; vLLM otherwise selects CUTLASS\nfor the FP8 MoE. vLLM's default attention backends, FlashAttention 3 on\nHopper and FlashInfer with TRT-LLM kernels on Blackwell, are already the\nfastest measured.\n\n### NVFP4 with TP4 on Blackwell\n\n```bash\nvllm serve reflection/Beam-1.0-501B-A23B-NVFP4 \\\n  --tensor-parallel-size 4 \\\n  --kv-cache-dtype fp8 \\\n  --enable-auto-tool-choice \\\n  --tool-call-parser beam \\\n  --reasoning-parser beam\n```\n\nAt TP4 the weights take about 73 GB per GPU, leaving room for the full\ncontext window many times over; an 8-GPU node can host two replicas. The\nfirst start takes about 10 minutes because FlashInfer autotunes the MoE\nkernel. That is close to vLLM's default 600 s engine-ready timeout, so the\ngenerated command sets `VLLM_ENGINE_READY_TIMEOUT_S=3600`.\n\n### NVFP4 with TP8 on H100\n\n```bash\nvllm serve reflection/Beam-1.0-501B-A23B-NVFP4 \\\n  --tensor-parallel-size 8 \\\n  --moe-backend marlin \\\n  --kv-cache-dtype fp8 \\\n  --enable-auto-tool-choice \\\n  --tool-call-parser beam \\\n  --reasoning-parser beam\n```\n\nSet `--moe-backend marlin` explicitly; it is faster than the backend vLLM\nselects by default on Hopper. The FP8 checkpoint also fits on 8x H100 but\nleaves much less memory for the KV cache.\n\n### BF16 with TP8 on Blackwell\n\n```bash\nvllm serve reflection/Beam-1.0-501B-A23B \\\n  --tensor-parallel-size 8 \\\n  --enable-auto-tool-choice \\\n  --tool-call-parser beam \\\n  --reasoning-parser beam\n```\n\n### Tuning\n\n- **KV cache dtype:** the NVFP4 and FP8 commands use\n  `--kv-cache-dtype fp8`, which halves KV memory per token (on 8x H200 with\n  the FP8 checkpoint, about 14M to 28M tokens). The BF16 command keeps the\n  KV cache in BF16.\n- **Parallelism:** tensor parallelism is the recommended single-node layout.\n  TEP (`--enable-expert-parallel`) and DEP (`--data-parallel-size 8\n  --enable-expert-parallel`) are also supported; DEP is better suited to\n  very large batch sizes.\n\n### MegaMoE with attention DP (NVFP4, Blackwell)\n\nFor prefill-heavy, high-concurrency traffic, run attention data-parallel\nwith expert parallelism on FlashInfer's CuTe DSL NVFP4 MegaMoE kernel,\nwhich overlaps the expert all-to-all with the expert GEMMs. Start from the\nNVFP4 command and replace the parallel and MoE settings:\n\n```bash\nvllm serve reflection/Beam-1.0-501B-A23B-NVFP4 \\\n  --data-parallel-size 4 \\\n  --enable-expert-parallel \\\n  --moe-backend flashinfer_moe_ep_cutedsl \\\n  --kv-cache-dtype fp8 \\\n  --enable-auto-tool-choice \\\n  --tool-call-parser beam \\\n  --reasoning-parser beam\n```\n\n- Only for DEP (`--data-parallel-size` with `--enable-expert-parallel`).\n  It does not support TEP or pure TP.\n- Use `--data-parallel-size 4` on a GB200/GB300 tray or four B200/B300\n  GPUs, and `8` across a full 8-GPU node.\n- For low-latency serving, stay on TP4 with `flashinfer_trtllm`.\n\n### DFlash2 speculative decoding\n\nThe DFlash2 drafter\n([`reflection/Beam-1.0-501B-A23B-DFlash2`](https://huggingface.co/reflection/Beam-1.0-501B-A23B-DFlash2))\nshares the target model's embeddings and LM head:\n\n```bash\n--speculative-config '{\"method\":\"dflash\",\"model\":\"reflection/Beam-1.0-501B-A23B-DFlash2\",\"num_speculative_tokens\":7,\"attention_backend\":\"FLASH_ATTN\",\"enable_adaptive_verification\":true}'\n```\n\nWith `enable_adaptive_verification`, vLLM predicts how likely each draft\ntoken is to be accepted and verifies only the ones worth the compute,\nrather than all 7 every step. It makes little difference at low\nconcurrency and raises throughput under load. Remove it to verify the\nfull draft every step.\n\nThe drafter supports up to 15 speculative tokens; 7 is recommended. It\nspeeds up decoding most at low concurrency and adds about 1.7 GB per GPU,\nwhich reduces KV-cache capacity. Acceptance depends on natural-language\ninput, so benchmark it with a real-text dataset rather than\n`--dataset-name random`.\n\n### Output constraints\n\nBy default, the `beam` output grammar constrains every assistant turn from\nits first token (reasoning, then an answer or a tool call). Set\n`VLLM_BEAM_ALWAYS_CONSTRAIN_OUTPUT=0` to disable it.\n\n## Client usage\n\n```bash\ncurl http://localhost:8000/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"reflection/Beam-1.0-501B-A23B-NVFP4\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Hello.\"}]\n  }'\n```\n\nSet `model` to the checkpoint being served: `reflection/Beam-1.0-501B-A23B-NVFP4`,\n`reflection/Beam-1.0-501B-A23B-FP8`, or `reflection/Beam-1.0-501B-A23B` for\nBF16. `/v1/models` lists the served name.\n\n### Reasoning effort\n\nBeam reasons at the maximum effort, `max` (512), unless the request sets\n`reasoning_effort`:\n\n```bash\ncurl http://localhost:8000/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"reflection/Beam-1.0-501B-A23B-NVFP4\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"What is 17 * 19?\"}],\n    \"reasoning_effort\": \"low\"\n  }'\n```\n\nThe Rust frontend (`VLLM_USE_RUST_FRONTEND=1`) serves `/v1/chat/completions`\nand `/v1/completions`, but not yet `/v1/responses` or the Anthropic-compatible\n`/v1/messages` (both return 404). Use the default Python frontend for those\nAPIs.\n\n## References\n\n- [Beam model card](https://huggingface.co/reflection/Beam-1.0-501B-A23B)\n- [Beam FP8](https://huggingface.co/reflection/Beam-1.0-501B-A23B-FP8)\n- [Beam NVFP4](https://huggingface.co/reflection/Beam-1.0-501B-A23B-NVFP4)\n- [DFlash2 drafter](https://huggingface.co/reflection/Beam-1.0-501B-A23B-DFlash2)\n",
  "source": {
    "source": "vllm",
    "repo": "vllm-project/vllm",
    "ref": "main",
    "sha": "389ffebe555705c85337025d5df108d0384d365e",
    "path": "recipes/models/reflection/Beam-1.0-501B-A23B.yaml",
    "edit_url": "https://github.com/vllm-project/vllm/edit/main/recipes/models/reflection/Beam-1.0-501B-A23B.yaml",
    "overlays": []
  }
}