首页 > 其他分享 >vLLM

vLLM

时间:2024-08-22 11:41:29浏览次数:9  
标签:采样 text LLM GPU vLLM SamplingParams

vLLM是一个快速且易于使用的LLM推理和服务库

vLLM的快速性体现在:

  • 最先进的服务吞吐量
  • 通过PagedAttention有效管理注意力机制KV的内存
  • 连续的批次处理请求
  • 使用CUDA/HIP图快速执行模型
  • 量化:GPTQ、AWQ、INT4、INT8、FP8
  • CUDA内核优化,包括FlashAttention和FlashInfer的集成
  • 推测行解码
  • 分块预填充

vLLM的灵活、易使用体现在:

  • 与HuggingFace模型无缝集成
  • 高吞吐量服务与各种解码算法,包括并行采样、波束搜索等
  • 用于分布式推理的张量并行性和管道并行性支持
  • 流式输出
  • OpenAI兼容的API服务器
  • 支持NVIDIA GPU、AMD CPU和GPU、Intel CPU和GPU、PowerPC CPU、TPU和AWS Neuron
  • 前缀缓存支持
  • 多lora支持

vLLM的安装

安装需求

  • Linux操作环境,目前vLLM仅支持Linux
  • Python:3.8 - 3.12
  • GPU:算力7.0以上的设备(V100、T4、A100、L4、H100等)

使用pip安装

conda create -n my_env python=3.10
conda activate my_env

pip install vLLM

vLLM推理 

使用vLLM库实现LLM的简单推理部署,代码如下

从vLLM类中导入LLM和SamplingParams,LLM类是使用vLLM引擎进行离线推理的主要类,SamplingParams类用于指定采样过程的参数

from vllm import LLM, SamplingParams

llm = LLM(model=model_dir)    # 模型名称或存储路径

# 定义输入提示列表和生成的采样参数,采样温度设置为0.8,核采样概率设置为0.95, 最大输出长度设置为128
prompts = [ "Hello, my name is", "The president of the United States is", "The capital of France is", "The future of AI is", ] sampling_params = SamplingParams(temperature=0.8, top_p=0.95, max_token=128)  outputs = llm.generate(prompts, sampling_params) for output in outputs: prompt = output.prompt generated_text = output.outputs[0].text print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

 

...

 

标签:采样,text,LLM,GPU,vLLM,SamplingParams
From: https://www.cnblogs.com/Liang-ml/p/18373320

相关文章

  • vLLM (2) - 架构总览
    系列文章目录vLLM(1)-Qwen2推理&部署vLLM(2)-架构总览文章目录系列文章目录前言一、官方资料二、原理简述三、架构图四、项目结构总结前言上一篇通过Qwen2的vllm推理和部署,对vllm有了简单直观的了解,但是我们尚未涉及到它的工作原理。接下来我们将以vllm源......
  • 【课程总结】day24(下):大模型部署调用(vLLM+LangChain)
    前言在上一章【课程总结】day24(上):大模型三阶段训练方法(LLaMaFactory)内容中主要了解一个大模型的训练过程,无论是第三方的大模型还是自研的大模型,都需要部署到服务端,提供对应API接口供上层应用使用。所以,本章将主要了解vLLm+langchain的基本使用方法。大模型应用框架......
  • 一文搞定:LLM并发加速部署方案(llama.cpp、vllm、lightLLM、fastLLM)
    llama.cpp、vllm、lightllm、fastllm四种框架的对比:llama.cpp:基于C++,①请求槽,②动态批处理,③CPU/GPU混合推理vllm:基于Python,①PagedAttention高效管理注意力KV内存,②连续动态批处理,③量化GPTQ/AWQ/SqueezeLLM等。lightllm:基于Python,①三进程异步协作,②动态批处理,③Fla......
  • vllm+go||vllm+go-zero 流式输出
    Golang后端流式输出实现以下是如何在Golang后端实现流式输出的步骤。1.后端(Golang)首先,你需要创建一个HTTP处理器来处理前端的请求,并设置响应头以支持Server-SentEvents(SSE)。import("fmt""net/http")funcstreamHandler(whttp.ResponseWriter,r......
  • fastchat vs vLLM
    vLLMhttps://github.com/vllm-project/vllmhttps://docs.vllm.ai/en/latest/推理和服务,但是更加偏向推理。 vLLMisafastandeasy-to-uselibraryforLLMinferenceandserving.vLLMisfastwith:State-of-the-artservingthroughputEfficientmanagementofat......
  • 通过vllm 部署qwen2 模型
    主要是一个简单测试安装vllmpip模式安装部分包比较大,注意时间,最好使用一个加速,目前阿里云的似乎有限速了,可以试试清华的https://pypi.tuna.tsinghua.edu.cn/simplepython-mvenvvenvsourcevenv/bin/acsourcevenv/bin/activatepipinstall-ih......
  • vLLM: Easy, Fast, and Cheap LLM Serving with PagedAttention
    vLLM:Easy,Fast,andCheapLLMServingwithPagedAttentionhttps://blog.vllm.ai/2023/06/20/vllm.htmlLLMspromisetofundamentallychangehowweuseAIacrossallindustries.However,actuallyservingthesemodelsischallengingandcanbesurprisingly......
  • vLLM与PagedAttention:全面概述
    翻译自:https://medium.com/@abonia/vllm-and-pagedattention-a-comprehensive-overview-20046d8d0c61简单、快速且经济的LLM服务vLLM是一个旨在提高大型语言模型(LLM)推理和服务效率与性能的库。由UCBerkeley开发,vLLM引入了PagedAttention,这是一种新颖的注意力算法,显著优化了注......
  • 使用vllm部署大语言模型
    vLLM是一个快速且易于使用的库,用于LLM(大型语言模型)推理和服务。通过PagedAttention技术,vLLM可以有效地管理注意力键和值内存,降低内存占用和提高计算效率。vLLM能够将多个传入的请求进行连续批处理,从而提高整体处理速度。环境Lniux操作系统,2张3090,cuda版本是12.2安装vllm......
  • 开源模型应用落地-Qwen2-7B-Instruct与vllm实现推理加速的正确姿势(十)
    一、前言  目前,大语言模型已升级至Qwen2版本。无论是语言模型还是多模态模型,均在大规模多语言和多模态数据上进行预训练,并通过高质量数据进行后期微调以贴近人类偏好。在本篇学习中,将集成vllm实现模型推理加速,现在,我们赶紧跟上技术发展的脚步,去体验一下新版本模型的推理质......