Skip to content

Commit 5d86977

Browse files
Aditi2424adishaamaheshxbjiayelamazon
authored
Documentation (#166) - Progressive disclosure on Index page
* Update telemetry status to be Integer for parity (#130) Co-authored-by: adishaa <adishaa@amazon.com> * Release new version for Health Monitoring Agent (1.0.643.0_1.0.192.0) with minor improvements and bug fixes (#137) * Release new version for Health Monitoring Agent (1.0.674.0_1.0.199.0) with minor improvements and bug fixes. (#139) * documentation working setup * training inference documentation changes * Add more inference examples * UI changes for documentation * Change to tabbed view for CLI and SDK * Change to tabbed view getting started page * clean up custom css * fix inference sdk create commands * Fix sdk and cli commands * Open example notebook links in new tab * Fix dark theme text * Minor doc fixes * Documentation Feedback Changes, Add Metadata * Use progressive disclosure on index page --------- Co-authored-by: adishaa <adishaa@amazon.com> Co-authored-by: maheshxb <maheshxb@amazon.com> Co-authored-by: jiayelamazon <jiayel@amazon.com>
1 parent cc5bbfb commit 5d86977

4 files changed

Lines changed: 139 additions & 38 deletions

File tree

doc/conf.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,9 @@ def get_version():
134134
"home_page_in_toc": True
135135
}
136136

137+
author = "Amazon Web Services"
138+
copyright = f"{datetime.datetime.now().year}, Amazon Web Services"
139+
137140
htmlhelp_basename = "{}doc".format(project)
138141
html_static_path = ["_static"]
139142
html_css_files = ["custom.css"]

doc/getting_started.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ List all available SageMaker HyperPod clusters in your account:
1111
`````{tab-set}
1212
````{tab-item} CLI
1313
```bash
14-
hyp list-cluster [--region <region>] [--namespace <namespace>] [--output <json|table>]
14+
hyp list-cluster [--region <region>]
1515
```
1616
````
1717
@@ -32,15 +32,15 @@ Configure your local kubectl environment to interact with a specific SageMaker H
3232
`````{tab-set}
3333
````{tab-item} CLI
3434
```bash
35-
hyp set-cluster-context --cluster-name <cluster-name> [--namespace <namespace>]
35+
hyp set-cluster-context --cluster-name <cluster-name>
3636
```
3737
````
3838
3939
````{tab-item} SDK
4040
```python
4141
from sagemaker.hyperpod import set_cluster_context
4242
43-
set_cluster_context('<my-cluster>', region='aws-region')
43+
set_cluster_context('<my-cluster>')
4444
4545
```
4646
````

doc/index.md

Lines changed: 124 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
1+
---
2+
keywords:
3+
- distributed
4+
- kubernetes
5+
- pytorch
6+
- monitoring
7+
- jumpstart
8+
---
9+
110
(hpcli_docs_mainpage)=
211

3-
# Overview
12+
# SageMaker HyperPod CLI & SDK
413

514
```{toctree}
615
:hidden:
@@ -14,49 +23,145 @@ Example Notebooks <examples>
1423
API reference <_apidoc/modules>
1524
```
1625

17-
SageMaker HyperPod Command Line Interface (CLI) and Software Development Kit (SDK) provide a seamless way to manage distributed training and inference workloads on EKS-orchestrated SageMaker HyperPod clusters—without needing Kubernetes expertise. Use the powerful CLI to launch and monitor training jobs and endpoints, or leverage the Python SDK to do the same programmatically with minimal code, including support for JumpStart models, custom endpoints, and built-in monitoring.
26+
**Manage distributed Machine Learning workloads on Kubernetes clusters without the complexity.**
27+
28+
The SageMaker HyperPod Command Line Interface and SDK simplify distributed training and inference on EKS-orchestrated clusters.
1829

19-
## Start Here
30+
## Quick Start
2031

2132
::::{container}
22-
::::{grid} 1 2 4 4
33+
::::{grid} 1 2 2 2
2334
:gutter: 3
2435

2536
:::{grid-item-card} Installation
2637
:link: installation
2738
:link-type: ref
39+
:class-card: sd-border-primary
2840

29-
Get the CLI/ SDK setup
41+
**New to HyperPod?** Install the CLI/ SDK in minutes.
3042
:::
3143

32-
:::{grid-item-card} Quickstart
44+
:::{grid-item-card} Getting Started
3345
:link: getting_started
3446
:link-type: ref
47+
:class-card: sd-border-secondary
3548

36-
Beginner's guide to using CLI/ SDK
49+
**Ready to explore?** Connect to your cluster before running ML workflows.
3750
:::
3851

39-
:::{grid-item-card} Training
40-
:link: training
41-
:link-type: ref
52+
::::
53+
::::
54+
55+
## What You Can Do
56+
57+
::::{container}
58+
::::{grid} 1 1 2 2
59+
:gutter: 3
60+
61+
:::{grid-item-card} Training Workloads
62+
:class-card: sd-border-success
4263

43-
Detailed guide on creating Pytorch training jobs
64+
**Distributed Training**
65+
- HyperPodPytorchJob distributed training
66+
- Multi-node, multi-GPU support
67+
- Built-in monitoring and logging
68+
69+
```{dropdown} Learn More About Training
70+
:color: success
71+
:icon: chevron-down
72+
73+
- [Training Guide](training.md) - Complete training workflows
74+
- [Example Notebooks](examples.md) - Hands-on training examples
75+
- Supported frameworks: PyTorch
76+
```
4477
:::
4578

46-
:::{grid-item-card} Inference
47-
:link: inference
48-
:link-type: ref
79+
:::{grid-item-card} Inference Endpoints
80+
:class-card: sd-border-info
81+
82+
**Model Serving**
83+
- Deploy models as scalable endpoints
84+
- JumpStart model integration
85+
- Real-time and batch inference
4986

50-
Detailed guide on creating, invoking and monitoring endpoints
87+
```{dropdown} Learn More About Inference
88+
:color: info
89+
:icon: chevron-down
90+
91+
- [Inference Guide](inference.md) - Complete inference workflows
92+
- [Example Notebooks](examples.md) - Hands-on inference examples
93+
- Supported models: JumpStart models, Custom models
94+
```
5195
:::
5296

53-
:::{grid-item-card} Example Notebooks
54-
:link: examples
55-
:link-type: ref
97+
::::
98+
::::
5699

57-
Notebooks that demonstrate end-to-end workflows
100+
## Choose Your Interface
101+
102+
::::{container}
103+
::::{grid} 1 1 2 2
104+
:gutter: 3
105+
106+
:::{grid-item-card} Command Line Interface
107+
:class-card: sd-border-warning
108+
109+
**For DevOps & Quick Tasks**
110+
```bash
111+
# Launch a training job
112+
hyp create hyp-pytorch-job \
113+
--job-name my-training \
114+
--image pytorch/pytorch:latest \
115+
```
116+
117+
```{dropdown} CLI Features
118+
:color: warning
119+
:icon: terminal
120+
121+
- Interactive job management
122+
- Built-in status monitoring
123+
```
124+
:::
125+
126+
:::{grid-item-card} Python SDK
127+
:class-card: sd-border-danger
128+
129+
**For Programmatic Control**
130+
```python
131+
from sagemaker.hyperpod.training import HyperPodPytorchJob
132+
from sagemaker.hyperpod.common.config import Metadata
133+
134+
pytorch_job = HyperPodPytorchJob(
135+
metadata=Metadata(name="demo"),
136+
nproc_per_node="1",
137+
replica_specs=replica_specs,
138+
run_policy=run_policy,
139+
)
140+
141+
pytorch_job.create()
142+
```
143+
144+
```{dropdown} SDK Features
145+
:color: danger
146+
:icon: code
147+
148+
- Pythonic API design
149+
- Jupyter notebook integration
150+
- Programmatic job orchestration
151+
```
58152
:::
59153

60154
::::
61155
::::
62156

157+
## Advanced Resources
158+
159+
```{dropdown} Complete Documentation
160+
:color: primary
161+
:icon: book
162+
163+
- [API Reference](_apidoc/modules.rst) - Complete SDK documentation
164+
- [Training Guide](training.md) - In-depth training workflows
165+
- [Inference Guide](inference.md) - Comprehensive inference setup
166+
- [Example Notebooks](examples.md) - End-to-end examples
167+
```

doc/training.md

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
---
2+
keywords:
3+
- distributed
4+
- kubernetes
5+
- pytorch
6+
- containerized
7+
- orchestration
8+
---
9+
110
(training)=
211

312
# Training with SageMaker HyperPod
@@ -23,24 +32,8 @@ You can create training jobs using either the CLI or SDK approach:
2332
````{tab-item} CLI
2433
```bash
2534
hyp create hyp-pytorch-job \
26-
--version 1.0 \
2735
--job-name test-pytorch-job \
2836
--image pytorch/pytorch:latest \
29-
--command '[python, train.py]' \
30-
--args '[--epochs=10, --batch-size=32]' \
31-
--environment '{"PYTORCH_CUDA_ALLOC_CONF": "max_split_size_mb:32"}' \
32-
--pull-policy "IfNotPresent" \
33-
--instance-type ml.p4d.24xlarge \
34-
--tasks-per-node 8 \
35-
--label-selector '{"accelerator": "nvidia", "network": "efa"}' \
36-
--deep-health-check-passed-nodes-only true \
37-
--scheduler-type "kueue" \
38-
--queue-name "training-queue" \
39-
--priority "high" \
40-
--max-retry 3 \
41-
--volumes '[data-vol, model-vol, checkpoint-vol]' \
42-
--persistent-volume-claims '[shared-data-pvc, model-registry-pvc]' \
43-
4437
```
4538
````
4639
````{tab-item} SDK

0 commit comments

Comments
 (0)