主页

索引

模块索引

搜索页面

10.7. LLM Inference Engines

大型语言模型 (LLM) 引擎:

llama.cpp: 专门为 LLM 开发的开源引擎,旨在提供高性能和效率。
TensorRT-LLM: 基于 NVIDIA TensorRT 的开源引擎,可利用 GPU 加速 LLM 推理。

通用推理引擎:

Triton: 支持多种模型格式和硬件平台的开源推理引擎。
ONNX Runtime: 支持多种模型格式和硬件平台的开源推理引擎。

10.7.1. vLLM

  • 旨在为大规模语言模型(LLMs)的高效推理提供支持。该项目通过优化模型的推理过程,降低延迟和提高吞吐量,使得大规模语言模型在实际应用中的表现更加出色。

10.7.2. llama.cpp

  • llama.cpp 是一个轻量级的 C++ 项目,用于在 CPU 上运行 Meta 的 LLaMA(Large Language Model Meta AI)语言模型。该项目旨在将 LLaMA 模型在资源有限的环境中运行,并在 CPU 上实现相对高效的推理。

  • https://github.com/ggerganov/llama.cpp

  • Georgi Gerganov 是一位使用 C/C++ 语言编写神经网络代码的开发者中的佼佼者。Georgi Gerganov 是资深的开源社区开发者,曾为 OpenAI 的 Whisper 自动语音识别模型开发 whisper.cpp。

  • 2023 年 3 月 Georgi Gerganov 又构建了开源项目 llama.cpp,llama.cpp 让开发者在没有 GPU 的条件下也能运行 Meta 的 LLaMA 模型。

  • 2023 年 6 月 Georgi Gerganov 宣布创立一家新公司 ggml.ai,旨在支持 ggml 的开发。ggml 是 Georgi Gerganov 使用 C/C++ 构建了机器学习张量库,能够帮助开发者在消费级硬件上实现大模型,并提升模型性能。

主要特点

  • 轻量级和简洁:llama.cpp 设计简洁,代码库较小,非常轻量,适合在资源受限的环境中运行。

  • 无 GPU 依赖:不同于许多深度学习模型,llama.cpp 旨在在 CPU 上运行。这使得它在没有高性能 GPU 的设备上也可以使用。

  • 本地推理:因为在 CPU 上运行,llama.cpp 可以在本地环境中使用,无需依赖云计算。这对于隐私和离线应用非常有帮助。

  • 多平台支持:llama.cpp 可以在各种操作系统上运行,包括 Linux、Windows 和 macOS。

  • 适用范围广:尽管 llama.cpp 针对 LLaMA 语言模型,但它的设计理念可以适用于其他大规模语言模型,扩展性强。

10.7.3. Triton

主要特点

  • 多框架支持:Triton 支持多种深度学习框架,包括 TensorFlow、PyTorch、ONNX、TensorRT 等。它可以运行不同框架的模型,使得在生产环境中混合使用不同框架的模型变得容易。

  • 多模型部署:Triton 支持在同一个推理服务器上同时运行多个模型。这使得在一个服务器上部署不同任务的模型成为可能,并且支持动态加载和卸载模型。

  • 高性能:Triton 旨在提供高性能的推理服务,支持 GPU 加速和 CPU 计算。它使用多种优化策略来提高模型的推理效率,适合处理高负载和高并发的场景。

  • 灵活的部署选项:Triton 可以在 Kubernetes 等容器化环境中运行,支持弹性扩展和自动化部署。同时,它支持 RESTful 和 gRPC 接口,使得与其他服务的集成变得简单。

  • 监控和可观察性:Triton 提供丰富的监控和可观察性功能,支持 Prometheus、Grafana 等工具。通过这些功能,您可以监控模型的性能、资源使用情况等。

10.7.4. ONNX_Runtime

ONNX Runtime 是一个高性能的推理引擎,旨在加速 ONNX(Open Neural Network Exchange)模型的推理和执行。它是由微软开发的,作为开源项目在 GitHub 上发布。以下是 ONNX Runtime 的主要特点和用途:

主要特点

  • 高性能:ONNX Runtime 被设计成高效的推理引擎,旨在提供快速和低延迟的模型推理。它使用多种优化技术来确保模型在运行时表现出最佳性能。

  • 跨平台:ONNX Runtime 支持多种操作系统和硬件架构,包括 Linux、Windows、macOS、以及各种硬件加速器,如 NVIDIA GPU、AMD GPU、英特尔硬件、ARM 等。

  • 多框架支持:它支持 ONNX 模型,这意味着您可以将来自不同深度学习框架(如 PyTorch、TensorFlow、MXNet、Caffe2 等)的模型转换为 ONNX 格式,然后在 ONNX Runtime 中运行。

  • 灵活性:ONNX Runtime 提供多种编程语言的接口,如 Python、C++、C#、Java 等。它支持灵活的集成,可以用于桌面应用、服务器、移动应用和边缘设备。

  • 优化策略:ONNX Runtime 支持多种优化策略,如图形优化、内存优化、运行时调优等,以提高模型的运行效率。

10.7.5. TensorRT-LLM

主要特点

  • 高性能推理:TensorRT-LLM 利用 NVIDIA 的 TensorRT 技术,可以在 NVIDIA GPU 上高效运行和推理大型语言模型。通过使用 GPU 的并行计算能力,它可以显著加速模型的推理过程。

  • 支持多种 LLM:TensorRT-LLM 适用于多种大型语言模型,包括流行的 GPT、BERT、T5、LLaMA 等。这使得它能够满足各种 NLP(自然语言处理)应用的需求。

  • 优化和精简:该框架提供了一系列优化策略,可以通过量化、融合、自动调优等方式来减少计算量,从而提高性能和降低资源消耗。

  • 可定制性:TensorRT-LLM 允许用户根据自己的需求定制优化策略,包括分片、编译、调优等,以适应特定模型和工作负载。

  • 易于部署:TensorRT-LLM 与 NVIDIA Triton Inference Server 集成,方便在生产环境中部署。它还支持各种部署方案,包括云端和边缘设备。

主页

索引

模块索引

搜索页面