Skip to content

Commit 764be79

Browse files
oyilmaz-nvidiako3n1gchtruong814
authored
Remove trt-llm (#662)
Signed-off-by: Onur Yilmaz <oyilmaz@nvidia.com> Signed-off-by: oliver könig <okoenig@nvidia.com> Signed-off-by: Charlie Truong <chtruong@nvidia.com> Co-authored-by: oliver könig <okoenig@nvidia.com> Co-authored-by: Charlie Truong <chtruong@nvidia.com>
1 parent bbe0b40 commit 764be79

37 files changed

Lines changed: 294 additions & 5141 deletions

‎.github/labeler.yml‎

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
export:
22
- nemo_export/**/*
3-
- tests/functional_tests/tests_trtllm/test_export.py
43
- tests/functional_tests/tests_onnx_trt/test_export.py
54
- tests/unit_tests/export/**/*
65
- docs/llm/**/*gen*ckpt.md
@@ -9,7 +8,6 @@ export:
98
deploy:
109
- nemo_deploy/**/*
1110
- scripts/deploy/**/*
12-
- tests/functional_tests/tests_trtllm/test_deploy*.py
1311
- tests/unit_tests/deploy/**/*
1412
- docs/llm/**/in-framework*.md
1513
- docs/mm/**/in-framework*.md
@@ -27,13 +25,6 @@ LLM:
2725
common:
2826
- nemo_export_deploy_common/**/*
2927

30-
TensorRT-LLM:
31-
- nemo_export/trt_llm/**/*
32-
- nemo_export/tensorrt_llm*.py
33-
- tests/functional_tests/tests_trtllm/**/*
34-
- docs/llm/**/optimized/**/*
35-
- docs/mm/**/optimized/**/*
36-
3728
vLLM:
3829
- nemo_export/vllm_exporter.py
3930
- tests/functional_tests/tests_vllm/**/*

‎.github/workflows/cicd-main.yml‎

Lines changed: 2 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -144,43 +144,6 @@ jobs:
144144
secrets: |
145145
GH_TOKEN=${{ secrets.PAT }}
146146
147-
cicd-unit-tests-trtllm:
148-
strategy:
149-
fail-fast: false
150-
matrix:
151-
include:
152-
- script: L0_Unit_Tests_GPU
153-
runner: ${{ needs.pre-flight.outputs.runner_prefix }}
154-
- script: L0_Unit_Tests_CPU
155-
runner: ${{ needs.pre-flight.outputs.runner_prefix }}
156-
cpu-only: true
157-
needs: [pre-flight, cicd-wait-in-queue, cicd-container-build]
158-
if: |
159-
(
160-
success()
161-
|| needs.pre-flight.outputs.is_ci_workload == 'true'
162-
|| needs.pre-flight.outputs.force_run_all == 'true'
163-
)
164-
&& !cancelled()
165-
runs-on: ${{ matrix.runner }}
166-
name: ${{ matrix.script }}
167-
environment: nemo-ci
168-
steps:
169-
- name: Checkout
170-
uses: actions/checkout@v6
171-
- name: main
172-
uses: ./.github/actions/test-template
173-
with:
174-
script: ${{ matrix.script }}
175-
timeout: 60
176-
is_unit_test: "true"
177-
cpu-only: ${{ matrix.cpu-only || false }}
178-
PAT: ${{ secrets.PAT }}
179-
container-image: ${{ needs.pre-flight.outputs.registry }}/export-deploy:${{ github.sha }}
180-
inference-framework: trtllm
181-
test-data-path: ${{ needs.pre-flight.outputs.test_data_path }}
182-
runner: ${{ matrix.runner }}
183-
184147
cicd-unit-tests-vllm:
185148
strategy:
186149
fail-fast: false
@@ -218,44 +181,8 @@ jobs:
218181
test-data-path: ${{ needs.pre-flight.outputs.test_data_path }}
219182
runner: ${{ matrix.runner }}
220183

221-
cicd-e2e-tests-trtllm:
222-
strategy:
223-
fail-fast: false
224-
matrix:
225-
include:
226-
- script: L2_Launch_TRTLLM
227-
runner: ${{ needs.pre-flight.outputs.runner_prefix }}
228-
- script: L2_TRTLLM_API_Deploy_Query
229-
runner: ${{ needs.pre-flight.outputs.runner_prefix }}
230-
needs: [pre-flight, cicd-unit-tests-trtllm]
231-
runs-on: ${{ matrix.runner }}
232-
name: ${{ matrix.is_optional && 'PLEASEFIXME_' || '' }}${{ matrix.script }}
233-
if: |
234-
(
235-
success()
236-
|| needs.pre-flight.outputs.is_ci_workload == 'true'
237-
|| needs.pre-flight.outputs.force_run_all == 'true'
238-
)
239-
&& !cancelled()
240-
environment: nemo-ci
241-
steps:
242-
- name: Checkout
243-
uses: actions/checkout@v6
244-
- name: main
245-
uses: ./.github/actions/test-template
246-
with:
247-
script: ${{ matrix.script }}
248-
is_optional: ${{ matrix.is_optional || false }}
249-
is_unit_test: "false"
250-
timeout: 60
251-
PAT: ${{ secrets.PAT }}
252-
container-image: ${{ needs.pre-flight.outputs.registry }}/export-deploy:${{ github.sha }}
253-
inference-framework: trtllm
254-
test-data-path: ${{ needs.pre-flight.outputs.test_data_path }}
255-
runner: ${{ matrix.runner }}
256-
257184
cicd-e2e-tests-trt-onnx:
258-
needs: [cicd-unit-tests-trtllm, pre-flight]
185+
needs: [pre-flight, cicd-unit-tests-vllm]
259186
runs-on: ${{ needs.pre-flight.outputs.runner_prefix }}
260187
name: ${{ matrix.is_optional && 'PLEASEFIXME_' || '' }}${{ matrix.script }}
261188
environment: nemo-ci
@@ -313,7 +240,7 @@ jobs:
313240
runner: ${{ needs.pre-flight.outputs.runner_prefix }}
314241

315242
cicd-e2e-tests-inframework:
316-
needs: [pre-flight, cicd-unit-tests-trtllm, cicd-unit-tests-vllm]
243+
needs: [pre-flight, cicd-unit-tests-vllm]
317244
runs-on: ${{ needs.pre-flight.outputs.runner_prefix }}
318245
name: ${{ matrix.is_optional && 'PLEASEFIXME_' || '' }}${{ matrix.script }}
319246
environment: nemo-ci
@@ -343,9 +270,7 @@ jobs:
343270
Nemo_CICD_Test:
344271
needs:
345272
- pre-flight
346-
- cicd-unit-tests-trtllm
347273
- cicd-unit-tests-vllm
348-
- cicd-e2e-tests-trtllm
349274
- cicd-e2e-tests-vllm
350275
- cicd-e2e-tests-inframework
351276
if: |

‎CONTRIBUTING.md‎

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,9 @@ uv sync --only-group build # Installs build dependencies required by Transforme
1515
uv sync
1616
```
1717

18-
On a machine with CUDA, you can additionally sync TRT-LLM or vLLM:
18+
On a machine with CUDA, you can additionally sync vLLM:
1919

2020
```bash
21-
# TRT-LLM
22-
uv sync --extra te --extra trtllm
23-
24-
# or vLLM
2521
uv sync --extra te --extra vllm
2622
```
2723

@@ -35,7 +31,7 @@ New required dependencies can be added by `uv add $DEPENDENCY`.
3531
New optional dependencies can be added by `uv add --optional --extra $EXTRA $DEPENDENCY`.
3632

3733
`EXTRA` refers to the subgroup of extra-dependencies to which you're adding the new dependency.
38-
Example: For adding a TRT-LLM specific dependency, run `uv add --optional --extra trtllm $DEPENDENCY`.
34+
Example: For adding a vLLM specific dependency, run `uv add --optional --extra vllm $DEPENDENCY`.
3935

4036
Alternatively, the `pyproject.toml` file can also be modified directly.
4137

‎README.md‎

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
</div>
2323

24-
The **Export-Deploy library ("NeMo Export-Deploy")** provides tools and APIs for exporting and deploying NeMo and 🤗Hugging Face models to production environments. It supports various deployment paths including TensorRT, TensorRT-LLM, and vLLM deployment through NVIDIA Triton Inference Server and Ray Serve.
24+
The **Export-Deploy library ("NeMo Export-Deploy")** provides tools and APIs for exporting and deploying NeMo and 🤗Hugging Face models to production environments. It supports various deployment paths including TensorRT and vLLM deployment through NVIDIA Triton Inference Server and Ray Serve.
2525

2626
![image](docs/NeMo_Repo_Overview_ExportDeploy.png)
2727

@@ -32,7 +32,7 @@ The **Export-Deploy library ("NeMo Export-Deploy")** provides tools and APIs for
3232
## 🚀 Key Features
3333

3434
- Support for Large Language Models (LLMs) and Multimodal Models (MMs)
35-
- Export Megatron-Brdige and Hugging Face models to optimized inference formats including TensorRT-LLM and vLLM
35+
- Export Megatron-Brdige and Hugging Face models to optimized inference formats including vLLM
3636
- Deploy Megatron-Brdige and Hugging Face models using Ray Serve or NVIDIA Triton Inference Server
3737
- Multi-GPU and distributed inference capabilities
3838
- Multi-instance deployment options
@@ -41,11 +41,11 @@ The **Export-Deploy library ("NeMo Export-Deploy")** provides tools and APIs for
4141

4242
### Model Export Capabilities
4343

44-
| Model / Checkpoint | TensorRT-LLM | vLLM | ONNX | TensorRT |
45-
|-------------------------------------------------------------------------------------------------|:----------------------------------------------:|:---------:|:--------------------------:|:----------------------:|
46-
| [Hugging Face](https://huggingface.co/docs/transformers/en/index) | bf16 | bf16 | N/A | N/A |
47-
| [NIM Embedding](https://docs.nvidia.com/nim/nemo-retriever/text-embedding/latest/overview.html) | N/A | N/A | bf16, fp8, int8 (PTQ) | bf16, fp8, int8 (PTQ) |
48-
| [NIM Reranking](https://docs.nvidia.com/nim/nemo-retriever/text-reranking/latest/overview.html) | N/A | N/A | Coming Soon | Coming Soon |
44+
| Model / Checkpoint | vLLM | ONNX | TensorRT |
45+
|-------------------------------------------------------------------------------------------------|:---------:|:--------------------------:|:----------------------:|
46+
| [Hugging Face](https://huggingface.co/docs/transformers/en/index) | bf16 | N/A | N/A |
47+
| [NIM Embedding](https://docs.nvidia.com/nim/nemo-retriever/text-embedding/latest/overview.html) | N/A | bf16, fp8, int8 (PTQ) | bf16, fp8, int8 (PTQ) |
48+
| [NIM Reranking](https://docs.nvidia.com/nim/nemo-retriever/text-reranking/latest/overview.html) | N/A | Coming Soon | Coming Soon |
4949

5050
The support matrix above outlines the export capabilities for each model or checkpoint, including the supported precision options across various inference-optimized libraries. The export module enables exporting models that have been quantized using post-training quantization (PTQ) with the [TensorRT Model Optimizer](https://github.com/NVIDIA/TensorRT-Model-Optimizer) library, as shown above. Models trained with low precision or quantization-aware training are also supported, as indicated in the table.
5151

@@ -59,16 +59,15 @@ Please note that not all large language models (LLMs) and multimodal models (MMs
5959
|-------------------------------------------------------------------------------------------|------------------------------------------|-------------------------|
6060
| [Megatron-LM](https://github.com/NVIDIA/Megatron-LM) | Limited | Limited |
6161
| [Hugging Face](https://huggingface.co/docs/transformers/en/index) | Single-Node Multi-GPU,<br>Multi-instance | Single-Node Multi-GPU |
62-
| [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) | Single-Node Multi-GPU,<br>Multi-instance | Multi-Node Multi-GPU |
6362
| [vLLM](https://github.com/vllm-project/vllm) | N/A | Single-Node Multi-GPU |
6463

6564
The support matrix above outlines the available deployment options for each model or checkpoint, highlighting multi-node and multi-GPU support where applicable. For comprehensive details, please refer to the [documentation](https://docs.nvidia.com/nemo/export-deploy/latest/index.html).
6665

6766
Refer to the table below for an overview of optimized inference and deployment support for NeMo Framework and Hugging Face models with Triton Inference Server.
6867

69-
| Model / Checkpoint | TensorRT-LLM + Triton Inference Server | vLLM + Triton Inference Server | Direct Triton Inference Server |
70-
|------------------------------|:--------------------------------------:|:------------------------------:|:------------------------------:|
71-
| Hugging Face | &#x2611; | &#x2611; | &#x2611; |
68+
| Model / Checkpoint | vLLM + Triton Inference Server | Direct Triton Inference Server |
69+
|------------------------------|:------------------------------:|:------------------------------:|
70+
| Hugging Face | &#x2611; | &#x2611; |
7271

7372
## 🔧 Install
7473

@@ -78,7 +77,7 @@ For quick exploration of NeMo Export-Deploy, we recommend installing our pip pac
7877
pip install nemo-export-deploy
7978
```
8079

81-
This installation comes without extra dependencies like [TransformerEngine](https://github.com/NVIDIA/TransformerEngine/), [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) or [vLLM](https://github.com/vllm-project/vllm). The installation serves for navigating around and for exploring the project.
80+
This installation comes without extra dependencies like [TransformerEngine](https://github.com/NVIDIA/TransformerEngine/) or [vLLM](https://github.com/vllm-project/vllm). The installation serves for navigating around and for exploring the project.
8281

8382
For a feature-complete install, please refer to the following sections.
8483

@@ -95,7 +94,7 @@ docker run --rm -it -w /workdir -v $(pwd):/workdir \
9594

9695
### Build with Dockerfile
9796

98-
For containerized development, use our Dockerfile for building your own container. There are three flavors: `INFERENCE_FRAMEWORK=inframework`, `INFERENCE_FRAMEWORK=trtllm` and `INFERENCE_FRAMEWORK=vllm`:
97+
For containerized development, use our Dockerfile for building your own container. There are two flavors: `INFERENCE_FRAMEWORK=inframework` and `INFERENCE_FRAMEWORK=vllm`:
9998

10099
```bash
101100
docker build \
@@ -116,7 +115,7 @@ docker run --rm -it -w /workdir -v $(pwd):/workdir \
116115

117116
### Install from Source
118117

119-
For complete feature coverage, we recommend to install [TransformerEngine](https://github.com/NVIDIA/TransformerEngine/?tab=readme-ov-file#pip-installation) and additionally either [TensorRT-LLM](https://nvidia.github.io/TensorRT-LLM/0.20.0/installation/linux.html) or [vLLM](https://docs.vllm.ai/en/latest/getting_started/installation/gpu.html#pre-built-wheels).
118+
For complete feature coverage, we recommend to install [TransformerEngine](https://github.com/NVIDIA/TransformerEngine/?tab=readme-ov-file#pip-installation) and additionally [vLLM](https://docs.vllm.ai/en/latest/getting_started/installation/gpu.html#pre-built-wheels).
120119

121120
#### Recommended Requirements
122121

@@ -141,21 +140,6 @@ cd Export-Deploy/
141140
pip install --no-build-isolation .
142141
```
143142

144-
#### Install TransformerEngine + TensorRT-LLM
145-
146-
For highly optimized TransformerEngine path with TensorRT-LLM backend, please make sure to install the following prerequisites first:
147-
148-
```bash
149-
sudo apt-get -y install libopenmpi-dev # Required for TensorRT-LLM
150-
pip install torch==2.7.0 setuptools pybind11 wheel_stub # Required for TE
151-
```
152-
153-
Now proceed with the main installation:
154-
155-
```bash
156-
pip install --no-build-isolation .[trtllm]
157-
```
158-
159143
#### Install TransformerEngine + vLLM
160144

161145
For highly optimized TransformerEngine path with vLLM backend, please make sure to install the following prerequisites first:

‎docker/common/install.sh‎

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ while [[ $# -gt 0 ]]; do
2222
;;
2323
*)
2424
echo "Unknown option: $1"
25-
echo "Usage: $0 --base-image {pytorch|ubuntu} --inference-framework {trtllm|vllm|inframework|trt-onnx} [--python-version] [--use-uv]"
25+
echo "Usage: $0 --base-image {pytorch|ubuntu} --inference-framework {vllm|inframework|trt-onnx} [--python-version] [--use-uv]"
2626
exit 1
2727
;;
2828
esac
@@ -39,7 +39,7 @@ fi
3939
# Validate base image argument
4040
if [[ -z "${BASE_IMAGE:-}" || -z "${INFERENCE_FRAMEWORK:-}" ]]; then
4141
echo "Error: --base-image and --inference-framework arguments are required"
42-
echo "Usage: $0 --base-image {pytorch|ubuntu} --inference-framework {trtllm|vllm|inframework}"
42+
echo "Usage: $0 --base-image {pytorch|ubuntu} --inference-framework {vllm|inframework|trt-onnx}"
4343
exit 1
4444
fi
4545

@@ -49,9 +49,9 @@ if [[ "$BASE_IMAGE" != "pytorch" && "$BASE_IMAGE" != "ubuntu" ]]; then
4949
exit 1
5050
fi
5151

52-
if [[ "$INFERENCE_FRAMEWORK" != "trtllm" && "$INFERENCE_FRAMEWORK" != "vllm" && "$INFERENCE_FRAMEWORK" != "inframework" && "$INFERENCE_FRAMEWORK" != "trt-onnx" ]]; then
53-
echo "Error: --inference-framework must be either 'trtllm' or 'vllm' or 'inframework' or 'trt-onnx'"
54-
echo "Usage: $0 --inference-framework {trtllm|vllm|inframework}"
52+
if [[ "$INFERENCE_FRAMEWORK" != "vllm" && "$INFERENCE_FRAMEWORK" != "inframework" && "$INFERENCE_FRAMEWORK" != "trt-onnx" ]]; then
53+
echo "Error: --inference-framework must be either 'vllm' or 'inframework' or 'trt-onnx'"
54+
echo "Usage: $0 --inference-framework {vllm|inframework|trt-onnx}"
5555
exit 1
5656
fi
5757

@@ -133,7 +133,6 @@ main() {
133133
"--no-install-package" "nvidia-cusparse"
134134
"--no-install-package" "nvidia-cusparselt-cu13"
135135
"--no-install-package" "nvidia-nccl-cu13"
136-
"--no-install-package" "tensorrt-llm"
137136
"--no-install-package" "vllm"
138137
)
139138
else

‎nemo_deploy/deploy_pytriton.py‎

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -30,39 +30,7 @@
3030

3131

3232
class DeployPyTriton(DeployBase):
33-
"""Deploys any models to Triton Inference Server that implements ITritonDeployable interface in nemo_deploy.
34-
35-
Example:
36-
from nemo_deploy import DeployPyTriton, NemoQueryLLM
37-
from nemo_export.tensorrt_llm import TensorRTLLM
38-
39-
trt_llm_exporter = TensorRTLLM(model_dir="/path/for/model/files")
40-
trt_llm_exporter.export(
41-
nemo_checkpoint_path="/path/for/nemo/checkpoint",
42-
model_type="llama",
43-
tensor_parallelism_size=1,
44-
)
45-
46-
nm = DeployPyTriton(model=trt_llm_exporter, triton_model_name="model_name", http_port=8000)
47-
nm.deploy()
48-
nm.run()
49-
nq = NemoQueryLLM(url="localhost", model_name="model_name")
50-
51-
prompts = ["hello, testing GPT inference", "another GPT inference test?"]
52-
output = nq.query_llm(prompts=prompts, max_output_len=100)
53-
print("prompts: ", prompts)
54-
print("")
55-
print("output: ", output)
56-
print("")
57-
58-
prompts = ["Give me some info about Paris", "Do you think Londan is a good city to visit?", "What do you think about Rome?"]
59-
output = nq.query_llm(prompts=prompts, max_output_len=250)
60-
print("prompts: ", prompts)
61-
print("")
62-
print("output: ", output)
63-
print("")
64-
65-
"""
33+
"""Deploys any models to Triton Inference Server that implements ITritonDeployable interface in nemo_deploy."""
6634

6735
def __init__(
6836
self,

0 commit comments

Comments
 (0)