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

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.kler.cn/a/446384.html

相关文章:

  • 【学习总结|DAY021】Java 多线程
  • Spring Boot--06--整合Swagger
  • 前端小白学习之路-Vben探索 vite 配置 - 1/50
  • Linux实现两台服务器之间ssh连接
  • SparkSQL案例
  • 【AI驱动的数据结构:包装类的艺术与科学】
  • “typedef“知识详解
  • Vue.js实例开发-如何通过Props传递数据
  • JDBC 入门教程
  • Ubuntu 上传项目到 GitHub
  • linux springboot项目启动端口被占用 Port 8901 was already in use.
  • Flink调优----资源配置调优与状态及Checkpoint调优
  • 【文档搜索引擎】使用多线程优化流程
  • React系列(八)——React进阶知识点拓展
  • ES6学习函数(四)
  • Autosar入门_架构(Architecture)
  • docker常用配置
  • datasets 笔记: 文本数据集的预处理(Tokenization)
  • 【libuv】Fargo信令2:【深入】client为什么收不到服务端响应的ack消息
  • CCF-GESP 等级考试 2024年12月认证C++七级真题解析
  • 解决git clone时报错“authentication failed for huggingface repository”
  • Web应用中的CSRF防护机制
  • 【专升本】倒计时99天
  • Spring Security 6 系列之三 - Filter过滤器
  • Xcode 16 编译弹窗问题、编译通过无法,编译通过打包等问题汇总
  • 四大跨平台开发框架深度解析——uniapp、uniapp-X、React Native与Flutter