• vLLM vs Text Generation Interface:大型语言模型服务框架的比较


    在大型语言模型(LLM)的世界中,有两个强大的框架用于部署和服务LLM:vLLM 和 Text Generation Interface (TGI)。这两个框架都有各自的优势,适用于不同的使用场景。在这篇博客中,我们将对这两个框架进行详细的比较。

    vLLM

    vLLM 是一个用于 LLM 推理和服务的高吞吐量和内存高效的库。它具有以下特点:

    • 具有最先进的服务吞吐量。
    • 通过 PagedAttention 高效管理注意力键和值内存。
    • 对传入请求进行连续批处理。
    • 支持 CUDA/HIP 图形的快速模型执行。
    • 量化:GPTQ,AWQ,SqueezeLLM,FP8 KV 缓存。
    • 优化的 CUDA 内核。

    vLLM 也具有灵活性和易用性:

    • 与流行的 Hugging Face 模型无缝集成。
    • 使用各种解码算法进行高吞吐量服务,包括并行采样,波束搜索等。
    • 支持分布式推理的张量并行性。
    • 流式输出。
    • 支持 OpenAI 兼容的 API 服务器。
    • 支持 NVIDIA GPU 和 AMD GPU(实验性)。
    • 支持前缀缓存(实验性)。
    • 支持多 lora。

    vLLM 无缝支持许多 Hugging Face 模型,包括以下架构:Aquila & Aquila2。

    Text Generation Interface (TGI)

    Text Generation Interface (TGI) 是一个多功能的选项,支持各种 LLMs,包括量化和微调。它适用于需要为核心模型增加多个 adapter 的场景。

    比较

    在选择使用哪个框架时,需要根据你的具体需求和应用场景来决定。如果你需要处理大量的 Prompt 输入,并且对推理速度有较高的要求,那么 vLLM 可能是一个更好的选择。如果你需要支持各种 LLMs,并且需要进行量化和微调,那么 TGI 可能更适合你。

    在大型语言模型(LLM)的部署和服务框架方面,vLLM 和 Text Generation Interface (TGI) 是两个主流的选择。然而,是否有更好的框架取决于你的具体需求和应用场景。

    根据网络上的一些讨论123,以下是一些可能的选择:

    CTranslate22:如果你计划在 CPU 上运行推理,CTranslate2 可能是一个好选择

    OpenLLM2:如果你打算为核心模型添加适配器并使用 HuggingFace Agents,尤其是不完全依赖 PyTorch,那么 OpenLLM 可能是一个好选择。

    Ray Serve2:如果你需要稳定的 Pipeline 和灵活的部署,那么 Ray Serve 可能是一个好选择,它最适合更成熟的项目。

    MLC LLM2:如果你打算在客户端(例如,在 Android 或 iPhone 平台上)本地部署 LLM,那么 MLC LLM 可能是一个好选择。

    源码:

    vllm:

    :GitHub - vllm-project/vllm: A high-throughput and memory-efficient inference and serving engine for LLMs

    text-generation-webui :

    GitHub - oobabooga/text-generation-webui: A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, llama.cpp (GGUF), Llama models.

  • 相关阅读:
    Redis分布式锁入门
    软件测试基础学习
    Python3 数据结构
    基于Java的Cplex入门
    C语言指针基础篇
    Keepalived
    Apache Doris 系列: 基础篇-Routine Load
    如何在 HarmonyOS 对数据库进行备份,恢复与加密
    Android中使用Drawbl资源
    【JUC系列】Fork/Join框架之概览
  • 原文地址:https://blog.csdn.net/canduecho/article/details/136109212