点击下方 卡片 ,关注“ 慢慢学AIGC ”
引言
本文是对一些主要的机器学习模型部署和推理服务的概述和关键特性总结。这里是一些需要考虑的关键点:
- Triton Inference Server - 一个强大的平台,用于在生产环境中部署和扩展机器学习模型。设置 Triton Inference Server 可能是一个复杂的过程。
- 文本生成推理 - 需要原生支持 HuggingFace,且不打算为核心模型使用多个适配器。
- vLLM - 需要最大速度来批量传递提示。
- DeepSpeed-MII - 有使用 DeepSpeed 库的经验,希望继续使用它来部署大型语言模型。
- OpenLLM - 希望将适配器连接到核心模型,并利用 HuggingFace Agents,尤其是在不完全依赖 PyTorch 的情况下。
- MLC LLM - 希望在客户端(边缘计算)上本地部署大型语言模型例如 Android 或 iPhone 平台。
- Ray Serve - 稳定的管道和灵活的部署。它最适合于更成熟的项目。
- CTranslate2 - 如果速度对您很重要,并且您计划在 CPU 上运行推理,那就使用它。
1. Triton 推理服务
Triton 是一个强大的平台,用于在生产环境中部署和扩展机器学习模型。设置 Triton 推理服务可能是一个复杂的过程。
Triton 支持从多个深度学习和机器学习框架部署任何 AI 模型,包括 TensorRT、TensorFlow、PyTorch、ONNX、OpenVINO、Python、RAPIDS FIL 等。Triton 推理服务支持在 NVIDIA GPU、x86 和 ARM CPU 或 AWS Inferentia 上进行云、数据中心、边缘和嵌入式设备的推理。Triton的关键特性:
-
支持各种深度学习框架
-
同时执行
-
动态调度和批处理
-
后端可扩展性
-
模型集成
-
各种指标
2. TGI 文本生成推理
文本生成推理(简称 TGI)是一个由 HuggingFace 创建的 Rust、Python、gRPC 模型服务器,可用于托管特定的大型语言模型。 文本生成推理适合部署基于 NLP 的大型语言模型,如 Falcon、LLaMA、T5 等。 文本生成推理的关键特性:
-
张量并行化
-
优化的Transformers代码
-
量化
-
加速权重加载
-
Logits扭曲
-
自定义提示生成
-
微调支持
3. vLLM:通用大型语言模型
vLLM 是一个高性能库,旨在用于大型语言模型的推理和服务。它以其出色的服务吞吐量、使用分页注意力进行高效内存管理,以及灵活地服务各种 Hugging Face 模型而闻名。vLLM 的关键特性:
-
高吞吐量
-
分页注意力(Paged Attention)
-
连续批处理
-
优化的 CUDA 内核
-
解码算法
-
张量并行
-
流式输出
4. DeepSpeed MII
DeepSpeed Model 实现用于推理(MII)旨在使强大模型的低延迟、低成本推理不仅可行,而且也易于访问。
DeepSpeed MII 的关键特性:
-
用于 Transformers 的 DeepFusion
-
多 GPU 推理与张量切片
-
通过 ZeroQuant 进行 INT8 推理
-
用于资源受限系统的 ZeRO 推理
-
编译器优化
5. OpenLLM
使用 OpenLLM,您可以对任何开源大型语言模型进行推理,将它们部署在云或本地,并构建强大的 AI 应用程序。OpenLLM 的关键特性:
-
最先进的大型语言模型
-
灵活的 API
-
自由构建
-
简化部署
-
自带大型语言模型
-
量化
-
流式传输
-
连续批处理
6. MLC LLM
大型语言模型的机器学习编译(MLC LLM)是一种高性能的通用部署解决方案,允许在各种硬件后端(包括 CPU 和 GPU)以及本机应用程序上部署任何大型语言模型。MLC LLM的关键特性:
-
通用部署
-
平台本地运行时
-
内存优化
7. Ray Serve
Ray Serve 是一个可扩展的模型服务库,用于构建在线推理 API。Serve 与框架无关,因此您可以使用单一工具包来服务从深度学习模型到传统 ML 模型的所有内容。Ray Serve的关键特性:
-
批量推理
-
多模型训练
-
跨多个副本自动扩展
-
监控仪表板和 Prometheus 指标
8. CTranslate2
CTranslate2 是一个 C++ 和 Python库,用于高效地对 Transformer 模型进行推理。CTranslate2 的关键特性:
-
在 CPU 和 GPU 上快速高效地执行
-
动态内存使用
-
支持多个 CPU 架构
点击下方 卡片 ,关注“ 慢慢学AIGC ”
