AWS Deployment Reference · Independently Verified

Open-Weight Frontier Models on AWS

Can GLM-5.2, Kimi K3, MiniMax M3, Qwen 3.8 and DeepSeek V4 actually run on AWS? A source-linked matrix across Bedrock Custom Model Import, SageMaker and raw EC2 — with every architecture string, weight size, context length and license fetched first-hand rather than recalled.

✓ 81 models · 6 AWS surfaces Verified 2026-08-12 HF API · AWS docs · vLLM & SGLang registries · Neuron SDK · pricing feeds ⚠ 3 open questions flagged

01The short answer

SurfaceVerdict for the five flagships
Bedrock Custom Model Import NO  For every flagship named. CMI publishes a closed architecture allowlist and not one of these architectures is on it. This is an architecture problem, not a size problem.
Bedrock managed catalog
not CMI
PARTIALLY  The previous generation of all five families is now first-party serverless on Bedrock — GLM 5, Kimi K2.5, MiniMax M2.5, Qwen3 family, DeepSeek V3.2. The newest models are not yet listed.
SageMaker YES, ALL  Via BYOC + LMI/vLLM on managed endpoints or HyperPod. JumpStart is far thinner: its entire Z.AI catalog is one model and DeepSeek stops at V3.2.
Raw EC2 / EKS YES, ALL  All 15 architectures in scope are registered in vLLM upstream. Only GPU memory and capacity bind.
The one thing to internalise

These are six different products that get constantly conflated. Custom Model Import (bring your own weights, closed allowlist) is not the Bedrock managed catalog (AWS hosts it, you just call it), which is not Bedrock Marketplace (you subscribe, it deploys onto a SageMaker endpoint behind Bedrock APIs), which is not SageMaker JumpStart, which is not SageMaker BYOC, which is not EC2. "Can I run model X on AWS?" has a different answer on each.

CMI text cap
200 GB

100 GB if multimodal

Qwen 3.8 weights
4,892 GB

24× over the cap

Smallest blocked model
19.3 GB

Qwen3.5-9B — arch only

Flagships importable
0 of 5

All fail on architecture

Three premise corrections worth knowing up front

DeepSeek-V4 does not exist

There is no deepseek-ai/DeepSeek-V4 repo. V4 shipped as V4-Pro (1.599 T) and V4-Flash (291 B), both created 2026-04-22, plus a V4-Flash-0731 refresh.

Qwen 3.8 is a 2.4-trillion-parameter model

Qwen/Qwen3.8-2.4T-A95B — 2.446 T params, 4,892 GB in BF16. No single EC2 instance holds it. It needs a GB200 NVL72 UltraServer or multi-node.

Kimi K2-Thinking is not a Kimi architecture

It reports DeepseekV3ForCausalLM — Moonshot reused DeepSeek's architecture wholesale. Same for K2-Instruct and Moonlight.

One Kimi model is importable

Kimi-Dev-72B is a Qwen2.5-72B fine-tune, so it reports Qwen2ForCausalLM — which is allowlisted. 145.4 GB, clears every gate.

02Decision flow

1 · Can you accept the N-1 generation?GLM 5 instead of GLM 5.2, Kimi K2.5 instead of K3, DeepSeek V3.2 instead of V4…
└▸
YES → Bedrock managed catalogZero infrastructure, serverless, no capacity risk. Fastest path by far.
└▸
NO → 2 · Is it Qwen3-32B / Qwen3-30B-A3B / a Qwen2.5 or Llama-arch model?
└▸
YES → Bedrock Custom Model ImportThe only models in these families that pass all four gates.
└▸
NO → 3 · Do you want managed operations?
└▸
YES → SageMaker BYOC + LMI/vLLMManaged autoscaling, IAM, VPC isolation. Best risk-adjusted choice for regulated workloads.
└▸
NO → EC2 / EKS + vLLMMaximum control. You own capacity, EFA topology and failover.
└▸
4 · Are weights > 2 TB?
└▸
YES (only Qwen 3.8) → GB200 NVL72 UltraServer13.4 TB HBM3e, or multi-node p6-b300 with EFA + Ray.
└▸
NO → single nodep6-b300 · p6-b200 · p5e · p5 — see the sizing helper.
If you only remember one recommendation

Check the Bedrock managed catalog first. Four of five families have their N-1 model available serverless today. Most teams reaching for Custom Model Import don't actually need to import anything.

03Six surfaces, not three

SurfaceYou supplyRuns onModel choiceBest for
Bedrock managed catalogNothing — just API callsAWS-managed, serverlessFixed catalogFastest path; no ops
Bedrock Custom Model ImportYour own safetensors weights in S3Bedrock, on-demand throughputClosed arch allowlistFine-tunes of allowlisted bases
Bedrock MarketplaceA subscriptionSageMaker-managed endpoint, behind Bedrock APIsMarketplace catalogBedrock API surface + wider catalog
SageMaker JumpStartA model IDSageMaker endpoint / HyperPodCurated hubOne-click deploy, some fine-tunable
SageMaker BYOC + LMIContainer + weightsSageMaker endpoint / HyperPodAnything vLLM runsNewest models, managed ops
EC2 / EKSEverythingYour instancesAnything vLLM runsMax control, custom kernels, quantization
Why this matters

DeepSeek, Moonshot AI, MiniMax, Qwen and Z.AI all appear as first-party providers in the Bedrock managed catalog while simultaneously being impossible to import via CMI. Both statements are true at once. Conflating the two produces the wrong answer in both directions.

04Custom Model Import: the allowlist & four gates

Read verbatim from the CMI documentation on 2026-08-12. This is the decisive gate for everything else on this page.

Gate 1 — Architecture (a closed allowlist)

CMI auto-detects the architecture from your config.json during the import job and matches it against this list. It is exhaustive, not illustrative:

Mistral
Mixtral
Flan (T5)
Llama 2 / 3 / 3.1 / 3.2 / 3.3
Mllama
GPTBigCode
Qwen2 / Qwen2.5
Qwen2-VL / Qwen2.5-VL
Qwen3 (restricted)
GPT-OSS 20B / 120B
  • Qwen3 is restricted to Qwen3ForCausalLM and Qwen3MoeForCausalLM only. Converse is not supported for Qwen3 models.
  • GPT-OSS is us-east-1 only.

Gates 2–4 — Size, context, tooling

GateLimitNotes
Weight size< 100 GB multimodal · < 200 GB textModality decides which applies — this alone flips Qwen2.5-VL-72B from pass to fail
Max positional embeddings< 128 KEffective ceiling is 131,072 inclusive — see the note below
transformers version4.51.3Fine-tune with this version
Embedding modelsNot supported
Regionseu-central-1 · us-east-1 · us-east-2 · us-west-2GPT-OSS narrower still
Excluded featuresBatch inference · CloudFormationOn-demand throughput only

Tokenizer allowlist

T5Tokenizer · T5TokenizerFast · LlamaTokenizer · LlamaTokenizerFast · CodeLlamaTokenizer · CodeLlamaTokenizerFast · GPT2Tokenizer · GPT2TokenizerFast · GPTNeoXTokenizer · GPTNeoXTokenizerFast · PreTrainedTokenizer · PreTrainedTokenizerFast · Qwen2Tokenizer · Qwen2TokenizerFast

Every Qwen-lineage model in scope uses Qwen2Tokenizer, so the tokenizer is never the blocker — the architecture is.

Required files in S3

*.safetensors            # weights, Safetensors format (GGUF is NOT accepted)
config.json              # architecture auto-detection happens here
tokenizer_config.json
tokenizer.json
tokenizer.model
The 128 K boundary — resolved as far as public evidence allows

The docs say context "should be less than 128K" and never state a number — unlike every other limit in the same Note block, which are all exact. An adversarial verification pass searched AWS docs, the ML blog, What's New, the Bedrock pricing page, re:Post, GitHub (including the awslabs/mcp CMI server source that encodes the allowlist) and the open web: zero occurrences of 131072, 128000 or 130000 as a CMI limit anywhere, and no user-reported error at 131072.

Three independent AWS-published anchors sit at exactly 131072 while AWS calls them "128K":

  • GPT-OSS 20B and 120B — named supported architectures on the allowlist; both configs are mpe=131072
  • DeepSeek-R1-Distill-Llama-8B / 70B — the CMI product page states verbatim that CMI "supports distilled Llama versions of DeepSeek-R1… DeepSeek-R1-Distill-Llama-8B and DeepSeek-R1-Distill-Llama-70B"; both are mpe=131072
  • AWS's own billing reference — the Bedrock pricing page repeats under every family tab: "Llama 3.1 8B 128K model requires 2 Custom Model Units". Llama-3.1-8B-Instruct is mpe=131072.

Conclusion: AWS uses "128K" to mean 131,072, so the effective ceiling is 131,072 inclusive. Neither the GPT-OSS nor the DeepSeek CMI blog mentions editing config.json or max_position_embeddings. This remains an inference from AWS's practice rather than a stated number — run a throwaway import job before designing around it. The one contrary signal is a ~2-year-old re:Post question claiming ">32K doesn't seem to be supported", answered by a community member, not marked AWS-official, predating the current architecture set — treat as stale.

A required tweak the docs bury

AWS's own GPT-OSS Custom Model Import blog specifies file surgery unrelated to architecture: "Models from Hugging Face sometimes include extra metadata fields like total_parameters that Amazon Bedrock doesn't support. You must remove these before importing" — that field lives inside model.safetensors.index.json, not config.json. It also says to exclude the metal directory. If an import job fails on an otherwise-eligible model, check the index file's metadata block first.

Nested contexts: three flagships are 1 M, not "unknown"

MiniMax-M3, MiniMax-M3-MXFP8 and Kimi-K3 all carry max_position_embeddings = 1,048,576 — the value sits in text_config, not at the top level of config.json, which is why a naive read reports it as absent. Kimi-K2.5 / K2.6 / K2.7-Code are 262,144; the entire Qwen3.5 and Qwen3.6 line is 262,144. Always read text_config.max_position_embeddings for multimodal wrappers before concluding a context length is unknown. Practically: this puts GLM-5.2, DeepSeek V4, MiniMax-M3 and Kimi-K3 all at 1 M context — 8× over the CMI ceiling — and it dominates KV-cache sizing on the self-hosted path.

⚠ Open question — FP8 and quantized weights

The 2024 GA announcement stated FP32/FP16/BF16 only. The current doc page states no precision restriction at all. Whether CMI accepts FP8 today is unverified. It is moot for every flagship here (all fail on architecture regardless), but it matters if you plan to import quantized weights generally. Safest course: import at BF16 and let Bedrock optimise serving.

05Eligibility checker

Runs entirely in your browser against the allowlist above. Paste a config.json, or fill the fields manually.

Will this model import into Bedrock CMI?

Paste a config.json to auto-fill, or enter values directly.
Do it from the command line instead
REPO=Qwen/Qwen3-32B
curl -s https://huggingface.co/$REPO/raw/main/config.json \
  | jq '{arch:.architectures, ctx:.max_position_embeddings, quant:.quantization_config.quant_method}'
curl -s https://huggingface.co/$REPO/raw/main/model.safetensors.index.json \
  | jq '.metadata.total_size'          # bytes; divide by 1e9 for GB
curl -s https://huggingface.co/$REPO/raw/main/tokenizer_config.json | jq '.tokenizer_class'

06What IS importable

The rule that explains everything

CMI matches the architectures[] string, not the brand. Any model — whatever badge it carries — that is built on Llama, Mistral/Mixtral, Qwen2/2.5 or Qwen3 is importable. That is exactly why one Moonshot model and five DeepSeek models qualify while their own flagships do not.

Within the five families

FamilyCMI-compatible membersWhy
QwenAll Qwen2 · all Qwen2.5 · Qwen2.5-Coder · QwQ-32B (65.5 GB) · Qwen2.5-72B-Instruct (145.4 GB) · Qwen2-VL · Qwen2.5-VL-7B (16.6 GB) / -32B (68.3 GB) · Qwen3-0.6B→32B · Qwen3-30B-A3BNative allowlist entries
DeepSeekR1-Distill-Qwen-1.5B / 7B / 14B / 32B · R1-Distill-Llama-8B / 70B · deepseek-coder-33b-instructDistills and ports inherit the base architecture: Qwen2ForCausalLM / LlamaForCausalLM
Kimi / MoonshotKimi-Dev-72B — and only this oneA Qwen2.5-72B fine-tune → Qwen2ForCausalLM
GLM / Z.aiNo GLM-branded model — but yes, 16 Llama-arch repos
zai-org/LongWriter-llama3.1-8b · LongCite-llama3.1-8b · LongReward-llama3.1-8b-DPO · webrl-llama-3.1-8b · webrl-llama-3.1-70b
Every GLM-branded architecture is Glm* and none are allowlisted. But the zai-org org also publishes Llama-3.1 fine-tunes reporting LlamaForCausalLM — those are importable.
MiniMaxNone foundEvery architecture found is MiniMax*: Text01, VL01, M1, M2, M3Sparse. Text-01 and M1 also carry a 10.24 M context. Org enumeration was truncated by the API, so read this as "none found", not a proof of absence.
The Kimi path, in detail

moonshotai/Kimi-Dev-72B clears every gate: Qwen2ForCausalLM ✓ allowlisted · 145.4 GB ✓ under the 200 GB text cap · Qwen2Tokenizer ✓ allowlisted · text-only ✓ so the text cap applies. Its max_position_embeddings is 131,072 — exactly the boundary discussed above. Two possible "tweaks": drop the context below 131072 (a one-line config edit), or handle the Moonshot chat template on a Qwen tokenizer, for which CMI has a dedicated "Handling Custom Chat Templates and Tokenizers" section.

In the table: zai-org/LongWriter-llama3.1-8b

Listed under GLM in the master table as CMI: YES — a concrete example of the architecture-inheritance rule. It is published by the GLM org, is 16 GB, reports LlamaForCausalLM and mpe=131072, and imports cleanly. Fifteen more zai-org Llama-3.1 fine-tunes behave the same way.

Other families that hit the allowlist

FamilyCompatibleArchitecture
Meta LlamaLlama 2 / 3 / 3.1 / 3.2 / 3.3, Llama-3.2-VisionLlamaForCausalLM · MllamaForConditionalGeneration
Mistral AIMistral 7B, Mixtral-8x7B (93.4 GB), Devstral, Magistral, Codestral, MinistralMistralForCausalLM · MixtralForCausalLM
OpenAIgpt-oss-20b, gpt-oss-120b (65.2 GB) — us-east-1 onlyGptOssForCausalLM
GoogleFlan-T5 (all sizes) — only Flan from GoogleT5ForConditionalGeneration
BigCodeStarCoder v1 onlyGPTBigCodeForCausalLM
Llama-arch in disguise ⭐Falcon3 · Yi-1.5 (9B/34B) · SOLAR-10.7B · Vicuna · WizardLM · OpenHermes · Tulu · most Llama fine-tunesAll report LlamaForCausalLM

07Quantization, smaller sizes & "abstracting the class"

A · Quantization never changes CMI eligibility

architectures[] is a property of the model class, not the weight dtype. Every quantized derivative inherits its parent's string. Verified 2026-08-12:

Repoarchitectures[]quant_methodCMI
zai-org/GLM-5.2-FP8GlmMoeDsaForCausalLMfp8 / e4m3unchanged
Qwen/Qwen3.8-2.4T-A95B-FP8Qwen3_5MoeForCausalLMfp8unchanged
Qwen/Qwen3.5-397B-A17B-GPTQ-Int4Qwen3_5MoeForConditionalGenerationgptq 4-bit g128unchanged
sgl-project/DeepSeek-V4-Flash-FP8DeepseekV4ForCausalLMfp8 / e4m3unchanged
nvidia/DeepSeek-V4-Flash-NVFP4DeepseekV4ForCausalLMfp8 / e4m3unchanged
MiniMaxAI/MiniMax-M2.5MiniMaxM2ForCausalLMfp8 / float8_e4m3fnunchanged

No quantization of any flagship rescues CMI eligibility. Quantization only relaxes the size gate — and size is never the sole blocker. GGUF builds are doubly excluded: CMI requires safetensors.

B · Smaller sizes fix the wrong gate

All of these clear the size caps comfortably and are still blocked on architecture alone:

VariantModalityWeights200 GB100 GBBlocked on
Qwen3.5-0.8Bimg+text1.7 GBpasspassarch only
Qwen3.5-2Bimg+text4.5 GBpasspassarch only
Qwen3.5-4Bimg+text9.3 GBpasspassarch only
Qwen3.5-9Bimg+text19.3 GBpasspassarch only
Qwen3.5-27B / Qwen3.6-27Bimg+text55.6 GBpasspassarch only
Qwen3.5-35B-A3B / Qwen3.6-35B-A3Bimg+text71.9 GBpasspassarch only
Qwen3.5-122B-A10Bimg+text250.2 GBfailfailarch + size
Qwen3.5-397B-A17Bimg+text806.8 GBfailfailarch + size
GLM-4.7-Flashtext62.4 GBpasspassarch + 202 K ctx
DeepSeek-V4-Flashtext159.6 GBpassfailarch + 1 M ctx
The sharpest illustration

Qwen3.5-9B is 19.3 GB — trivially inside every cap, a perfectly ordinary endpoint size — and still cannot be imported, purely because of its architecture string. Size was never the real constraint for this family.

C · Why "abstracting the class" cannot work for Qwen3.5+

The idea is legitimate in principle: CMI auto-detects architecture from config.json, so relabelling architectures to an allowlisted string would unlock the import — but only if the tensor topology genuinely matches. It does not. Structural config diff, Qwen3-30B-A3B (allowlisted) vs Qwen3.8-2.4T-A95B (not):

Present in Qwen3.5/3.8, absent from Qwen3: layer_types · linear_conv_kernel_dim · linear_key_head_dim · linear_num_key_heads · linear_num_value_heads · linear_value_head_dim · mamba_ssm_dtype · full_attention_interval · attn_output_gate · output_gate_type · partial_rotary_factor · mtp_num_hidden_layers · mtp_use_dedicated_embeddings · shared_expert_intermediate_size · rope_parameters

Tensor-level confirmation across Qwen3.8's 1,609 tensors:

Tensor patternCountSlot exists in Qwen3MoeForCausalLM?
linear_attn621no
conv1d69no — Mamba causal conv
A_log69no — SSM decay
dt_bias69no — SSM timestep bias
in_proj / out_proj276 / 69no
mtp19no — multi-token prediction head
q_norm / k_norm24 / 24yes
⛔ Verdict

Qwen3.5/3.8 is a hybrid linear-attention (Mamba-style SSM) + MoE + multi-token-prediction architecture — roughly 69 of 92 layers are linear-attention. Qwen3MoeForCausalLM has no parameter slots for conv kernels, SSM decay, timestep bias or MTP heads. Renaming the class fails at weight load with a state-dict key mismatch. This is a hard structural incompatibility, not a labelling problem.

Remap attemptViable?Reason
Qwen3_5MoeForCausalLM → Qwen3MoeForCausalLMno621 linear_attn + 69 SSM tensor groups have no target
Qwen3NextForCausalLM → Qwen3MoeForCausalLMnoQwen3-Next is also hybrid linear-attention
GlmMoeDsaForCausalLM → MixtralForCausalLMnoMLA (q_lora_rank/kv_lora_rank) + DSA indexer; Mixtral is MHA
DeepseekV4ForCausalLM → MixtralForCausalLMnoMLA compression + FP8 block scales + sparse-attention indexer
MiniMaxM2ForCausalLM → MixtralForCausalLMuntestedM2 is closer to a conventional MoE; still expect router/norm key drift. Not recommended.
Glm4ForCausalLM → LlamaForCausalLMuntestedGLM-4 dense is Llama-like but uses partial RoPE + different norm placement
Qwen2.5-* → Qwen2ForCausalLMalready isQwen2.5 genuinely ships as Qwen2ForCausalLM — no edit needed

D · Tweaks that genuinely do work

TweakWorksNotes
Lower max_position_embeddingsyesPure config edit, no weight change. Unblocks Qwen3-Coder-30B-A3B (262144 → 131072) — arch and size already pass.
Custom chat template / tokenizer handlingyesCMI has a dedicated doc section; the Kimi-Dev-72B path
Merge a LoRA/QLoRA adapter into an allowlisted baseyesCMI's headline "fine-tuned model" pattern
Continued pretraining / domain adaptationyesExplicitly supported, including vocabulary changes
Change layer count / heads / context on an allowlisted baseyesExplicitly supported ("Pretrained from scratch")
Distil a frontier model onto an allowlisted base⭐ the sanctioned patternExactly what DeepSeek did: R1 → Qwen2/Llama distills, which AWS documents as CMI-importable. This is the real answer to "I want GLM-5.2 / K3 / V4 behaviour inside Bedrock."
Re-quantize to fit under the cappartialFixes size only; architecture unchanged
Rewrite architectures to spoof an allowlisted classnoState-dict mismatch unless topology is truly identical
⚠ Inversion — quantization can BREAK an eligible model

GPTQ / AWQ replace each *.weight with packed qweight (int32), qzeros, scales, g_idx. Those are not the parameter names an allowlisted class expects, so importing a GPTQ Qwen2.5-72B is unlikely to work even though the BF16 original (145.4 GB) does. FP8 block-quantized weights keep *.weight but add weight_scale_inv sidecars. Combined with CMI's unresolved sub-BF16 support: import at BF16. If you need quantization for cost, that is an argument for SageMaker/EC2, where FP8 / Int4 / NVFP4 all work under vLLM today.

08Master model table

Every value fetched first-hand on 2026-08-12. Weights from model.safetensors.index.json → metadata.total_size (decimal GB), cross-checked against parameter count × dtype width. Arch is the exact config.json architectures[0] — the string CMI matches on.

All families GLM Kimi MiniMax Qwen DeepSeek
✓ CMI-eligible only ✓ On Bedrock managed ✓ On JumpStart ✓ Multimodal ✓ > 500 GB
Model Modality Weights Architecture Context License CMI SageMaker EC2 min node

Context = max_position_embeddings; means the field is absent from the top-level config (typical for multimodal wrappers, where it sits in a nested text config). n/a in the Weights column means no index.json and the value came from a paginated LFS blob sum, noted in the methodology section.

09Traps & near-misses

Brands you'd expect to work, but don't

ModelArchitectureWhy it fails
StarCoder2Starcoder2ForCausalLMThe allowlist's GPTBigCode is StarCoder v1. v2 is a different architecture entirely.
Mixtral-8x22B-InstructMixtralForCausalLMArchitecture ✓ but ~282 GB > 200 GB cap
Qwen2.5-VL-72BQwen2_5_VLForConditionalGenerationArchitecture ✓ and multimodal → the 100 GB cap binds. 145.4 GB fails. The 7B and 32B pass.
Qwen2.5-OmniQwen2_5OmniModelQwen2.5-VL is listed; Omni is not
Qwen3-VLQwen3VLMoeForConditionalGenerationOnly Qwen2-VL and Qwen2.5-VL are listed
Qwen3-NextQwen3NextForCausalLMThe Qwen3 entry covers only Qwen3ForCausalLM + Qwen3MoeForCausalLM
NVIDIA Nemotron Super 49BDeciLMForCausalLMNot allowlisted, despite Llama lineage (NAS-modified)
NVIDIA Nemotron Nano 9B v2NemotronHForCausalLMNot allowlisted
Microsoft Phi-4Phi3ForCausalLMNot allowlisted
Google Gemma 2 / 3Gemma*ForCausalLMNot allowlisted — only Flan from Google
SmolLM3SmolLM3ForCausalLMNot allowlisted
OLMo-2Olmo2ForCausalLMNot allowlisted

Near-misses worth escalating to AWS

1 gate away DeepSeek-V4-Flash

159.6 GB — the only flagship in scope that clears the 200 GB cap. Blocked purely on architecture and its 1 M context. If AWS allowlisted DeepseekV4ForCausalLM, V4-Flash becomes importable immediately. The highest-leverage ask to make of the Bedrock team.

1 config edit away Qwen3-Coder-30B-A3B

Qwen3MoeForCausalLM ✓ allowlisted, ~61 GB ✓ under cap. Only max_position_embeddings: 262144 blocks it. Lowering it below 131072 is a legitimate, supported import path.

Passes today Qwen3-32B / Qwen3-30B-A3B

The only models across all five families that pass every gate as published: Qwen3ForCausalLM / Qwen3MoeForCausalLM, mpe=40960, ~65 / ~61 GB, Qwen2Tokenizer.

Passes with a tweak Kimi-Dev-72B

145.4 GB, Qwen2ForCausalLM, Qwen2Tokenizer. Sitting exactly on the 131,072 context boundary; chat-template handling likely also needed.

10Bedrock managed catalog

Amazon Bedrock now serves these families first-party and serverless — no weights, no infrastructure. Read verbatim from Endpoint availability by models, 2026-08-12.

ProviderModels available on Bedrock
DeepSeekDeepSeek V3.2 · DeepSeek-R1 · DeepSeek-V3.1
Moonshot AIKimi K2 Thinking · Kimi K2.5
MiniMaxMiniMax M2 · M2.1 · M2.5
QwenQwen3 235B A22B 2507 · Qwen3 32B · Qwen3 Coder 480B A35B Instruct · Qwen3 Coder Next · Qwen3 Next 80B A3B · Qwen3 VL 235B A22B · Qwen3-Coder-30B-A3B-Instruct
Z.AIGLM 4.7 · GLM 4.7 Flash · GLM 5

Two endpoints — pick per model

EndpointAPIs
bedrock-runtime.{region}.amazonaws.comInvokeModel · Converse · Chat Completions · Messages
bedrock-mantle.{region}.api.awsResponses · Chat Completions · Messages OpenAI & Anthropic compatible
AWS What's New describes these open-weight models as running on Project Mantle, "a new distributed inference engine" — which is what the endpoint name refers to.
The pattern

For four of five families the immediately prior generation is available managed while the newest is not: Kimi K2.5 but not K3 · MiniMax M2.5 but not M3 · DeepSeek V3.2 but not V4 · Qwen3 but not Qwen3.5/3.8. GLM is the exception — GLM 5 is live, only GLM-5.2 is missing. AWS independently confirms GLM 5 as "744B parameters and 40B active" with a 200 K context and 128 K max output on the Z.AI model card page.

Exact model IDs & regions

From the per-model Bedrock model cards, fetched 2026-08-12. Note the trap: for several models bedrock-runtime and bedrock-mantle use different ID strings.

Modelbedrock-runtime IDbedrock-mantle IDRegions
DeepSeek V3.2deepseek.v3.2deepseek.v3.211 — us-east-1/2, us-west-2, eu-north-1, eu-west-2, ap-northeast-1, ap-south-1, ap-southeast-2/3/4, sa-east-1
DeepSeek-V3.1deepseek.v3-v1:0deepseek.v3.1 differs11
DeepSeek-R1deepseek.r1-v1:0
Geo: us.deepseek.r1-v1:0
not served3 — us-east-1/2, us-west-2
Kimi K2 Thinkingmoonshot.kimi-k2-thinkingmoonshotai.kimi-k2-thinking differs11
Kimi K2.5moonshotai.kimi-k2.5moonshotai.kimi-k2.511
MiniMax M2minimax.minimax-m2minimax.minimax-m214 — widest EU coverage in scope
MiniMax M2.1minimax.minimax-m2.1minimax.minimax-m2.114
MiniMax M2.5minimax.minimax-m2.5minimax.minimax-m2.514
GLM 4.7zai.glm-4.7zai.glm-4.711
GLM 4.7 Flashzai.glm-4.7-flashzai.glm-4.7-flash14
GLM 5zai.glm-5zai.glm-511
Qwen3 235B A22B 2507qwen.qwen3-235b-a22b-2507-v1:0qwen.qwen3-235b-a22b-2507 differs13
Qwen3 32Bqwen.qwen3-32b-v1:0qwen.qwen3-32b differs13
Qwen3 Coder 480B A35Bqwen.qwen3-coder-480b-a35b-v1:0qwen.qwen3-coder-480b-a35b-instruct differs10
Qwen3 Coder Nextqwen.qwen3-coder-nextqwen.qwen3-coder-next13
Qwen3 Next 80B A3Bqwen.qwen3-next-80b-a3bqwen.qwen3-next-80b-a3b-instruct differs10
Qwen3 VL 235B A22Bqwen.qwen3-vl-235b-a22bqwen.qwen3-vl-235b-a22b-instruct differs10
Qwen3-Coder-30B-A3B-Instructqwen.qwen3-coder-30b-a3b-v1:0qwen.qwen3-coder-30b-a3b-instruct differs13
Naming patterns worth internalising

Older models carry the classic -v1:0 suffix on bedrock-runtime; newer additions drop it. bedrock-mantle generally prefers the human-readable form without the suffix and often appends -instruct. Kimi is inconsistent across endpoints (moonshot. on runtime, moonshotai. on mantle). Do not construct these IDs by pattern — read them from the model card or from list-foundation-models.

None of GLM-5.2, GLM-5.1, Kimi-K3, Kimi-Dev-72B, MiniMax-M3, DeepSeek-V4-Pro or DeepSeek-V4-Flash has a Bedrock model card — verified absent, not merely unfound. They are not offered as managed Bedrock models.

Resolve exact model IDs in your own account

aws bedrock list-foundation-models --region us-east-1 \
  --query "modelSummaries[?contains(providerName,'DeepSeek')
            ||contains(providerName,'Moonshot')
            ||contains(providerName,'MiniMax')
            ||contains(providerName,'Z.AI')
            ||contains(providerName,'Qwen')].[modelId,modelName]" \
  --output table

The former "models at a glance" page now redirects to the Bedrock overview, so list-foundation-models in your target region is the authoritative source for IDs and regional availability.

11SageMaker

JumpStart — verified roster for these five families

From the authoritative Available foundation models table (436 open-weight models, stated current as of 2026-07-29), read directly on 2026-08-12.

ProviderModelModel IDInstances
Zai-OrgGLM-5.1-FP8huggingface-llm-glm-5-1-fp8ml.p5en.48xlarge
Deepseek-AiDeepSeek-V3.2deepseek-llm-deepseek-v3-2ml.p5en.48xlarge
Deepseek-AiDeepSeek-V3.1deepseek-llm-deepseek-v3-1ml.p5e.48xlarge, ml.p5en.48xlarge
Deepseek-AiDeepSeek-R1 / R1-0528deepseek-llm-r1 · deepseek-llm-r1-0528ml.p5e.48xlarge, ml.p5en.48xlarge
Deepseek-AiR1-Distill-Llama-70B / 8B · R1-Distill-Qwen-1.5B / 7B / 14B / 32Bdeepseek-llm-r1-distill-*g6 / g6e / g7e — fine-tunable
Deepseek-AiDeepSeek-OCRdeepseek-vlm-deepseek-ocrg4dn / g5 / g6 / g6e
MinimaxaiMiniMax-M2huggingface-llm-minimax-m2ml.p4de.24xlarge
MinimaxaiMiniMax-M2.1huggingface-llm-minimax-m2-1ml.p4de.24xlarge, ml.p5.48xlarge
MinimaxaiMiniMax-M2.5huggingface-llm-minimax-m2-5p5-class
MoonshotaiKimi-K2.5huggingface-llm-kimi-k2-5ml.p5en.48xlarge
QwenQwen3 base family (20 entries: 0.6B · 1.7B · 4B · 8B · 14B · 32B · Instruct-2507 variants …)huggingface-reasoning-qwen3-*g5 / g6 / g6e
QwenQwen2 / Qwen2-VL familyhuggingface-llm-qwen2-*g4dn / g5 / g6 / g6e
✎ Correction — an earlier version of this page was wrong here

An earlier draft stated that no Moonshot or MiniMax models appear on JumpStart. That was an inference from not having read the M–N alphabetical range, and it was wrong. A dedicated verification pass paged through the full 436-row table and found Minimaxai (M2, M2.1, M2.5) and Moonshotai (Kimi-K2.5) provider sections. Corrected above. The lesson generalises: absence-of-evidence is not evidence-of-absence in a 233 KB paginated doc page — read the range or say you didn't.

What is genuinely absent from JumpStart

Verified across all 707 table rows: MiniMax-M3 — absent. Kimi-K3 — absent. Kimi-K2-Thinking — absent. Kimi-Dev-72B — absent. DeepSeek-V4 (any form) — absent. GLM-5.2, GLM-5, GLM-4.7 — absent; GLM-5.1-FP8 is the only row on the entire page whose name contains "GLM". JumpStart lists GLM-5.1-FP8's license as Apache-2.0 while HuggingFace reports MIT for the GLM repos — rely on the LICENSE file in the repo.

Bedrock Marketplace — narrower still

Checked against the Bedrock Marketplace model-compatibility page: GLM, Kimi/Moonshot, MiniMax and standalone Qwen are all absent. The only models in scope are DeepSeek-R1 plus its six distills (DeepSeek-R1-Distill-Qwen-32B / -14B / -7B / -1.5B, Llama-70B, Llama-8B) — all with Converse API: No, Streaming: Yes. No DeepSeek-V3.x, no V4. So for these five families, Marketplace is not a meaningful third path; the real choice is managed catalog vs JumpStart vs BYOC vs EC2.

BYOC + LMI — the path for GLM-5.2, Kimi K3, MiniMax M3, Qwen 3.8, DeepSeek V4

SageMaker's Large Model Inference containers bundle vLLM and DJL-Serving. Since all these architectures are in vLLM upstream, this is the managed path that actually works for the newest models.

env = {
    "HF_MODEL_ID": "deepseek-ai/DeepSeek-V4-Flash",
    "OPTION_ASYNC_MODE": "true",
    "OPTION_ROLLING_BATCH": "disable",
    "OPTION_ENTRYPOINT": "djl_python.lmi_vllm.vllm_async_service",
    "OPTION_TENSOR_PARALLEL_DEGREE": "8",
    "OPTION_MAX_MODEL_LEN": "131072",     # cap context to fit KV cache
}
# image: 763104351884.dkr.ecr.{region}.amazonaws.com/djl-inference:0.34.0-lmi

For weights in the hundreds of GB, enable fast model loading — SageMaker pre-shards the model and streams weights directly from S3 into GPU memory, skipping the download-to-disk and host-memory hops. At 1.5 TB this is the difference between minutes and tens of minutes per scale-out event.

12EC2 / EKS self-host

✓ Every architecture in scope is supported by vLLM upstream

Verified against vllm/model_executor/models/registry.py on main, 2026-08-12. The EC2/EKS path works for every model on this page today. vLLM support is not a blocker for any of them — only GPU memory and capacity are.

GlmMoeDsaForCausalLM · Glm4MoeForCausalLM · Glm4MoeLiteForCausalLM · KimiK3ForConditionalGeneration · KimiK25ForConditionalGeneration · MiniMaxM3SparseForCausalLM · MiniMaxM3SparseForConditionalGeneration · MiniMaxM2ForCausalLM · Qwen3_5MoeForCausalLM · Qwen3_5MoeForConditionalGeneration · Qwen3_5ForCausalLM · Qwen3_5ForConditionalGeneration · Qwen3NextForCausalLM · DeepseekV4ForCausalLM · DeepseekV32ForCausalLM

MTP (multi-token prediction / speculative decoding) heads are also registered for GLM-4.7-Lite, Kimi-K3, MiniMax-M3, Qwen3.5/3.8 and Qwen3-Next — so speculative decoding is available self-hosted, and DeepSeek ships matching -DSpark draft models.

Instance reference

InstanceAcceleratorsGPU memoryFits (weights only)
p6-b300.48xlarge8 × Blackwell Ultra2,144 GBGLM-5.2 · GLM-5 · Kimi-K3 — largest single node
p6-b200.48xlarge8 × B2001,432 GBMiniMax-M3 · V4-Pro · Qwen3.5-397B
p6e-gb200.36xlarge4 × GB200 UltraServer only740 GB
up to 13.4 TB
Qwen 3.8 — the only clean home for it. UltraServers span 36–72 GPUs in one NVLink domain
p5e / p5en.48xlarge8 × H200 (141 GB)1,128 GBGLM-5.2-FP8 · GLM-4.7 · Kimi-K2.5 · DeepSeek-V3.2 · V4-Pro
p5.48xlarge8 × H100 (80 GB)640 GBDeepSeek-V4-Flash · MiniMax-M2.5 · R1-Distill-Llama-70B
p4d / p4de.24xlarge8 × A100 (80 GB)640 GBV4-Flash · MiniMax-M2.5
g6e.12xlarge4 × L40S192 GBGLM-4.7-Flash · Qwen3-32B · Qwen3-30B-A3B

Budget ~1.2–1.5× weights for KV cache, activations and CUDA graphs. A 1 M-context model needs far more KV headroom than that multiplier suggests — at 1 M context plan on paged KV offload or serve a reduced context via --max-model-len.

Minimum vLLM version per architecture

Established by bisecting registry.py at each vLLM release tag — not from the docs page, which lags badly (Kimi-K3 and Qwen3.5-MoE are absent from the published support table but present in the registry). Latest release at time of writing: v0.27.1 (2026-08-11).

ArchitectureMin vLLMVerified absent inExtras
GlmMoeDsaForCausalLMv0.16.0v0.15.1maps to the deepseek_v2 implementation; LoRA + PP supported
DeepseekV4ForCausalLMv0.20.0v0.19.1DSparkDraftModel speculative-decoding entry ships alongside
MiniMaxM3SparseForConditionalGenerationv0.24.0v0.23.0text-only …ForCausalLM variant lands in the same release
KimiK3ForConditionalGenerationv0.27.0v0.26.0KimiK3MTPModel also added
Qwen3_5MoeForCausalLMv0.27.0v0.26.0plus Qwen3_5MTP / Qwen3_5MoeMTP
Glm4Moe* · KimiK25* · MiniMaxM2* · DeepseekV32*≤ v0.17.0already present in the earliest tag scanned
🚨 The AWS vLLM Deep Learning Container is one release too old for Kimi-K3 and Qwen 3.8

The newest AWS vLLM DLC across all published tags is vLLM 0.26.0…vllm:0.26.0-gpu-py312-cu130-ubuntu22.04-ec2-v1.4 (EC2) and …-sagemaker-v1.5-soci (SageMaker), both pushed 2026-08-10/11. But KimiK3ForConditionalGeneration and Qwen3_5MoeForCausalLM require vLLM ≥ 0.27.0.

Consequence: Kimi-K3 and Qwen3.8 cannot be served on the stock AWS DLC today. You must build a custom image from upstream vLLM ≥ 0.27.0 (or wait for the DLC to catch up) for both the SageMaker BYOC and EC2/EKS paths. GLM-5.2 (needs 0.16.0), MiniMax-M3 (0.24.0) and DeepSeek V4 (0.20.0) are all fine on the stock 0.26.0 DLC.

Also note: the EKS walkthrough in the AWS docs pins an even older vllm:0.21.0-…-ec2-v1.0-soci. And the rayserve-flavoured DLC variants appear discontinued — they exist only on the 0.10.x line, nothing for 0.11.x–0.26.0.

SGLang as an alternative

All five families are implemented in SGLang on main, with dedicated attention backends and speculative-decoding variants:

ArchitectureSGLangImplementation
GlmMoeDsaForCausalLMyesmodels/glm4_moe.py — subclasses DeepseekV2ForCausalLM; NextN/MTP variant present
KimiK3ForConditionalGenerationyesmodels/kimi_k3.py — KimiK3MLAAttention, KimiK3DeltaAttention, KimiK3MoE; vision tower in kimi_k3_vl.py
MiniMaxM3SparseForConditionalGenerationyesmodels/minimax_m3_vl.py + text-only minimax_m3.py
Qwen3_5MoeForCausalLMyesmodels/qwen3_5_text.py + multimodal qwen3_5.py
DeepseekV4ForCausalLMyesmodels/deepseek_v4.py — DeepseekV4AttnBackend (NVIDIA) + DeepseekV4HipRadixBackend (ROCm); deepseek_v4_nextn.py (MTP), deepseek_v4_dspark.py (draft)

Kimi-K3's vision tower confirms it is multimodal, resolving one of the open questions elsewhere on this page. Minimum SGLang release versions were not bisected — presence confirmed on main only, so don't quote a version number.

Multi-node inference — the pattern AWS actually documents

LeaderWorkerSet + EFA, not Ray

AWS's documented multi-node vLLM pattern is EKS + EFA-enabled GPU node group in private subnets + FSx for Lustre for weights + the LeaderWorkerSet (LWS) custom resource to span one model replica across nodes. There is no AWS-authored multi-node vLLM-with-Ray inference recipe — and the Ray-Serve DLC variants are discontinued, so don't plan around Ray on AWS-supported images.

Hard constraint: every EFA-communicating node must be in the same Availability Zone. Pin pods with nodeSelector on topology.kubernetes.io/zone, use a cluster placement group for lowest latency, and stop Karpenter consolidation from evicting multi-node jobs.

Closest reference to a TB-scale deployment

awslabs/awsome-distributed-ai (formerly aws-samples/awsome-distributed-training) → 3.test_cases/pytorch/vllm/dsv3-uccl-nixl/ serves DeepSeek-V3 671B (MLA, 256 experts, top-8) across multiple p5en.48xlarge on EKS or HyperPod EKS, using vLLM 0.21.0 with UCCL-EFA + NIXL and disaggregated prefill/decode. This is the nearest AWS-authored analogue for GLM-5.2 / Kimi-K3 / Qwen 3.8.

HyperPod recipes: no serving recipe

Scanning aws/sagemaker-hyperpod-recipes@main for vLLM/Ray/multi-node-inference returns 39 paths — all RL-training rollout or Nova RFT. There is no inference-serving vLLM recipe in that repo. Don't go looking for one.

vLLM on EKS, streaming weights from S3

image: public.ecr.aws/deep-learning-containers/vllm:0.21.0-gpu-py312-cu130-ubuntu22.04-ec2-v1.0-soci
args:
  - --model=s3://<MODEL_PATH>
  - --tensor-parallel-size=8
  - --load-format=runai_streamer
  - --model-loader-extra-config={"concurrency":17,"distributed":true}
env:
  - name: RUNAI_STREAMER_CHUNK_BYTESIZE
    value: "4294967296"          # 4 GB chunks — best measured throughput

Set distributed:true only when tensor-parallel > 1: each TP rank then streams its own weight shard straight from S3 instead of rank 0 loading everything and broadcasting. Requires the vLLM V1 engine and is incompatible with --enforce-eager.

Capacity is the real constraint

p6 and p5e are supply-constrained. Use EC2 Capacity Blocks for ML or an on-demand capacity reservation rather than assuming on-demand availability. Check P6 software requirements first: CUDA 12.8, driver R570, EFA 1.41.0, AWS OFI NCCL plugin 1.15.0, Linux kernel 6.1.

Trainium / Inferentia — now resolved

Checked against AWS Neuron SDK 2.31.0 (released 2026-07-07; NxD Inference 0.10.18399, vLLM Neuron plugin 0.16.0 / vllm-neuron 0.5.0) and the NxD Inference supported-architecture list.

The complete NxD Inference production-ready model list

Llama (Text) · Llama 4 · Mixtral · DBRX · Qwen2.5 · Qwen3 · Qwen3 MoE · FLUX.1 [beta] · Pixtral-Large-Instruct-2411 · Qwen2-VL-7B-Instruct (dense) · Qwen3-VL-8B-Thinking (dense)

Relevant for Inf2, Trn1, Trn2. No GLM, Kimi/Moonshot, MiniMax or DeepSeek entry exists on this list.

ArchitectureNeuronNxDI class / evidenceInstances
Qwen3ForCausalLMSUPPORTEDNeuronQwen3ForCausalLM · Qwen3NeuronConfig
checkpoints 0.6B → 32B
Inf2 · Trn1 · Trn2
Qwen3MoeForCausalLMSUPPORTEDNeuronQwen3MoeForCausalLM · MoENeuronConfig
Qwen3-235B-A22B; dedicated quickstart exists
Inf2 · Trn1 · Trn2
Qwen3_5MoeForCausalLMNOT LISTEDNo Qwen3.5 / 3.6 / 3.8 entry
GlmMoeDsaForCausalLM · Glm4MoeForCausalLMNOT LISTEDDocs full-text search: GLM → 0 results, Z.ai → 0
KimiK3ForConditionalGenerationNOT LISTEDSearch: Kimi → 0, Moonshot → 0
MiniMaxM3SparseForConditionalGenerationNOT LISTEDSearch: MiniMax → 0
DeepseekV32ForCausalLMNOT LISTEDOnly MoE design-pattern references + an NKI MLA kernel
DeepseekV4ForCausalLMKERNEL ONLYNKI Library ships qkv_mla_mx_deepseek_v4 — "DeepSeek v4 MLA QKV projection with MX quantization" (fp8, two-stage low-rank Q/KV, fused RMSNorm + RoPE). A kernel, not a model integration.Trn2 · Trn3
Two nuances worth knowing

1 · Neuron docs never name HuggingFace architectures strings. Support is expressed as Neuron config/model class names (NeuronQwen3MoeForCausalLM), so searching for Qwen3MoeForCausalLM returns zero hits even though the model is supported. Match on model family, not architecture string, when reading Neuron docs.

2 · Undocumented DeepSeek-V3 code exists. The NxDI GitHub repo contains models/deepseek/modeling_deepseek.py defining DeepseekV3InferenceConfig, DeepseekV3Attention ("Multi-head Latent Attention (MLA) for DeepSeek V3") and DeepseekV3YarnRotaryEmbedding. Combined with the V4 MLA kernel on Trn2/Trn3, AWS is clearly building toward DeepSeek on Neuron — but nothing is documented as production-ready. Treat it as a signal of direction, not a deployment option.

Practical conclusion for Neuron

Trainium/Inferentia is a viable target only for Qwen3 and Qwen3-MoE among everything on this page (plus the Llama/Qwen2.5-architecture DeepSeek distills, which inherit support). For GLM, Kimi, MiniMax, Qwen3.5+ and DeepSeek V3.2/V4, the only route is the NxDI custom-model onboarding guide — a real engineering project, not a config change. Plan on NVIDIA GPUs.

13Node sizing helper

What instance do I need?

Pick a model, or enter weight size directly. Applies a KV/activation headroom multiplier.

14What it costs

Bedrock Custom Model Import — the CMU model

CMI bills per Custom Model Unit (CMU) per minute, metered in 5-minute windows starting from the first successful invocation of each model copy. Importing itself is free. AWS decides how many CMUs your model needs at import time, based on architecture, parameter count and context length.

ItemPriceApplies to
CMU v1.0 — us-east-1$0.05718 / CMU / minLlama, Multimodal Llama, Mistral, Mixtral, Flan, GPTBigCode, Qwen
CMU v1.0 — eu-central-1$0.07144 / CMU / minsame
CMU v2.0 — us-east-1$0.1433 / CMU / minGPT-OSS architecture (no Frankfurt row published)
Model storage$1.95 / CMU / monthall families and regions

Published CMU reference points: Llama 3.1 8B at 128 K = 2 CMUs · Llama 3.1 70B at 128 K = 8 CMUs. Extrapolating, an importable ~65 GB model (Qwen3-32B, QwQ-32B) plausibly lands around 4 CMUs — at $0.05718 that is roughly $0.23/min ≈ $13.7/hr while active, plus ~$7.80/month storage. Because billing is per-5-minute-window from first invocation rather than a persistent endpoint, CMI is markedly cheaper than a dedicated GPU endpoint for bursty traffic and more expensive for saturated traffic.

⚠ AWS\'s own pricing page contradicts itself here

The Custom Model Import Pricing Example states that a Llama 3.1 8B 128 K model in us-east-1 needing 2 CMUs costs $0.1570/min (and computes $0.1570 × 5 = $0.785). That implies $0.0785 per CMU per minute — which contradicts the rate table on the same page ($0.05718 × 2 = $0.1143). Model your costs from the rate table, then validate against a real invoice before committing. Discrepancy observed 2026-08-12; treat CMI cost projections as ±40% until you have billing data.

EC2 — on-demand, us-east-1, Linux

InstanceGPU memoryOn-demand $/hrCapacity Block $/hrNotes
g6e.12xlarge192 GB$10.49Qwen3-32B, GLM-4.7-Flash
g6e.48xlarge384 GB$30.13R1-Distill-Llama-70B
p5.48xlarge640 GB$55.04$41.53DeepSeek-V4-Flash, GLM-4.7
p5e.48xlarge1,128 GBnone published$47.76Capacity Blocks only
p5en.48xlarge1,128 GB$63.30$54.92Kimi-K2.5, MiniMax-M3
p6-b200.48xlarge1,432 GB$113.93DeepSeek-V3.2
p6-b300.48xlarge2,144 GB$142.42GLM-5.2, GLM-5, Kimi-K3
u-p6e-gb200x36~6.7 TBnone published$380.95UltraServer, 36 × B200 — $10.582/accelerator
u-p6e-gb200x7213.4 TBnone published$761.90Qwen 3.8's only clean home — 72 × B200
trn2.48xlarge1,536 GBnone published$35.76Capacity Blocks only; Qwen3/Qwen3-MoE only on Neuron
GLM-5.2 BF16, 24×7
~$104 k/mo

1 × p6-b300 on-demand at $142.42/hr

GLM-5.2 FP8, 24×7
~$46 k/mo

1 × p5en at $63.30/hr — FP8 halves the node class

Qwen 3.8, 24×7
~$556 k/mo

GB200 NVL72 UltraServer Capacity Block at $761.90/hr

The cost argument for FP8 — and against Qwen 3.8

Serving GLM-5.2-FP8 (755.6 GB) instead of BF16 (1,506.7 GB) drops you from a p6-b300 to a p5en — roughly $96 k/year → $46 k/month vs $104 k/month, a ~56% saving for a single-node deployment. That is the single highest-leverage cost decision on this page, and it is exactly why quantization belongs on the SageMaker/EC2 path rather than CMI.

Conversely, Qwen 3.8 at ~$556 k/month for one replica is a research-budget number, not a production one. If you need frontier open weights on AWS economically, GLM-5.2-FP8 or DeepSeek-V4-Flash (159.6 GB, fits a single $55/hr p5) are dramatically better value.

Capacity Blocks — mechanics

  • Required for p5e.48xlarge, p6e-gb200 UltraServers and trn2.48xlarge — no on-demand rate is published for any of them. Optional for p5, p5en, p6-b200, p6-b300.
  • Reserve up to 8 weeks in advance; duration 1–14 days (1-day increments) or 15–182 days (7-day increments).
  • Up to 64 instances per block; up to 256 instances across multiple blocks on a given date (minimum 4 blocks). Shareable across AWS Organizations accounts.
  • Cost = up-front reservation fee at the rate prevailing at purchase + OS fee while running. Linux OS fee is $0.00/hr on all these types (RHEL $1.84/hr, Ubuntu Pro $0.336/hr).
# 1 - find offerings
aws ec2 describe-capacity-block-offerings \\
  --instance-type p5en.48xlarge --instance-count 2 \\
  --capacity-duration-hours 48 \\
  --start-date-range 2026-09-01T00:00:00Z --end-date-range 2026-09-15T00:00:00Z

# 2 - purchase (creates a billable commitment - confirm the offering first)
aws ec2 purchase-capacity-block \\
  --capacity-block-offering-id cb-0123456789abcdefg \\
  --instance-platform Linux/UNIX

For UltraServers pass --ultraserver-type u-p6e-gb200x72 and an UltraServer count instead of an instance type.

15Licensing — read this before you self-host

HuggingFace reports license: other for most of these models, which is not actionable. Every licence below was fetched and read verbatim on 2026-08-12. The differences are material and they do not follow family lines.

⛔ The headline finding — MiniMax-M3 is not freely commercial

MiniMaxAI/MiniMax-M3 ships under the MiniMax Community License, whose base grant is non-commercial only: "…to deal in the Software for non-commercial purposes…". Any commercial use requires both (a) prominently displaying "Built with MiniMax M3", and (b) obtaining separate, prior written authorization from MiniMax. It also carries a Prohibited Uses appendix (no military use, etc.). If you were planning to self-host MiniMax-M3 on EC2 for a commercial product, you need a contract with MiniMax first. Note this is stricter than its own predecessor M2.5.

ModelLicenceCommercialTrigger / thresholdProhibited uses
GLM-5.2Plain MIT, unmodified verified byte-for-byteyes, unrestrictedNone — no MAU, no revenue, no naming beyond MIT notice retentionNone
DeepSeek-V4-Pro / V4-FlashPlain MIT, unmodified verifiedyes, unrestrictedNoneNone
Kimi-K3"Kimi K3 License" — MIT-style + 2 clausesyes> 100 M MAU OR > $20 M monthly revenue → must prominently display "Kimi K3" on the UI. Separate agreement required for Model-as-a-Service. Carve-outs for purely internal use.None beyond "comply with applicable laws"
Kimi-K2.5Modified MIT (one appended paragraph)yes, unrestricted> 100 M MAU OR > $20 M monthly revenue → display "Kimi K2.5"None
MiniMax-M3MiniMax Community LicenseNO — non-commercial base grantANY commercial use → display "Built with MiniMax M3" AND obtain prior written authorizationYes — appendix incl. no military purpose
MiniMax-M2.5MiniMax Model License (Llama-style community agreement). ⚠ File is LICENSE-MODEL; there is no LICENSE file, and the HF card's modified-mit label is wrongyes — no revenue cap, no MAU thresholdMandatory NOTICE attribution file on redistribution + prominent change notices on modified filesYes — 9 items incl. no military purpose
Qwen3.8-2.4T-A95B"Qwen3.8-Max License" — changed from Apache-2.0yes> 100 M MAU OR > $20 M monthly revenue → naming requirement. Separate licence required if you run a Model-as-a-Service or "AI Work Assistant" business exceeding US$50 M over any consecutive 12 months.None beyond a compliance sentence
Qwen3.5 & Qwen3.6 (all sizes)Apache-2.0 correctedyes, unrestrictedNone — the bespoke licence starts only at Qwen3.8None
Qwen3-32B · Qwen3-235B-A22B · Qwen3-Next · Qwen3-CoderApache-2.0yes, unrestrictedNoneNone
MiniMax-M1-80kApache-2.0yes, unrestrictedNone — same vendor as M3, completely different termsNone
MiniMax-Text-01no licence stated at allunclear — treat as all-rights-reservedNo cardData.license, no LICENSE file foundUnknown
Kimi-Dev-72B · Kimi-Linear · Kimi-VLMIT correctedyes, unrestrictedNone — plain MIT, unlike K2.5/K3None
Practical read
  • GLM and DeepSeek are the clean choices for self-hosting. Both plain, unmodified MIT — verified byte-for-byte, no addendum, no thresholds, no prohibited-uses appendix. GLM-5.2's own card says it plainly: "Pure Open: an MIT open-source license — no regional limits."
  • Kimi and Qwen3.8 are fine for most enterprises — the 100 M MAU / $20 M-monthly triggers are far above typical usage, and internal-only use is explicitly carved out of the Kimi K3 requirements. But if you are at that scale, or you resell inference as a service, read the MaaS clauses carefully.
  • MiniMax needs legal review before any commercial deployment — M3 requires a contract; M2.5 is permissive but carries a 9-item prohibited-uses policy and mandatory attribution.
  • Licences change between adjacent versions, and within a single vendor's catalogue. Qwen3, Qwen3.5 and Qwen3.6 are Apache-2.0 — Qwen3.8 is not. Kimi-Dev-72B, Kimi-Linear and Kimi-VL are plain MIT while K2.5 is Modified-MIT and K3 has a bespoke licence. MiniMax-M1-80k is Apache-2.0 while MiniMax-M3 from the same vendor is non-commercial, and MiniMax-Text-01 carries no licence at all. There is no family-level rule here. Never infer a licence from a sibling model — fetch the file.
# Always check the actual file, not the HF metadata label
curl -s https://huggingface.co/MiniMaxAI/MiniMax-M3/raw/main/LICENSE | head -40
# and list what licence files actually exist (M2.5 uses LICENSE-MODEL, not LICENSE)
curl -s "https://huggingface.co/api/models/MiniMaxAI/MiniMax-M2.5/tree/main" \
  | jq -r '.[].path | select(test("LICEN|NOTICE"))'

16Guides & resources

Bedrock Custom Model Import

Custom Model Import — main guide The architecture allowlist, all size/context limits, tokenizer allowlist, required files, custom chat templates. The single most important page on this topic. docs.aws.amazon.com/bedrock/latest/userguide/model-customization-import-model.html Custom Model Import — product pageOverview and positioning. aws.amazon.com/bedrock/custom-model-import/ Bedrock pricing — Custom Model Import tabCustom Model Unit (CMU) billing model. aws.amazon.com/bedrock/pricing/

Bedrock managed catalog & Marketplace

Endpoint availability by modelsAuthoritative per-provider list of managed models and which of bedrock-runtime / bedrock-mantle serves each. docs.aws.amazon.com/bedrock/latest/userguide/models-endpoint-availability.html Z.AI model cards on BedrockGLM 4.7, GLM 4.7 Flash, GLM 5 — with parameter counts and context windows. docs.aws.amazon.com/bedrock/latest/userguide/model-cards-zai.html Bedrock model-card index pages (per provider) The canonical source for exact modelId strings, regions and context windows now that "models at a glance" redirects. Swap the slug: model-cards-deepseek · model-cards-moonshot-ai · model-cards-minimax · model-cards-qwen · model-cards-zai. docs.aws.amazon.com/bedrock/latest/userguide/model-cards-{provider}.html Bedrock MarketplaceSubscribe → deploy to a SageMaker-managed endpoint, callable through Bedrock APIs. Distinct from both CMI and the managed catalog. aws.amazon.com/bedrock/marketplace/ Qwen3 family in Bedrock Marketplace + JumpStartWorked deployment walkthrough, UI and SDK. aws.amazon.com/blogs/machine-learning/qwen3-family-of-reasoning-models… DeepSeek-R1 in Bedrock Marketplace + JumpStartThe canonical reference for the DeepSeek-on-AWS pattern. aws.amazon.com/blogs/machine-learning/deepseek-r1-model-now-available…

SageMaker — JumpStart

Available foundation models (the full table)436 open-weight + 121 proprietary models with model IDs, licenses and supported instance types. Includes the boto3 list_hub_contents snippet for live data. docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-latest.html Deploy with the JumpStartModel classMinimal SDK path to an endpoint. docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-use-python-sdk-model-class.html Deploy a JumpStart model on HyperPodThe hyp create hyp-jumpstart-endpoint CLI. docs.aws.amazon.com/sagemaker/latest/dg/deploy-jumpstart-model.html

SageMaker — BYOC / LMI / vLLM

Model parallelism and large model inferenceEntry point for LMI on SageMaker. docs.aws.amazon.com/sagemaker/latest/dg/large-model-inference.html LMI container documentationBackend selection, instance sizing, quantization, tensor parallelism, continuous batching. docs.aws.amazon.com/sagemaker/latest/dg/large-model-inference-container-docs.html LMI v15 — vLLM V1 engine, async modeExpanded architecture support and the config surface. aws.amazon.com/blogs/machine-learning/supercharge-your-llm-performance… Inference optimization & fast model loadingPre-shard and stream weights S3 → GPU. Essential above ~200 GB. docs.aws.amazon.com/sagemaker/latest/dg/model-optimize.html Worked LMI environment-variable configConcrete OPTION_* settings and the djl-inference image URI. aws.amazon.com/blogs/machine-learning/optimizing-llm-inference-on-amazon-sagemaker-ai-with-bentomls-llm-optimizer/ Custom vLLM container on SageMakerDockerfile pattern and SM_VLLM_* variables for a BYOC endpoint. aws.amazon.com/blogs/machine-learning/build-real-time-voice-applications-with-amazon-sagemaker-ai-and-vllm/

EC2 / EKS

Load & serve models on Amazon EKSvLLM as a Deployment with the AWS DLC image, streaming from S3. Complete manifests. docs.aws.amazon.com/eks/latest/userguide/ml-inference-load-serve-model.html Accelerate model loading on EKSRun:ai streamer, distributed per-rank shard loading, chunk sizing. The page to read before serving a TB-scale model. docs.aws.amazon.com/eks/latest/userguide/ml-inference-fast-model-loading.html EC2 P6 / P6e instance typesp6-b300 (2,144 GB), p6-b200 (1,432 GB), p6e-gb200 UltraServers (up to 13.4 TB HBM3e). aws.amazon.com/ec2/instance-types/p6/ Accelerated computing instance referenceFull spec tables across P4/P5/P6/G6e and Trn. aws.amazon.com/ec2/instance-types/accelerated-computing/ Getting started with GPU instancesDriver / CUDA / EFA / NCCL minimum version matrix per instance family. docs.aws.amazon.com/AWSEC2/latest/UserGuide/gpu-instances-started.html P6 software requirementsCUDA 12.8, driver R570, NVLINK 5, kernel 6.1, EFA 1.41.0, OFI NCCL 1.15.0. docs.aws.amazon.com/dlami/latest/devguide/p6-support-dlami.html

Multi-node, serving stacks & containers

awslabs/awsome-distributed-ai AWS-authored distributed training and inference test cases. 3.test_cases/pytorch/vllm/dsv3-uccl-nixl/ serves DeepSeek-V3 671B across multiple p5en.48xlarge on EKS/HyperPod with UCCL-EFA + NIXL and disaggregated prefill/decode — the closest AWS reference for a TB-scale MoE. (Formerly aws-samples/awsome-distributed-training.) github.com/awslabs/awsome-distributed-ai AWS vLLM Deep Learning Container — ECR Public Gallery Check the newest tag before planning. Current: 0.26.0-gpu-py312-cu130-ubuntu22.04-ec2-v1.4 and -sagemaker-v1.5-soci. Verify it is ≥ the minimum vLLM version your architecture needs — see §12. gallery.ecr.aws/deep-learning-containers/vllm SGLangAlternative serving engine. All five families implemented on main, with dedicated attention backends, NextN/MTP and DSpark draft-model support. github.com/sgl-project/sglang LeaderWorkerSet (LWS)The Kubernetes primitive AWS documents for spanning a single vLLM model replica across multiple EFA-connected nodes. AWS's documented multi-node pattern — not Ray. github.com/kubernetes-sigs/lws EC2 Capacity Blocks for MLThe only published purchase path for p5e.48xlarge, p6e-gb200 UltraServers and trn2.48xlarge. Reserve up to 8 weeks ahead, 1–182 days, up to 64 instances per block. docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks.html

Neuron / Trainium

AWS Neuron SDK documentation NxD Inference supported-architecture list and the custom-model onboarding guide — the only route for architectures not on that list. Current: Neuron 2.31.0, NxDI 0.10.18399. awsdocs-neuron.readthedocs-hosted.com/en/latest/ aws-neuron/neuronx-distributed-inference NxDI source. Contains undocumented models/deepseek/modeling_deepseek.py (DeepseekV3 MLA) — a signal of direction, not a supported path. github.com/aws-neuron/neuronx-distributed-inference

Licensing — fetch the actual files

MiniMax Community License (MiniMax-M3)⚠ Non-commercial base grant; commercial use needs prior written authorization from MiniMax. Read this before any deployment plan. huggingface.co/MiniMaxAI/MiniMax-M3/blob/main/LICENSE Kimi K3 LicenseMIT-style with a 100 M MAU / $20 M-monthly naming trigger and a Model-as-a-Service clause; internal use carved out. huggingface.co/moonshotai/Kimi-K3/blob/main/LICENSE Qwen3.8-Max LicenseChanged from Apache-2.0. Naming trigger at 100 M MAU / $20 M monthly; separate licence required above US$50 M/12 months for MaaS or "AI Work Assistant" businesses. huggingface.co/Qwen/Qwen3.8-2.4T-A95B/blob/main/LICENSE

Governance & model sources

Restricting DeepSeek models across an AWS OrganizationSCP/IAM patterns. Also the clearest AWS-authored summary of the four DeepSeek deployment paths — and it names Custom Model Import as valid for the Distill models, which corroborates the architecture-inheritance rule. repost.aws/articles/AROjoxvT7dR-aPBCuLBpVclg/… vLLM supported modelsCheck an architecture before committing to self-hosting. The registry on main is ahead of the docs. docs.vllm.ai/en/latest/models/supported_models.html HuggingFace Hub APIThe ground-truth endpoints used throughout this page: /api/models/{repo}, /raw/main/config.json, /raw/main/model.safetensors.index.json. huggingface.co/docs/hub/api

17Method & caveats

How every number here was produced

FactSource of truth
Architecture string, model_type, context length, quantizationhttps://huggingface.co/{repo}/raw/main/config.json
Parameter count, license, gated status, dateshttps://huggingface.co/api/models/{repo}safetensors.total, cardData.license
Weight sizemodel.safetensors.index.jsonmetadata.total_size, cross-checked against parameter count × dtype width
Tokenizer classtokenizer_config.jsontokenizer_class
ModalityPresence of vision_config/visual, the _vl/_text suffix on model_type, and ForCausalLM vs ForConditionalGeneration
CMI allowlist & limitsAWS documentation, read verbatim 2026-08-12
Bedrock managed inventoryEndpoint-availability page, read verbatim
JumpStart rosterAvailable-foundation-models table, read directly
vLLM supportvllm/model_executor/models/registry.py on main
EC2 GPU memoryAWS instance-type pages
⚠ If you reproduce this work: index.json's total_size is unreliable

An adversarial pass re-verified all 18 weight sizes and found 4 of my figures wrong by ~2×. Root cause: metadata.total_size in model.safetensors.index.json fails in both directions depending on who wrote it.

Repoindex.json saysActual bytesFailure mode
zai-org/GLM-4.7358.3 GB716.7 GBtotal_size holds the parameter count, not bytes (BF16 → 2× under)
zai-org/GLM-4.7-Flash31.2 GB62.4 GBsame parameter-count bug
MiniMaxAI/MiniMax-M2.5466.1 GB230.1 GBFP8 checkpoint, total_size computed at 2 bytes/param (2.03× over)
deepseek-ai/DeepSeek-V3.21,370.8 GB689.5 GBFP8 checkpoint, same 2-bytes/param assumption (1.99× over)
MiniMaxAI/MiniMax-M3869.2 GB854.2 GB1.76% over — borderline, corrected anyway

The reliable method: sum the actual LFS blob sizes of every *.safetensors file, and cross-check against Σ(param_count × dtype_width) from /api/models/{repo}safetensors.parameters. If total_size disagrees with that product, trust the product. All sizes on this page now use the corrected method and were independently re-verified.

Two more HuggingFace API traps: (1) repos whose index.json is itself a Git-LFS object return the pointer text from /raw/main — use /resolve/main/… to get real JSON. Kimi-K3, Kimi-K2.5, DeepSeek-V4-Pro and GLM-5.2-FP8 all do this, which is why they initially appeared to have no index file. (2) On the tree API, ?recursive=1 returns everything in one page, but adding &expand=1 silently drops the page size to ~50 entries — that is what produced the original 7× undercount described below.

Correction log — errors caught before publication

1 · Weight sizes were initially wrong by 7×. The first pass summed LFS blob sizes via the tree API with &expand=1, which silently capped the response at ~50 entries — it returned 39 of GLM-5.2's 282 shards and reported 209 GB. Cross-checking against parameter count × dtype width exposed it; corrected to 1,506.7 GB, since independently re-verified three ways.

2 · Four sizes were then wrong by 2× from over-trusting index.json — see the box above. Caught by an adversarial re-verification pass, not by me.

3 · "GLM and MiniMax have never published a CMI-compatible model" was too strong. Refuted for GLM: the zai-org org publishes 16 Llama-3.1 fine-tunes reporting LlamaForCausalLM, which is allowlisted. The claim holds only for GLM-branded architectures. For MiniMax the org enumeration was truncated, so it is now stated as "none found" rather than "none, ever".

4 · A research agent over-claimed JumpStart support. It reported GLM-5.2-FP8 on JumpStart, citing a /2026/01/ What's-New URL — impossible for a model created 2026-06-16. The authoritative table shows GLM-5.1-FP8. Claim rejected.

Explicitly NOT verified — do not rely on these

  • Whether CMI accepts FP8 weights. Docs are now silent; the 2024 GA post said BF16-only. Moot for the flagships here, material if you import quantized weights generally.
  • The exact CMI context ceiling. Reasoned to be 131,072 inclusive from AWS's own supported-model set, but not stated numerically in any doc I could find.
  • RESOLVED Neuron / Trainium — now verified against Neuron SDK 2.31.0; see §12. Only Qwen3 and Qwen3-MoE are supported.
  • RESOLVED Per-region availability of each Bedrock managed model — see the region counts in §10. Still confirm in your own account, as regional rollout moves.
  • RESOLVED Exact Bedrock modelId strings and regions — now fetched from the per-model Bedrock model cards; see §10.
  • Two architecture remaps left as untested rather than guessed: MiniMaxM2ForCausalLM → MixtralForCausalLM and Glm4ForCausalLM → LlamaForCausalLM.
  • Kimi K3 / K2.5 modality. Both use the multimodal ForConditionalGeneration signature but expose no top-level vision_config, so which size cap would apply is unconfirmed. Moot — both exceed even the 200 GB text cap by 3–8×.
Deliberately excluded

No benchmark or quality claims appear anywhere on this page. Every vendor-reported score for these models was either irreproducible or unverifiable against a primary source, so none are reproduced. This page answers "can it run on AWS, and how", not "is it any good".

Licensing — now fully resolved, see §14

Every licence in scope was fetched and read verbatim. Headline: MiniMax-M3's base grant is non-commercial and requires prior written authorization from MiniMax for any commercial use. GLM and DeepSeek are plain unmodified MIT. Kimi and Qwen3.8 carry 100 M MAU / $20 M-monthly naming triggers. Full table in §14.