https://github.com/NVIDIA/TensorRT-LLM/releases/tag/v1.0.0
그동안 TensorRT-LLM이 0.21.0 릴리즈 버전에서 1.0.0으로 수많은 베타버전 이후 업데이트가 되어서 재 설치를 진행하고자 한다.
주요 업데이트 내용을 살펴보자면
sm121에 대한 지원 추가 -> RTX 5000시리즈 아키텍쳐의 GPU가 재대로 정식지원된다 이렇게 보면 된다.
PyTorch에서 MXFP8xMXFP4에 대한 지원 추가 -> GPT-OSS 계열의 LLM이 TensorRT-LLM으로도 구동이 가능해지는거라 볼 수 있겠다.
변경 사항 PyTorch를 기본 LLM 백엔드로 승격 -> vLLM처럼 기본 백앤드 엔진이 pytorch으로 변경되어 더 많은 모델 구동이 편리해졌다.
이것 말고도 여러가지 업데이트가 되었는데 설치부터 다시 진행을 해보고자 한다.
이전 포스트 WSL 우분투에 TensorRT-LLM 설치하기
에서 수행한
과정을 그대로 진행하면 된다
cuda 12.9 여전히 지원안되고 / Pytorch 작성기준 최신버전인 2.8.0 지원안된다...
pip3 uninstall tensorrt_llm
pip3 install tensorrt_llm
이러면 끝난다...
기존 0.21.0 -> 1.0.0 에서 뭔가 큰 라이브러리 업데이트도 된줄 알았지만.. 음..
가장 많이 변경된 부분은

https://nvidia.github.io/TensorRT-LLM/1.0.0/llm-api/reference.html
API 레퍼런스 문서 설명이 많이 바뀌었는데
이것도 다 따지고 보면 LLM 메서드의 내부 인자값이 몇 종 변경된 부분으로 좀 정리가 된다.
현재로써 필자에게 주요한 변경점을 하나 꼽으라면

0.21.0 버전에서는 백앤드 엔진을 조정할 때는 위 인자값을 사용해야 하지만

1.0.0 버전에서는 좀 더 설명이 명확한 attn_backend로 변경된 것이 주요 변경사항이라 볼 수 있다.
모델 지원은 더 많이 늘었으니 차근차근 씹뜯맛즐 해봐야 겠다.
위 tensorrt_llm을 v1.0.0에서 업데이트하고 이것저것 사용해 본 결과
필자는 v0.21.0으로 롤백을 결정했다.
이유는

첫번째로 API의 Default 옵션이 trtllm에서 Pytorch로 변경된 것인데 변경되면서 문제점이

v0.21.0에서는 가능했던 기능인 TLLM_USE_TRT_ENGINE옵션이 완전히 먹통이 되버린 것이다.
해당 옵션에 대해 설명을 하자면
import os
os.environ['TLLM_USE_TRT_ENGINE'] = '1' # -> Tensorrt 기본 백앤드 엔진을 Pytorch로
os.environ['TLLM_USE_TRT_ENGINE'] = '0' # -> Tensorrt 기본 백앤드 엔진을 trtllm으로
이렇게 백앤드 엔진 변경 옵션을 제공하는데
이게 v1.0.0에서는 완전히 먹통이 되버렷다
이것이 야기하는 문제점은 trtllm-build을 통해서 trt_engine 형식으로 컨버트한 모델은
아에 기동불가가 되버렷다.

첨부한 사진처럼 tensorrt_llm의 버전이 v1.0.0환경에서
# 모델 로드 코드
llm = LLM(
model=MODEL_PATH, # trt_engine으로 변환한 모델 경로
tokenizer=TOKENIZER_PATH, # 토크나이저는 원본 허깅페이스 모델 경로로
)
이렇게 모델 로드 시
[10/11/2025-18:10:34] [TRT-LLM] [W] Logger level already set from environment. Discard new verbosity: info
[10/11/2025-18:10:34] [TRT-LLM] [I] Using LLM with PyTorch backend
[10/11/2025-18:10:34] [TRT-LLM] [W] Using default gpus_per_node: 1
[10/11/2025-18:10:34] [TRT-LLM] [I] Set nccl_plugin to None.
[10/11/2025-18:10:34] [TRT-LLM] [I] neither checkpoint_format nor checkpoint_loader were provided, checkpoint_format will be set to HF.
[10/11/2025-18:10:34] [TRT-LLM] [W] Logger level already set from environment. Discard new verbosity
[10/11/2025-18:10:40] [TRT-LLM] [E] Failed to initialize executor on rank 0: Unrecognized model in /home/ash24/trt_model/trt_engine/EXAONE-3.0-7.8B-Instruct. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: albert, align, altclip, arcee, aria, aria_text, audio-spectrogram-transformer, autoformer, aya_vision, bamba, bark, bart, beit, bert, bert-generation, big_bird, bigbird_pegasus, biogpt, bit, bitnet, blenderbot, blenderbot-small, blip, blip-2, blip_2_qformer, bloom, bridgetower, bros, camembert, canine, chameleon, chinese_clip, chinese_clip_vision_model, clap, clip, clip_text_model, clip_vision_model, clipseg, clvp, code_llama, codegen, cohere, cohere2, colpali, colqwen2, conditional_detr, convbert, convnext, convnextv2, cpmant, csm, ctrl, cvt, d_fine, dab-detr, dac, data2vec-audio, data2vec-text, data2vec-vision, dbrx, deberta, deberta-v2, decision_transformer, deepseek_v3, deformable_detr, deit, depth_anything, depth_pro, deta, detr, dia, diffllama, dinat, dinov2, dinov2_with_registers, distilbert, donut-swin, dots1, dpr, dpt, efficientformer, efficientnet, electra, emu3, encodec, encoder-decoder, ernie, ernie_m, esm, falcon, falcon_h1, falcon_mamba, fastspeech2_conformer, flaubert, flava, fnet, focalnet, fsmt, funnel, fuyu, gemma, gemma2, gemma3, gemma3_text, gemma3n, gemma3n_audio, gemma3n_text, gemma3n_vision, git, glm, glm4, glm4v, glm4v_text, glpn, got_ocr2, gpt-sw3, gpt2, gpt_bigcode, gpt_neo, gpt_neox, gpt_neox_japanese, gptj, gptsan-japanese, granite, granite_speech, granitemoe, granitemoehybrid, granitemoeshared, granitevision, graphormer, grounding-dino, groupvit, helium, hgnet_v2, hiera, hubert, ibert, idefics, idefics2, idefics3, idefics3_vision, ijepa, imagegpt, informer, instructblip, instructblipvideo, internvl, internvl_vision, jamba, janus, jetmoe, jukebox, kosmos-2, kyutai_speech_to_text, layoutlm, layoutlmv2, layoutlmv3, led, levit, lightglue, lilt, llama, llama4, llama4_text, llava, llava_next, llava_next_video, llava_onevision, longformer, longt5, luke, lxmert, m2m_100, mamba, mamba2, marian, markuplm, mask2former, maskformer, maskformer-swin, mbart, mctct, mega, megatron-bert, mgp-str, mimi, minimax, mistral, mistral3, mixtral, mlcd, mllama, mobilebert, mobilenet_v1, mobilenet_v2, mobilevit, mobilevitv2, modernbert, moonshine, moshi, mpnet, mpt, mra, mt5, musicgen, musicgen_melody, mvp, nat, nemotron, nezha, nllb-moe, nougat, nystromformer, olmo, olmo2, olmoe, omdet-turbo, oneformer, open-llama, openai-gpt, opt, owlv2, owlvit, paligemma, patchtsmixer, patchtst, pegasus, pegasus_x, perceiver, persimmon, phi, phi3, phi4_multimodal, phimoe, pix2struct, pixtral, plbart, poolformer, pop2piano, prompt_depth_anything, prophetnet, pvt, pvt_v2, qdqbert, qwen2, qwen2_5_omni, qwen2_5_vl, qwen2_5_vl_text, qwen2_audio, qwen2_audio_encoder, qwen2_moe, qwen2_vl, qwen2_vl_text, qwen3, qwen3_moe, rag, realm, recurrent_gemma, reformer, regnet, rembert, resnet, retribert, roberta, roberta-prelayernorm, roc_bert, roformer, rt_detr, rt_detr_resnet, rt_detr_v2, rwkv, sam, sam_hq, sam_hq_vision_model, sam_vision_model, seamless_m4t, seamless_m4t_v2, segformer, seggpt, sew, sew-d, shieldgemma2, siglip, siglip2, siglip_vision_model, smollm3, smolvlm, smolvlm_vision, speech-encoder-decoder, speech_to_text, speech_to_text_2, speecht5, splinter, squeezebert, stablelm, starcoder2, superglue, superpoint, swiftformer, swin, swin2sr, swinv2, switch_transformers, t5, t5gemma, table-transformer, tapas, textnet, time_series_transformer, timesfm, timesformer, timm_backbone, timm_wrapper, trajectory_transformer, transfo-xl, trocr, tvlt, tvp, udop, umt5, unispeech, unispeech-sat, univnet, upernet, van, video_llava, videomae, vilt, vipllava, vision-encoder-decoder, vision-text-dual-encoder, visual_bert, vit, vit_hybrid, vit_mae, vit_msn, vitdet, vitmatte, vitpose, vitpose_backbone, vits, vivit, vjepa2, wav2vec2, wav2vec2-bert, wav2vec2-conformer, wavlm, whisper, xclip, xglm, xlm, xlm-prophetnet, xlm-roberta, xlm-roberta-xl, xlnet, xmod, yolos, yoso, zamba, zamba2, zoedepth, exaone4, nemotron_h, llava_llama
[10/11/2025-18:10:40] [TRT-LLM] [E] Traceback (most recent call last):
File "/home/ash24/.local/lib/python3.12/site-packages/tensorrt_llm/executor/worker.py", line 771, in worker_main
worker: GenerationExecutorWorker = worker_cls(
^^^^^^^^^^^
File "/home/ash24/.local/lib/python3.12/site-packages/tensorrt_llm/executor/worker.py", line 139, in __init__
self.engine = _create_engine()
^^^^^^^^^^^^^^^^
File "/home/ash24/.local/lib/python3.12/site-packages/tensorrt_llm/executor/worker.py", line 137, in _create_engine
return create_executor(**args)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ash24/.local/lib/python3.12/site-packages/tensorrt_llm/_torch/pyexecutor/py_executor_creator.py", line 216, in create_py_executor
model_engine = PyTorchModelEngine(
^^^^^^^^^^^^^^^^^^^
File "/home/ash24/.local/lib/python3.12/site-packages/tensorrt_llm/_torch/pyexecutor/model_engine.py", line 290, in __init__
self.model = self._load_model(
...
이렇게 trt_engine모델인 경우에도 강제로 Pytorch 엔진으로 모델을 로드하려다 보니 모델 정보를 읽어드리지 못하는 참사가 발생한다.
동일한 내용을 tensorrt_llm v0.21.0으로 롤백한 뒤

# 모델 로드 코드
llm = LLM(
model=MODEL_PATH, # trt_engine으로 변환한 모델 경로
tokenizer=TOKENIZER_PATH, # 토크나이저는 원본 허깅페이스 모델 경로로
)

수행하면 동기추론 비동기추론 문제없이 잘 진행된다.
TLLM_USE_TRT_ENGINE 옵션 자체가 제대로 잘 동작하는 기능도 아니긴 하지만
기본 엔진을 어떻게 바꿔야 하는지 정보가 없으니까 여간 불편한게 아니다
이곳저곳에서 자료를 찾아봣지만 trt_engine 형태로 변환한 모델을 온전하게 구동가능한 버전은 v0.21.0이고
신버전인 v1.0.0은 제대로 기능하지 않으니 업데이트를 권장하지 않는다.
롤백 명령어는 아래와 같다.
pip uninstall tensorrt_llm
pip install tensorrt_llm==0.21.0