NVIDIA TensorRT 是基于 CUDA 和 cuDNN 的高性能深度学习推理优化引擎,是一种在 NVIDIA 硬件上部署光速推理的解决方案。它包含了许多优化,但只能在 NVIDIA 硬件上运行。
随着大模型参数规模的不断增长,在有限的算力资源下,提升模型的推理速度逐渐变为一个重要的研究方向。常用的推理加速框架包含 TensorRT-LLM 等。TensorRT-LLM 由 NVIDIA 开发,是高性能推理框架,详细的推理文档见:inference-speed/GPU/TensorRT-LLM_example 。
此外,NVIDIA NIM 基于 NVIDIA Triton Inference Server、NVIDIA TensorRT、NVIDIA TensorRT-LLLLM 等强大的推理引擎构建,是一系列用户友好的微服务,旨在加速企业内部生成式 AI 的部署进程。
软件优化可以极大地影响模型的运行时间——10倍的增益并不罕见。然而,你需要确定哪些方法对你的特定模型和系统最有效。某些技术适用于相当广泛的模型。使用较短的浮点表示(即FP16或FP8与原始FP32)或量化(INT8、INT4、INT2)可实现通常与位数减少呈线性关系的加速。有时需要修改模型,但越来越多的技术可以自动处理混合或更短的精度。剪枝神经网络通过忽略低值的权重来减少权重数。结合高效的稀疏矩阵乘法,这可以在现代GPU上实现大幅加速。另一组优化技术解决了内存带宽瓶颈(例如,通过流式模型权重)。其他优化很大程度上取决于模型的特性,例如,Stable Diffusion在推理所需的VRAM量方面取得了重大进展。另一类优化方法是针对硬件的。NVIDIA的TensorRT包含了许多优化,但只能NVIDIA硬件上运行。NVIDIA TensorRT是基于CUDA和cuDNN的高性能的深度学习推理优化引擎,是一种在NVIDIA硬件上部署光速推理的解决方案。最后,也是最重要的,AI任务的调度可以造成巨大的性能瓶颈或改进。以一种最小化权重交换的方式将模型分配给GPU,如果有多个GPU可用,选择最适合任务的GPU,以及通过提前批量处理工作负载来最小化停机时间,都是常用的技术。总之,模型优化仍然有点像黑魔法,我们交流过的大多数创业公司都与第三方合作来处理一些软件方面的问题。通常,这些不是传统的MLops供应商,而是专门针对特定生成模型进行优化的公司(例如OctoML或SegMind)。
NVIDIA NIM是一系列用户友好的微服务,它们旨在加速企业内部生成式AI的部署进程。这种多功能的运行环境支持包括开源社区模型、NVIDIA AI基础模型以及自定义AI模型在内的广泛AI模型。开发者可以利用行业标准的API,仅需数行代码即可快速构建出企业级的AI应用。NIM基于NVIDIA Triton Inference Server、NVIDIA TensorRT、NVIDIA TensorRT-LLLLM等强大的推理引擎,以及PyTorch等技术构建,旨在提供无缝的AI推理体验,确保您可以自信地在任何环境中部署AI应用。无论是在本地服务器还是云端环境中,NIM都是实现大规模、高性能生成式AI推理的最佳选择。[heading2]为什么LangChain对NVIDIA NIM充满期待?[content]我们对NVIDIA NIM充满期待的原因有几个。首先,最引人注目的是它的自托管特性。这意味着您向基于NVIDIA的模型发送的任何数据都将保留在您的服务器上,不会外传。对于那些经常需要处理敏感信息的RAG应用来说,这一点尤其重要。其次,NIM提供了一系列预构建的容器,这让您可以轻松选择并使用最新的生成式AI模型,而无需进行复杂的配置。最后,NIM的可扩展性。在个人电脑上本地运行模型是一回事,但要将其作为服务部署,并且保持与专业服务提供商相同的稳定性和可用性,则是另一回事。幸运的是,NIM已经为您解决了这一挑战。[heading2]如何开始使用NVIDIA NIM?[content]开始使用NIM非常简单。在NVIDIA API目录中,开发者可以轻松访问多种AI模型,用于构建和部署生成式AI应用。NIM是NVIDIA AI Enterprise的一部分,这是一个全面的、基于云的软件平台,旨在简化生产级AI应用的开发和部署流程。您可以通过这篇博客获取如何开始使用的详细指南。
随着大模型参数规模的不断增长,在有限的算力资源下,提升模型的推理速度逐渐变为一个重要的研究方向。常用的推理加速框架包含lmdeploy、TensorRT-LLM、vLLM和JittorLLMs等。[heading5]TensorRT-LLM[content][TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM/tree/main)由NVIDIA开发,高性能推理框架详细的推理文档见:[inference-speed/GPU/TensorRT-LLM_example](https://github.com/LlamaFamily/Llama-Chinese/tree/main/inference-speed/GPU/TensorRT-LLM_example)[heading5]vLLM[content][vLLM](https://github.com/vllm-project/vllm)由加州大学伯克利分校开发,核心技术是PageAttention,吞吐量比HuggingFace Transformers高出24倍。相较与FasterTrainsformer,vLLM更加的简单易用,不需要额外进行模型的转换,支持fp16推理。详细的推理文档见:[inference-speed/GPU/vllm_example](https://github.com/LlamaFamily/Llama-Chinese/blob/main/inference-speed/GPU/vllm_example/README.md)