Skip to content
AI News HubLIVE
Source content · Analysis pending3 min read

Deploy and evaluate models with Amazon SageMaker JumpStart

Summary

Learn how to deploy an available model from Amazon SageMaker JumpStart, run a lightweight and repeatable performance test using the SageMaker Python SDK, and delete the endpoint when testing is complete.

SourceAWS Machine Learning BlogAuthor: Vamsi Goparaju
Deploy and evaluate models with Amazon SageMaker JumpStart
Report an error

The correction channel is not available yet. You can copy the article reference below for later.

Correction instructions
Read article

Choosing the right model for a specific application requires a practical way to test it with representative inputs. Amazon SageMaker JumpStart provides access to a broad catalog of already pretrained models. In this post, we show how to deploy an available model from SageMaker JumpStart, run a lightweight and repeatable performance test using the SageMaker Python SDK, and delete the endpoint when testing is complete. For supported models and available capacity, this workflow provides a repeatable evaluation path, although deployment time varies by model, instance type, quota, and AWS Region.

In 2026, SageMaker JumpStart introduced two improvements that simplify model discovery and deployment. In the Model Hub section of the Amazon SageMaker AI console, you can browse the SageMaker JumpStart catalog, view sample notebooks, and open them directly in SageMaker Studio. Pre-configured endpoint deployment options provide named configurations optimized for priorities such as low cost, low latency, or general-purpose workloads across a range of generative AI models, including Neuron-optimized configurations. Additionally, you can now go from Hugging Face model discovery to SageMaker AI deployment in a single click using the new deep link integration.

Solution overview

Our approach uses a reusable Python script that performs three steps:

Discover and deploy a model from SageMaker JumpStart.

Run model-specific sample prompts and measure latency, approximate output length, and single-request generation rate.

Clean up the endpoint.

This pattern works for many compatible SageMaker JumpStart models, although payload formats, required instance types, end-user license agreement (EULA) requirements, and response schemas may require model-specific adjustments.

Prerequisites

An AWS account with SageMaker AI permissions.

Python 3+ with SageMaker Python SDK v3 installed (pip install "sagemaker>=3,",region=REGION)

def read_response_body(result): body = result.body if hasattr(body, "read"): body = body.read() if isinstance(body, bytes): body = body.decode("utf-8") if isinstance(body, str): try: return json.loads(body) except json.JSONDecodeError: return body return body

def extract_output(response): """Handle common JumpStart text-generation response formats.""" if isinstance(response, list): response = response[0] if response else "" if isinstance(response, dict): choices = response.get("choices") if choices: choice = choices[0] message = choice.get("message") if isinstance(message, dict): return message.get("content", "") return choice.get("text", "") for field in ( "generated_text", "output_text", "text", ): if field in response: return response[field] return response

results = []

for payload in example_payloads or []: start = time.perf_counter() result = endpoint.invoke( body=payload.body, content_type=payload.content_type, accept=payload.accept, ) latency = time.perf_counter() - start response = read_response_body(result) output = extract_output(response) if not isinstance(output, str): output = json.dumps(output, indent=2)

This is an estimate based on whitespace-separated words.

output_words = len(output.split()) results.append( { "request_preview": payload.body[:50], "latency_s": round(latency, 2), "estimated_output_words": output_words, "words_per_second": round( output_words / latency, 1, ) if latency > 0 else 0, } ) print("Input:\n", payload.body, end="\n\n") print("Output:\n", output, end="\n\n") print( f"Latency: {latency:.2f} seconds\n" f"Estimated output words: {output_words}\n" f"Estimated single-request output generation rate: " f"{output_words / latency:.1f} words/second\n" ) print("-" * 80)

print("\nSummary:") for result in results: print(result)

Result:

Input: {"max_tokens": 256, "messages": [{"content": "What is deep learning?", "role": "user"}], "model": "/opt/ml/model"} Output: Here's a thinking process that leads to the explanation of deep learning:

  1. Deconstruct the Request:
  • Question: "What is deep learning?"
  • Intent: The user wants a clear, comprehensive, yet accessible definition and overview of deep learning.
  • Target Audience: Likely someone looking for a general understanding, possibly a student, tech

enthusiast, or professional exploring the field. The tone should be informative, structured, and not overly jargon-heavy (though key terms need explanation).

  1. Initial Brainstorming & Key Concepts:
  • What is it? A subset of machine learning, which is a subset of AI.
  • Core mechanism: Artificial Neural Networks (ANNs).
  • "Deep" means many layers (hidden layers).
  • How does it work? Learning representations from data (feature learning).
  • Key applications: Image recognition, NLP, speech, self-driving cars.
  • Why is it popular now? Big data, GPU power, better algorithms.
  • Pros/Cons: High accuracy vs. black box, data hunger.
  1. Structuring the Answer:

Latency: 9.07 seconds Estimated output words: 153 Estimated single-request output generation rate: 16.9 words/second -------------------------------------------------------------------------------- Summary: {'request_preview': '{"max_tokens": 256, "messages": {"content": "What', 'latency_s': 9.07, 'estimated_output_words': 153, 'words_per_second': 16.9}

Step 3: Cleanup

print(f"Deleting endpoint: {endpoint.endpoint_name}") endpoint.delete() endpoint.wait_for_delete() print("Endpoint deleted")

Conclusion

This pattern works for many available SageMaker JumpStart models, but the payload format, required instance type, EULA, and response parsing may require model-specific adjustments. By using consistent test prompts and measuring latency, throughput, and output quality across models, you can compare options and select the right fit for your workload.

Try this approach with different models from Amazon SageMaker JumpStart to find the right balance of quality, speed, and cost for your applications.

References

SageMaker Python SDK Documentation

Benchmark and Optimize SageMaker JumpStart Deployment (blog post)

From Hugging Face to SageMaker Studio in One Click (blog post)

Amazon SageMaker JumpStart

About the authors

Key points and analysis

Article intelligence

EngineersAdvanced

Key points

  • AI generation is temporarily unavailable; this entry was preserved with deterministic fallback metadata.
  • Learn how to deploy an available model from Amazon SageMaker JumpStart, run a lightweight and repeatable performance test using the SageMaker Python SDK, and delete the endpoint w…

Highlights and analysis are generated automatically and may contain errors. Check the original source.

Deploy and evaluate models with Amazon SageMaker JumpStart | AI News Hub