# TensorRT-LLM

[TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) optimise l’inférence des LLM sur les GPU NVIDIA. Il compile les modèles en un moteur TensorRT avec batch in-flight, cache KV paginé et parallélisme de tenseurs. [AutoDeploy](https://nvidia.github.io/TensorRT-LLM/torch/auto_deploy/auto-deploy.html) accepte les modèles Transformers sans nécessiter de modification. Il convertit automatiquement le modèle en un runtime optimisé.

Passez un identifiant de modèle du Hub à [build_and_run_ad.py](https://github.com/NVIDIA/TensorRT-LLM/blob/main/examples/auto_deploy/build_and_run_ad.py) pour exécuter un modèle Transformers.

```bash
cd examples/auto_deploy
python build_and_run_ad.py --model meta-llama/Llama-3.2-1B
```

Sous le capot, AutoDeploy crée une classe [LLM](https://nvidia.github.io/TensorRT-LLM/llm-api/reference.html#tensorrt_llm.llmapi.LLM). Elle charge la configuration du modèle avec [AutoConfig.from_pretrained()](/docs/transformers/main/fr/model_doc/auto#transformers.AutoConfig.from_pretrained) et extrait les métadonnées de parallélisme stockées dans `tp_plan`. [AutoModelForCausalLM.from_pretrained()](/docs/transformers/main/fr/model_doc/auto#transformers.AutoModel.from_pretrained) charge le modèle avec la configuration et active le parallélisme de tenseurs intégré de Transformers.

```py
from tensorrt_llm._torch.auto_deploy import LLM

llm = LLM(model="meta-llama/Llama-3.2-1B")
```

TensorRT-LLM extrait le graphe du modèle avec `torch.export` et applique des optimisations. Il remplace l’attention de Transformers par les [noyaux d’attention](https://github.com/NVIDIA/TensorRT-LLM/tree/main/tensorrt_llm/_torch/attention_backend) de TensorRT-LLM et compile le modèle dans un backend d’exécution optimisé.

## Ressources

- [documentation de TensorRT-LLM](https://nvidia.github.io/TensorRT-LLM/) pour des guides d'utilisation plus détaillés.
- Le [guide AutoDeploy](https://nvidia.github.io/TensorRT-LLM/torch/auto_deploy/auto-deploy.html) explique son fonctionnement à l'aide d'exemples avancés.

