Bedrock vs SageMaker AI: which one to pick

Updated October 9, 2026

Amazon Bedrock is a fully managed service that gives you API access to foundation models from several providers; you build the application and AWS runs the models. Amazon SageMaker AI is the platform for building, training and hosting machine learning models yourself, including open foundation models. The decision rule: if calling an existing foundation model through an API is enough, choose Bedrock; if you must train a model, run classical ML, or control the hosting infrastructure, choose SageMaker AI. The two are not rivals. A model trained in SageMaker AI can be imported into Bedrock, and Bedrock models can be evaluated and orchestrated from SageMaker pipelines.

A naming trap before the table

On December 3, 2024, Amazon SageMaker was renamed Amazon SageMaker AI. At the same time AWS launched a new, broader product called Amazon SageMaker, a unified platform for data, analytics and AI. AWS lists SageMaker AI as one capability of it, next to the lakehouse, SageMaker Unified Studio and, in the same list, Amazon Bedrock. API namespaces, CLI commands and managed policy names kept the sagemaker and AmazonSageMaker spelling. When a question says “SageMaker AI”, it means the build-train-deploy service. Exam guides for AIF-C01 and MLA-C02 use the “SageMaker AI” name.

Requirement-to-service decision table

The scenario says…PickWhy
Use a ready-made LLM for summaries, chat or text generation, no ML teamBedrockModels are served by AWS; you pay per token on demand
Choose between models from several providers through one APIBedrockAWS documents 100+ models from many providers
RAG over company documentsBedrock Knowledge BasesManaged ingestion, retrieval and citations (see RAG explained)
Block harmful topics or mask PII in prompts and answersBedrock GuardrailsConfigurable filters, also usable alone through the ApplyGuardrail API
Predict churn or prices from tabular dataSageMaker AIClassical ML: built-in algorithms, script mode, tuning
Full control of instance type, container, VPC placementSageMaker AIYou configure the endpoint
Host an open-weight model on instances you chooseSageMaker AI (JumpStart or your own container)You pay for the instances while the endpoint runs
Weights trained elsewhere must be callable through BedrockBedrock Custom Model ImportImport from Amazon S3, Hugging Face weights format
Tune hyperparameters, track experiments, register model versionsSageMaker AIAutomatic model tuning, MLflow, Model Registry

What each service charges for

Bedrock on demand bills per million input and output tokens, at rates that depend on the model, provider and Region. Batch inference runs prompts asynchronously from Amazon S3 files and, for select models, is priced at 50% below on-demand, according to the Bedrock pricing page. Provisioned Throughput is the fixed-cost mode: you buy model units by the hour, with no commitment, one month or six months, and longer commitments lower the hourly price. If you customized a model in Bedrock, you must buy Provisioned Throughput to run it. Models imported with Custom Model Import are different: AWS documents that they can be used with on-demand throughput, and the pricing page bills them per Custom Model Unit per minute while copies are active.

SageMaker AI real-time endpoints are billed for the instances while they are running. Serverless inference, asynchronous inference (payloads up to 1 GB, processing up to one hour) and batch transform shift that cost shape; the full list is in the SageMaker AI components guide.

Customizing a model: three Bedrock options, many SageMaker AI ones

Bedrock documents three customization methods: supervised fine-tuning with labeled examples, reinforcement fine-tuning driven by reward functions you define in AWS Lambda, and distillation from a larger teacher model to a smaller student. Whether to customize at all is a separate question; fine-tuning vs RAG vs prompting gives the order to try them in. In SageMaker AI you train with built-in algorithms, your own scripts or containers, and you can fine-tune JumpStart models. Custom Model Import accepts specific architectures (Llama, Mistral, Mixtral, Qwen and others), weights under 200 GB for text models, and does not support embedding models.

One company, three requirements

A retailer wants (1) a chatbot answering from its returns policy, (2) a weekly churn score per customer from purchase tables, and (3) a domain-adapted open model it trained on its own data.

  1. The chatbot is a Bedrock Knowledge Base plus a Bedrock model, with Guardrails to refuse off-topic questions. No training, no instances.
  2. The churn score is tabular ML. Train in SageMaker AI, then use batch transform because scores are needed once a week and no endpoint has to stay running.
  3. The adapted model is trained in SageMaker AI. To serve it without managing an endpoint, import the weights into Bedrock; to keep full control of the hardware, host it on a SageMaker AI endpoint.

Three requirements, two services, and the exam answer follows the requirement, not the product loyalty.

Which exams test this

ExamWhere it appearsWhere on this site
AIF-C01Domain 2 (24%), task 2.3: pick AWS services to develop GenAI apps (Bedrock, SageMaker AI, JumpStart). Domain 1 (20%), task 1.3: services for each pipeline stage and ways to use a model in productionGenAI fundamentals explained, AIF-C01 vs MLA-C02
MLA-C02Domain 2 (24%): select FMs from Bedrock, weigh custom solutions against managed services and FMs. Domain 3 (24%): choose FM deployment options, deploy outside models with SageMaker AI or Bedrock Custom Model ImportModel development explained, Deployment and orchestration explained

How the questions are built

The scenario hides the decision in constraint words. “No infrastructure to manage”, “multiple providers” and “pay per use” point to Bedrock. “Train”, “custom algorithm”, “tabular”, “hyperparameter” and “specific instance type” point to SageMaker AI. On MLA-C02, “model built outside AWS” or “weights in S3” points to Custom Model Import. The usual trap is choosing SageMaker AI because it sounds more powerful; at associate and practitioner level the least-effort managed option is normally the expected answer. A second trap is treating Bedrock as pay-per-token in every case; a customized Bedrock model needs Provisioned Throughput. Security wording matters too: Bedrock API keys come in short-term (up to 12 hours, recommended for production) and long-term forms, and AWS recommends the long-term kind only for exploration. See AWS IAM basics for the role-based alternative.

Practice questions

Question 1. A support team wants to add ticket summarisation to its tool this week. It has no machine learning staff, traffic is unpredictable, and it wants to pay only for what it uses. Which approach fits best?

  • A. Deploy an open model on a SageMaker AI real-time endpoint
  • B. Call a foundation model through Amazon Bedrock on demand
  • C. Train a summarisation model from scratch in SageMaker AI
  • D. Buy Bedrock Provisioned Throughput with a six-month commitment
Show answer

Answer: B

Bedrock exposes foundation models through an API and bills on-demand usage per input and output token, so there is nothing to train or host and cost follows traffic. A SageMaker AI real-time endpoint bills for instances while it runs and needs hosting decisions. Training a model from scratch is far more effort than a summarisation feature needs. Provisioned Throughput with a six-month commitment is a fixed hourly cost, the opposite of paying only for use.

Question 2. A team fine-tuned an open model with a Llama architecture in SageMaker AI and stored the weights in Amazon S3 in Hugging Face format. They want to invoke it through Amazon Bedrock inference APIs without operating an inference endpoint. What should they use?

  • A. Bedrock Custom Model Import
  • B. Bedrock model distillation
  • C. Bedrock Knowledge Bases
  • D. SageMaker AI batch transform
Show answer

Answer: A

Bedrock Custom Model Import brings weights customized elsewhere, for example in SageMaker AI, into Bedrock from an S3 location, and the imported model is invoked with InvokeModel. Distillation creates a new smaller model from a teacher model and does not import existing weights. Knowledge Bases provide retrieval for RAG, not model hosting. Batch transform is a SageMaker AI job type for offline inference and does not expose the model through Bedrock APIs.

Go deeper