From dac60937217747f138018e9dcd2b89651534cd64 Mon Sep 17 00:00:00 2001 From: pvijayakrish Date: Fri, 6 Sep 2024 17:25:13 -0700 Subject: [PATCH 1/2] Update README and versions for 24.09 --- Dockerfile | 8 +- README.md | 114 +----------------- VERSION | 2 +- docs/bls_quick_start.md | 4 +- docs/config.md | 2 +- docs/ensemble_quick_start.md | 4 +- docs/kubernetes_deploy.md | 2 +- docs/mm_quick_start.md | 4 +- docs/quick_start.md | 4 +- helm-chart/values.yaml | 2 +- .../config/input/config_defaults.py | 2 +- 11 files changed, 18 insertions(+), 130 deletions(-) diff --git a/Dockerfile b/Dockerfile index dcaf1bf3..ee3e07c8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,11 +12,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -ARG BASE_IMAGE=nvcr.io/nvidia/tritonserver:24.08-py3 -ARG TRITONSDK_BASE_IMAGE=nvcr.io/nvidia/tritonserver:24.08-py3-sdk +ARG BASE_IMAGE=nvcr.io/nvidia/tritonserver:24.09-py3 +ARG TRITONSDK_BASE_IMAGE=nvcr.io/nvidia/tritonserver:24.09-py3-sdk -ARG MODEL_ANALYZER_VERSION=1.44.0dev -ARG MODEL_ANALYZER_CONTAINER_VERSION=24.09dev +ARG MODEL_ANALYZER_VERSION=1.44.0 +ARG MODEL_ANALYZER_CONTAINER_VERSION=24.09 FROM ${TRITONSDK_BASE_IMAGE} as sdk FROM $BASE_IMAGE diff --git a/README.md b/README.md index 944bc3a6..66f1d277 100644 --- a/README.md +++ b/README.md @@ -20,116 +20,4 @@ limitations under the License. > [!Warning] > -> ##### LATEST RELEASE -> -> You are currently on the `main` branch which tracks under-development progress towards the next release.
-> The latest release of the Triton Model Analyzer is 1.43.0 and is available on branch -> [r24.08](https://github.com/triton-inference-server/model_analyzer/tree/r24.08). - -Triton Model Analyzer is a CLI tool which can help you find a more optimal configuration, on a given piece of hardware, for single, multiple, ensemble, or BLS models running on a [Triton Inference Server](https://github.com/triton-inference-server/server/). Model Analyzer will also generate reports to help you better understand the trade-offs of the different configurations along with their compute and memory requirements. -

- -# Features - -### Search Modes - -- [Optuna Search](docs/config_search.md#optuna-search-mode) **_-ALPHA RELEASE-_** allows you to search for every parameter that can be specified in the model configuration, using a hyperparameter optimization framework. Please see the [Optuna](https://optuna.org/) website if you are interested in specific details on how the algorithm functions. - -- [Quick Search](docs/config_search.md#quick-search-mode) will **sparsely** search the [Max Batch Size](https://github.com/triton-inference-server/server/blob/main/docs/user_guide/model_configuration.md#maximum-batch-size), - [Dynamic Batching](https://github.com/triton-inference-server/server/blob/main/docs/user_guide/model_configuration.md#dynamic-batcher), and - [Instance Group](https://github.com/triton-inference-server/server/blob/main/docs/user_guide/model_configuration.md#instance-groups) spaces by utilizing a heuristic hill-climbing algorithm to help you quickly find a more optimal configuration - -- [Automatic Brute Search](docs/config_search.md#automatic-brute-search) will **exhaustively** search the - [Max Batch Size](https://github.com/triton-inference-server/server/blob/main/docs/user_guide/model_configuration.md#maximum-batch-size), - [Dynamic Batching](https://github.com/triton-inference-server/server/blob/main/docs/user_guide/model_configuration.md#dynamic-batcher), and - [Instance Group](https://github.com/triton-inference-server/server/blob/main/docs/user_guide/model_configuration.md#instance-groups) - parameters of your model configuration - -- [Manual Brute Search](docs/config_search.md#manual-brute-search) allows you to create manual sweeps for every parameter that can be specified in the model configuration - -### Model Types - -- [Ensemble](docs/model_types.md#ensemble): Model Analyzer can help you find the optimal - settings when profiling an ensemble model - -- [BLS](docs/model_types.md#bls): Model Analyzer can help you find the optimal - settings when profiling a BLS model - -- [Multi-Model](docs/model_types.md#multi-model): Model Analyzer can help you - find the optimal settings when profiling multiple concurrent models - -- [LLM](docs/model_types.md#llm): Model Analyzer can help you - find the optimal settings when profiling Large Language Models - -### Other Features - -- [Detailed and summary reports](docs/report.md): Model Analyzer is able to generate - summarized and detailed reports that can help you better understand the trade-offs - between different model configurations that can be used for your model. - -- [QoS Constraints](docs/config.md#constraint): Constraints can help you - filter out the Model Analyzer results based on your QoS requirements. For - example, you can specify a latency budget to filter out model configurations - that do not satisfy the specified latency threshold. -

- -# Examples and Tutorials - -### **Single Model** - -See the [Single Model Quick Start](docs/quick_start.md) for a guide on how to use Model Analyzer to profile, analyze and report on a simple PyTorch model. - -### **Multi Model** - -See the [Multi-model Quick Start](docs/mm_quick_start.md) for a guide on how to use Model Analyzer to profile, analyze and report on two models running concurrently on the same GPU. - -### **Ensemble Model** - -See the [Ensemble Model Quick Start](docs/ensemble_quick_start.md) for a guide on how to use Model Analyzer to profile, analyze and report on a simple Ensemble model. - -### **BLS Model** - -See the [BLS Model Quick Start](docs/bls_quick_start.md) for a guide on how to use Model Analyzer to profile, analyze and report on a simple BLS model. -

- -# Documentation - -- [Installation](docs/install.md) -- [Model Analyzer CLI](docs/cli.md) -- [Launch Modes](docs/launch_modes.md) -- [Configuring Model Analyzer](docs/config.md) -- [Model Analyzer Metrics](docs/metrics.md) -- [Model Config Search](docs/config_search.md) -- [Model Types](docs/model_types.md) -- [Checkpointing](docs/checkpoints.md) -- [Model Analyzer Reports](docs/report.md) -- [Deployment with Kubernetes](docs/kubernetes_deploy.md) -

- -# Terminology - -Below are definitions of some commonly used terms in Model Analyzer: - -- **Model Type** - Category of model being profiled. Examples of this include single, multi, ensemble, BLS, etc.. -- **Search Mode** - How Model Analyzer explores the possible configuration space when profiling. This is either exhaustive (brute) or heuristic (quick/optuna). -- **Model Config Search** - The cross product of model type and search mode. -- **Launch Mode** - How the Triton Server is deployed and used by Model Analyzer. - -# Reporting problems, asking questions - -We appreciate any feedback, questions or bug reporting regarding this -project. When help with code is needed, follow the process outlined in -the Stack Overflow (https://stackoverflow.com/help/mcve) -document. Ensure posted examples are: - -- minimal – use as little code as possible that still produces the - same problem - -- complete – provide all parts needed to reproduce the problem. Check - if you can strip external dependency and still show the problem. The - less time we spend on reproducing problems the more time we have to - fix it - -- verifiable – test the code you're about to provide to make sure it - reproduces the problem. Remove all other problems that are not - related to your request/question. +> You are currently on the `r24.08` branch which tracks under-development progress towards the next release.
diff --git a/VERSION b/VERSION index 28eae321..372cf402 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.44.0dev \ No newline at end of file +1.44.0 diff --git a/docs/bls_quick_start.md b/docs/bls_quick_start.md index 51219f15..7a7ba5de 100644 --- a/docs/bls_quick_start.md +++ b/docs/bls_quick_start.md @@ -49,7 +49,7 @@ git pull origin main **1. Pull the SDK container:** ``` -docker pull nvcr.io/nvidia/tritonserver:24.08-py3-sdk +docker pull nvcr.io/nvidia/tritonserver:24.09-py3-sdk ``` **2. Run the SDK container** @@ -59,7 +59,7 @@ docker run -it --gpus 1 \ --shm-size 2G \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(pwd)/examples/quick-start:$(pwd)/examples/quick-start \ - --net=host nvcr.io/nvidia/tritonserver:24.08-py3-sdk + --net=host nvcr.io/nvidia/tritonserver:24.09-py3-sdk ``` **Important:** The example above uses a single GPU. If you are running on multiple GPUs, you may need to increase the shared memory size accordingly

diff --git a/docs/config.md b/docs/config.md index d5d69366..866a55b5 100644 --- a/docs/config.md +++ b/docs/config.md @@ -153,7 +153,7 @@ cpu_only_composing_models: [ reload_model_disable: | default: false] # Triton Docker image tag used when launching using Docker mode -[ triton_docker_image: | default: nvcr.io/nvidia/tritonserver:24.08-py3 ] +[ triton_docker_image: | default: nvcr.io/nvidia/tritonserver:24.09-py3 ] # Triton Server HTTP endpoint url used by Model Analyzer client" [ triton_http_endpoint: | default: localhost:8000 ] diff --git a/docs/ensemble_quick_start.md b/docs/ensemble_quick_start.md index 631eb454..46601a40 100644 --- a/docs/ensemble_quick_start.md +++ b/docs/ensemble_quick_start.md @@ -55,7 +55,7 @@ mkdir examples/quick-start/ensemble_add_sub/1 **1. Pull the SDK container:** ``` -docker pull nvcr.io/nvidia/tritonserver:24.08-py3-sdk +docker pull nvcr.io/nvidia/tritonserver:24.09-py3-sdk ``` **2. Run the SDK container** @@ -65,7 +65,7 @@ docker run -it --gpus 1 \ --shm-size 1G \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(pwd)/examples/quick-start:$(pwd)/examples/quick-start \ - --net=host nvcr.io/nvidia/tritonserver:24.08-py3-sdk + --net=host nvcr.io/nvidia/tritonserver:24.09-py3-sdk ``` **Important:** The example above uses a single GPU. If you are running on multiple GPUs, you may need to increase the shared memory size accordingly

diff --git a/docs/kubernetes_deploy.md b/docs/kubernetes_deploy.md index 44a79f55..95e9ec94 100644 --- a/docs/kubernetes_deploy.md +++ b/docs/kubernetes_deploy.md @@ -79,7 +79,7 @@ images: triton: image: nvcr.io/nvidia/tritonserver - tag: 24.08-py3 + tag: 24.09-py3 ``` The model analyzer executable uses the config file defined in `helm-chart/templates/config-map.yaml`. This config can be modified to supply arguments to model analyzer. Only the content under the `config.yaml` section of the file should be modified. diff --git a/docs/mm_quick_start.md b/docs/mm_quick_start.md index 6d250754..e917745b 100644 --- a/docs/mm_quick_start.md +++ b/docs/mm_quick_start.md @@ -49,7 +49,7 @@ git pull origin main **1. Pull the SDK container:** ``` -docker pull nvcr.io/nvidia/tritonserver:24.08-py3-sdk +docker pull nvcr.io/nvidia/tritonserver:24.09-py3-sdk ``` **2. Run the SDK container** @@ -58,7 +58,7 @@ docker pull nvcr.io/nvidia/tritonserver:24.08-py3-sdk docker run -it --gpus all \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(pwd)/examples/quick-start:$(pwd)/examples/quick-start \ - --net=host nvcr.io/nvidia/tritonserver:24.08-py3-sdk + --net=host nvcr.io/nvidia/tritonserver:24.09-py3-sdk ``` ## `Step 3:` Profile both models concurrently diff --git a/docs/quick_start.md b/docs/quick_start.md index 555fa1bb..efd8b58e 100644 --- a/docs/quick_start.md +++ b/docs/quick_start.md @@ -49,7 +49,7 @@ git pull origin main **1. Pull the SDK container:** ``` -docker pull nvcr.io/nvidia/tritonserver:24.08-py3-sdk +docker pull nvcr.io/nvidia/tritonserver:24.09-py3-sdk ``` **2. Run the SDK container** @@ -58,7 +58,7 @@ docker pull nvcr.io/nvidia/tritonserver:24.08-py3-sdk docker run -it --gpus all \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(pwd)/examples/quick-start:$(pwd)/examples/quick-start \ - --net=host nvcr.io/nvidia/tritonserver:24.08-py3-sdk + --net=host nvcr.io/nvidia/tritonserver:24.09-py3-sdk ``` ## `Step 3:` Profile the `add_sub` model diff --git a/helm-chart/values.yaml b/helm-chart/values.yaml index 5861ba93..6ad4e346 100644 --- a/helm-chart/values.yaml +++ b/helm-chart/values.yaml @@ -41,4 +41,4 @@ images: triton: image: nvcr.io/nvidia/tritonserver - tag: 24.08-py3 + tag: 24.09-py3 diff --git a/model_analyzer/config/input/config_defaults.py b/model_analyzer/config/input/config_defaults.py index 0999437d..a7c709ab 100755 --- a/model_analyzer/config/input/config_defaults.py +++ b/model_analyzer/config/input/config_defaults.py @@ -63,7 +63,7 @@ DEFAULT_REQUEST_RATE_SEARCH_ENABLE = False DEFAULT_CONCURRENCY_SWEEP_DISABLE = False DEFAULT_TRITON_LAUNCH_MODE = "local" -DEFAULT_TRITON_DOCKER_IMAGE = "nvcr.io/nvidia/tritonserver:24.08-py3" +DEFAULT_TRITON_DOCKER_IMAGE = "nvcr.io/nvidia/tritonserver:24.09-py3" DEFAULT_TRITON_HTTP_ENDPOINT = "localhost:8000" DEFAULT_TRITON_GRPC_ENDPOINT = "localhost:8001" DEFAULT_TRITON_METRICS_URL = "http://localhost:8002/metrics" From 046f9e6ea07aa37630122a1283eb53dc69cdc812 Mon Sep 17 00:00:00 2001 From: Pavithra Vijayakrishnan <160681768+pvijayakrish@users.noreply.github.com> Date: Fri, 27 Sep 2024 09:48:32 -0700 Subject: [PATCH 2/2] Update README for r24.09 (#934) * Update README for r24.09 * Update branch name in README --- README.md | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 107 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 66f1d277..4363d530 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,110 @@ limitations under the License. # Triton Model Analyzer -> [!Warning] -> -> You are currently on the `r24.08` branch which tracks under-development progress towards the next release.
+Triton Model Analyzer is a CLI tool which can help you find a more optimal configuration, on a given piece of hardware, for single, multiple, ensemble, or BLS models running on a [Triton Inference Server](https://github.com/triton-inference-server/server/). Model Analyzer will also generate reports to help you better understand the trade-offs of the different configurations along with their compute and memory requirements. +

+ +# Features + +### Search Modes + +- [Optuna Search](docs/config_search.md#optuna-search-mode) **_-ALPHA RELEASE-_** allows you to search for every parameter that can be specified in the model configuration, using a hyperparameter optimization framework. Please see the [Optuna](https://optuna.org/) website if you are interested in specific details on how the algorithm functions. + +- [Quick Search](docs/config_search.md#quick-search-mode) will **sparsely** search the [Max Batch Size](https://github.com/triton-inference-server/server/blob/r24.09/docs/user_guide/model_configuration.md#maximum-batch-size), + [Dynamic Batching](https://github.com/triton-inference-server/server/blob/r24.09/docs/user_guide/model_configuration.md#dynamic-batcher), and + [Instance Group](https://github.com/triton-inference-server/server/blob/r24.09/docs/user_guide/model_configuration.md#instance-groups) spaces by utilizing a heuristic hill-climbing algorithm to help you quickly find a more optimal configuration + +- [Automatic Brute Search](docs/config_search.md#automatic-brute-search) will **exhaustively** search the + [Max Batch Size](https://github.com/triton-inference-server/server/blob/r24.09/docs/user_guide/model_configuration.md#maximum-batch-size), + [Dynamic Batching](https://github.com/triton-inference-server/server/blob/r24.09/docs/user_guide/model_configuration.md#dynamic-batcher), and + [Instance Group](https://github.com/triton-inference-server/server/blob/r24.09/docs/user_guide/model_configuration.md#instance-groups) + parameters of your model configuration + +- [Manual Brute Search](docs/config_search.md#manual-brute-search) allows you to create manual sweeps for every parameter that can be specified in the model configuration + +### Model Types + +- [Ensemble](docs/model_types.md#ensemble): Model Analyzer can help you find the optimal + settings when profiling an ensemble model + +- [BLS](docs/model_types.md#bls): Model Analyzer can help you find the optimal + settings when profiling a BLS model + +- [Multi-Model](docs/model_types.md#multi-model): Model Analyzer can help you + find the optimal settings when profiling multiple concurrent models + +- [LLM](docs/model_types.md#llm): Model Analyzer can help you + find the optimal settings when profiling Large Language Models + +### Other Features + +- [Detailed and summary reports](docs/report.md): Model Analyzer is able to generate + summarized and detailed reports that can help you better understand the trade-offs + between different model configurations that can be used for your model. + +- [QoS Constraints](docs/config.md#constraint): Constraints can help you + filter out the Model Analyzer results based on your QoS requirements. For + example, you can specify a latency budget to filter out model configurations + that do not satisfy the specified latency threshold. +

+ +# Examples and Tutorials + +### **Single Model** + +See the [Single Model Quick Start](docs/quick_start.md) for a guide on how to use Model Analyzer to profile, analyze and report on a simple PyTorch model. + +### **Multi Model** + +See the [Multi-model Quick Start](docs/mm_quick_start.md) for a guide on how to use Model Analyzer to profile, analyze and report on two models running concurrently on the same GPU. + +### **Ensemble Model** + +See the [Ensemble Model Quick Start](docs/ensemble_quick_start.md) for a guide on how to use Model Analyzer to profile, analyze and report on a simple Ensemble model. + +### **BLS Model** + +See the [BLS Model Quick Start](docs/bls_quick_start.md) for a guide on how to use Model Analyzer to profile, analyze and report on a simple BLS model. +

+ +# Documentation + +- [Installation](docs/install.md) +- [Model Analyzer CLI](docs/cli.md) +- [Launch Modes](docs/launch_modes.md) +- [Configuring Model Analyzer](docs/config.md) +- [Model Analyzer Metrics](docs/metrics.md) +- [Model Config Search](docs/config_search.md) +- [Model Types](docs/model_types.md) +- [Checkpointing](docs/checkpoints.md) +- [Model Analyzer Reports](docs/report.md) +- [Deployment with Kubernetes](docs/kubernetes_deploy.md) +

+ +# Terminology + +Below are definitions of some commonly used terms in Model Analyzer: + +- **Model Type** - Category of model being profiled. Examples of this include single, multi, ensemble, BLS, etc.. +- **Search Mode** - How Model Analyzer explores the possible configuration space when profiling. This is either exhaustive (brute) or heuristic (quick/optuna). +- **Model Config Search** - The cross product of model type and search mode. +- **Launch Mode** - How the Triton Server is deployed and used by Model Analyzer. + +# Reporting problems, asking questions + +We appreciate any feedback, questions or bug reporting regarding this +project. When help with code is needed, follow the process outlined in +the Stack Overflow (https://stackoverflow.com/help/mcve) +document. Ensure posted examples are: + +- minimal – use as little code as possible that still produces the + same problem + +- complete – provide all parts needed to reproduce the problem. Check + if you can strip external dependency and still show the problem. The + less time we spend on reproducing problems the more time we have to + fix it + +- verifiable – test the code you're about to provide to make sure it + reproduces the problem. Remove all other problems that are not + related to your request/question.