当前位置: 首页 > news >正文

vLLM项目加入PyTorch生态系统,引领LLM推理新纪元

近日,vLLM项目宣布正式成为PyTorch生态系统的一部分,标志着该项目与PyTorch的合作进入了一个全新的阶段。本文将从以下几个方面进行介绍,特别提醒:安装方案在第四个部分,可选择性阅读。

  • vLLM项目概述

  • vLLM的成就与实际应用

  • 支持流行模型

  • 安装与使用vLLM

  • 总结

一,vLLM项目概述

vLLM是一个为大型语言模型(LLMs)设计的高吞吐量、内存高效的推理和服务引擎。该项目最初基于创新的PagedAttention算法构建,如今已经发展成为一个全面的、最先进的推理引擎。vLLM社区不断为其添加新功能和优化,包括流水线并行处理、分块预填充、推测性解码和分离服务。

二,vLLM的成就与实际应用

自发布以来,vLLM获得了超过31,000个GitHub星标,这一成就证明了其受欢迎程度和社区的活力。vLLM与PyTorch的深度集成,使其能够支持包括NVIDIA GPU、AMD GPU、Google Cloud TPU在内的多种硬件后端,确保了跨平台的兼容性和性能优化。

在今年的亚马逊Prime Day,vLLM在向数百万用户提供快速响应中发挥了关键作用。它在三个区域的80,000个Trainium和Inferentia芯片上,每分钟处理了300万个令牌,同时保持了P99延迟在1秒以内的首次响应。这意味着,当客户与亚马逊应用中的Rufus聊天时,他们实际上是在与vLLM互动。

三,支持流行模型

vLLM与领先的模型供应商紧密合作,支持包括Meta LLAMA、Mistral、QWen和DeepSeek在内的流行模型。特别值得一提的是,vLLM作为首发合作伙伴,首次启用了LLAMA 3.1(405B)模型,展示了其处理复杂和资源密集型语言模型的能力。

四,安装与使用vLLM

安装vLLM非常简单,用户只需在命令行中运行:

pip install vllm

vLLM既可以作为OpenAI API兼容服务器运行,也可以作为一个简单的函数使用。以下是如何使用vLLM生成文本的示例代码:

vllm serve meta-llama/Llama-3.1-8B

将vLLM作为简单函数运行:

from vllm import LLM, SamplingParams# Sample prompts.prompts = [   "Hello, my name is",   "The president of the United States is",   "The capital of France is",   "The future of AI is",]# Create a sampling params object.sampling_params = SamplingParams(temperature=0.8, top_p=0.95)# Create an LLM.llm = LLM(model="meta-llama/Llama-3.1-8B")# Generate texts from the prompts. The output is a list of RequestOutput objects# that contain the prompt, generated text, and other information.outputs = llm.generate(prompts, sampling_params)# Print the outputs.for output in outputs:   prompt = output.prompt   generated_text = output.outputs[0].text   print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

五,总结

随着vLLM的加入,PyTorch生态系统更加强大,为LLM服务带来了便捷和高效。期待vLLM在未来解锁更多创新,推动AI技术的普及和发展

如果你有更好的文章,欢迎投稿!

稿件接收邮箱:nami.liu@pasuntech.com

更多精彩内容请关注“算力魔方®”!

http://www.lryc.cn/news/505773.html

相关文章:

  • 索引-介绍结构语法
  • SpringBoot整合JDBC
  • XXE靶场
  • Elasticsearch:使用 Open Crawler 和 semantic text 进行语义搜索
  • Facebook的隐私保护政策:用户数据如何在平台上被管理?
  • 【ETCD】【源码阅读】深入解析 EtcdServer.applySnapshot方法
  • ‌HBase是什么,‌HBase介绍
  • 【Rust自学】3.3. 数据类型:复合类型
  • 【C++】小乐乐求和问题的高效求解与算法对比分析
  • configure错误:“C compiler cannot create executables“
  • PAT乙级 锤子剪刀布 巩固巩固map的使用
  • Webpack学习笔记(1)
  • 使用xpath规则进行提取数据并存储
  • 【物联网技术与应用】实验3:七彩LED灯闪烁
  • 素数回文数的个数
  • 车辆重识别代码笔记12.18
  • selenium 在已打开浏览器上继续调试
  • Sentry日志管理thinkphp8 tp8 sentry9 sentry8 php8.x配置步骤, tp8自定义异常处理类使用方法
  • 【经验分享】容器云搭建的知识点
  • Java对集合的操作方法
  • FreeRTOS--基础知识
  • Node的学习以及学习通过Node书写接口并简单操作数据库
  • 【Linux探索学习】第二十二弹——用户缓冲区:深入解析操作系统中数据交互时的缓冲区机制
  • Cesium-(Primitive)-(CylinderOutlineGeometry)
  • 【ETCD】【源码阅读】深入分析 storeTxnWrite.Put方法源码
  • MySQL技术:深入理解索引与优化
  • 【广东-东莞】《东莞市政府投资信息化项目造价指南》-省市费用标准解读系列26
  • 8、基于SpringBoot的房屋租赁系统
  • SLM510A系列——24V,15到150mA单通道可调电流线性恒流LED驱动芯片
  • 深度学习试题及答案解析(一)