利用免费 GPU 部署体验大型语言模型推理框架 vLLM

在这里插入图片描述

vLLM简介

vLLM 是一个快速且易于使用的 LLM(大型语言模型)推理和服务库。

vLLM 之所以快速,是因为:

  • 最先进的服务吞吐量

  • 通过 PagedAttention 高效管理注意力键和值内存

  • 连续批处理传入请求

  • 使用 CUDA/HIP 图快速模型执行

  • 量化:GPTQ[1]、AWQ[2]、SqueezeLLM[3]、FP8 KV 缓存

  • 优化的 CUDA 内核

vLLM 灵活且易于使用,因为它:

  • 与流行的 HuggingFace 模型无缝集成

  • 通过各种解码算法提供高吞吐量服务,包括并行采样、波束搜索等

  • 支持分布式推理的张量并行性

  • 支持流式输出

  • OpenAI 兼容的 API 服务器

  • 支持 NVIDIA GPU 和 AMD GPU

  • (实验性) 前缀缓存支持

  • (实验性) 多洛拉支持

技术交流群

前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~

我们建了大模型算法岗技术与面试交流群, 想要进交流群、需要源码&资料、提升技术的同学,可以直接加微信号:mlc2060。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

方式①、微信搜索公众号:机器学习社区,后台回复:加群
方式②、添加微信号:mlc2060,备注:技术交流

实践案例合集:《大模型实战宝典》(2024版)正式发布!

用通俗易懂方式讲解系列

  • 用通俗易懂的方式讲解:自然语言处理初学者指南(附1000页的PPT讲解)
  • 用通俗易懂的方式讲解:1.6万字全面掌握 BERT
  • 用通俗易懂的方式讲解:NLP 这样学习才是正确路线
  • 用通俗易懂的方式讲解:28张图全解深度学习知识!
  • 用通俗易懂的方式讲解:不用再找了,这就是 NLP 方向最全面试题库
  • 用通俗易懂的方式讲解:实体关系抽取入门教程
  • 用通俗易懂的方式讲解:灵魂 20 问帮你彻底搞定Transformer
  • 用通俗易懂的方式讲解:图解 Transformer 架构
  • 用通俗易懂的方式讲解:大模型算法面经指南(附答案)
  • 用通俗易懂的方式讲解:十分钟部署清华 ChatGLM-6B,实测效果超预期
  • 用通俗易懂的方式讲解:内容讲解+代码案例,轻松掌握大模型应用框架 LangChain
  • 用通俗易懂的方式讲解:如何用大语言模型构建一个知识问答系统
  • 用通俗易懂的方式讲解:最全的大模型 RAG 技术概览
  • 用通俗易懂的方式讲解:利用 LangChain 和 Neo4j 向量索引,构建一个RAG应用程序
  • 用通俗易懂的方式讲解:使用 Neo4j 和 LangChain 集成非结构化知识图增强 QA
  • 用通俗易懂的方式讲解:面了 5 家知名企业的NLP算法岗(大模型方向),被考倒了。。。。。
  • 用通俗易懂的方式讲解:NLP 算法实习岗,对我后续找工作太重要了!。
  • 用通俗易懂的方式讲解:理想汽车大模型算法工程师面试,被问的瑟瑟发抖。。。。
  • 用通俗易懂的方式讲解:基于 Langchain-Chatchat,我搭建了一个本地知识库问答系统
  • 用通俗易懂的方式讲解:面试字节大模型算法岗(实习)
  • 用通俗易懂的方式讲解:大模型算法岗(含实习)最走心的总结
  • 用通俗易懂的方式讲解:大模型微调方法汇总

免费的Google Colab T4 GPU

Google Colab 的 T4 GPU 是一种高性能的计算资源,由 Google 提供,用于加速机器学习和深度学习任务。T4 GPU 是由 NVIDIA 生产的 Tensor Core GPU,专为提供高效的深度学习推理和训练性能而设计。

以下是关于 Google Colab 的 T4 GPU 的一些关键特性:

  1. GPU 架构:T4 基于 NVIDIA 的 Ampere 架构,这是继 Turing 架构之后的新一代 GPU 架构,专为 AI 和机器学习工作负载优化。

  2. Tensor Cores:T4 包含 Tensor Cores,这些是专门为深度学习矩阵运算设计的处理单元,能够提供更高的计算效率和性能。

  3. 内存:T4 GPU 拥有 16 GB 的 GDDR6 显存,这对于处理大型模型和数据集来说是非常充足的。

  4. 计算能力:T4 GPU 提供高达 318 GFLOPS 的单精度浮点运算能力,以及 60 GFLOPS 的半精度(FP16)运算能力,这使得它能够快速执行复杂的数学运算。

  5. 多精度计算:除了 FP32 和 FP16,T4 还支持 INT8 和 INT4 精度计算,这有助于在保持性能的同时减少模型的内存占用和提高推理速度。

  6. 软件兼容性:T4 GPU 支持广泛的深度学习框架和库,如 TensorFlow、PyTorch、Keras 等,这意味着用户可以在他们选择的工具上无缝地使用 T4 GPU。

  7. 易于访问:在 Google Colab 中,用户可以通过简单的配置更改来访问 T4 GPU,无需复杂的设置或额外的硬件投资。

  8. 成本效益:虽然 T4 GPU 是一种高端计算资源,但 Google Colab 提供的免费和付费版本都允许用户以合理的成本使用这些 GPU,这对于学生、研究人员和开发者来说是一个很大的优势。

选择免费的T4 GPU

在这里插入图片描述

免费的T4 GPU

查看GPU信息

  • NVIDIA GPU 的详细信息
!nvidia-smi

在这里插入图片描述

GPU详细信息

nvidia-smi 是 NVIDIA 提供的一个命令行工具,用于监控和管理 NVIDIA GPU 设备。当你运行 nvidia-smi 命令时,它会返回一系列关于系统中所有 NVIDIA GPU 的详细信息

  • CUDA 版本:系统中安装的 CUDA 版本。

  • 驱动版本:GPU 驱动的版本。

  • 总显存:系统中所有 GPU 的总显存。

  • 其他系统级别的信息,如 CPU 使用率、内存使用情况等。

  • 显示每个进程对 GPU 显存的使用情况,包括进程 ID、已使用的显存量等。

  • GPU 编号:标识每个 GPU 的序号。

  • Name:显示 GPU 的型号。

  • Persistence-M:持续模式状态,显示是否开启,开启时 GPU 会保持唤醒状态以快速响应新任务。

  • Fan:风扇转速,显示为百分比,范围从 0 到 100%。

  • Temp:GPU 温度,单位是摄氏度。

  • Perf:性能状态,从 P0 到 P12,P0 表示最大性能,P12 表示最小性能。

  • Pwr:功耗,显示当前功耗和最大功耗。

  • Memory Usage:显存使用情况,包括总显存、已使用显存和剩余显存。

  • Bus-Id:GPU 总线的标识,格式为 domain🚌device.function。

  • Disp.A:显示 GPU 的显示输出是否激活。

  • Volatile GPU-Util:GPU 利用率,表示 GPU 正在执行的任务的负载百分比。

  • Uncorr. ECC:错误检查与纠正状态,与 GPU 的 ECC 内存相关。

  • Compute M:计算模式,显示 GPU 是处于默认模式还是特定计算模式。

# memory footprint support libraries/code
!ln -sf /opt/bin/nvidia-smi /usr/bin/nvidia-smi
!pip install -q gputilimport psutil
import humanize
import os
import GPUtil as GPUGPUs = GPU.getGPUs()
# XXX: only one GPU on Colab and isn’t guaranteed
gpu = GPUs[0]
def printm():process = psutil.Process(os.getpid())virtual_memory = humanize.naturalsize( psutil.virtual_memory().available )memory_info = humanize.naturalsize( process.memory_info().rss)memoryFree =gpu.memoryFreememoryUsed = gpu.memoryUsedmemoryUtil = gpu.memoryUtil*100memoryTotal = gpu.memoryTotalprint(f"Gen RAM Free: {virtual_memory} | Proc size: {memory_info}" )print("GPU RAM Free: {0:.0f}MB | Used: {1:.0f}MB | Util {2:3.0f}% | Total {3:.0f}MB".\format(memoryFree, memoryUsed, memoryUtil*100, memoryTotal))
printm() 

返回

 Preparing metadata (setup.py) ... doneBuilding wheel for gputil (setup.py) ... done
Gen RAM Free: 12.4 GB  | Proc size: 98.9 MB
GPU RAM Free: 15101MB | Used: 0MB | Util   0% | Total 15360MB
  • 查看cuda版本信息
!nvcc -V

返回

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Aug_15_22:02:13_PDT_2023
Cuda compilation tools, release 12.2, V12.2.140
Build cuda_12.2.r12.2/compiler.33191640_0

根据版本信息,需要从源码安装

安装vLLM

%%bash
git clone https://github.com/vllm-project/vllm src
cd /content/src
pip install -e .  # This may take 5-10 minutes.

检查torch版本

import torch
print(torch.version.cuda)

使用MODELSCOPE 镜像

%%bash
export VLLM_USE_MODELSCOPE=True

测试

from vllm import LLM, SamplingParams
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)
llm = LLM(model="Qwen/Qwen1.5-1.8B-Chat",dtype='half')

在这里插入图片描述

加载千问1.5-1.8B-Chat

outputs = llm.generate(prompts, sampling_params)# Print the outputs.
for output in outputs:prompt = output.promptgenerated_text = output.outputs[0].textprint(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

在这里插入图片描述

引用链接

[1] GPTQ: https://arxiv.org/abs/2210.17323
[2] AWQ: https://arxiv.org/abs/2306.00978
[3] SqueezeLLM: https://arxiv.org/abs/2306.07629

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/766434.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

clang-query 的编译安装与使用示例

1,clang query 概述 作用: 检查一个程序源码的抽象语法树,测试 AST 匹配器; 帮助检查哪些 AST 节点与指定的 AST 匹配器相匹配; 2,clang-query 安装 准备: git clone --recursive https://git…

Linux详细介绍

Linux操作系统介绍 Linux 是一种开源的类 Unix 操作系统,最初由 Linus Torvalds 在 1991 年创建。与其他操作系统不同,Linux 是一个基于内核的操作系统,其核心是 Linux 内核。Linux 内核是由程序员社区不断开发和改进的,它提供了…

【 yolo红外微小无人机-直升机-飞机-飞鸟目标检测】

yolo无人机-直升机-飞机-飞鸟目标检测 1. 小型旋翼无人机目标检测2. yolo红外微小无人机-直升机-飞机-飞鸟目标检测3. yolo细分类型飞机-鸟类-无人机检测4. yolo红外大尺度无人机检测5. 小型固定翼无人机检测6. 大型固定翼无人机检测7. yolo航空俯视场景下机场飞机检测 1. 小型…

Hive SQL必刷练习题:排列组合问题【通过join不等式】

排列组合问题【通过join不等式】 这种问题,就是数学的排列不等式,一个队伍只能和其余队伍比一次,不能重复 方法1:可以直接通过join,最后on是一个不等式【排列组合问题的解决方式】 方法2:也可以是提前多加…

IAB欧洲发布首张泛欧洲数字零售媒体能力矩阵图

2024年1月18日,互动广告署-欧洲办事处(IAB Europe)发布了首张泛欧洲数字零售媒体能力矩阵图。为媒体买家提供的新资源概述了在欧洲运营的零售商提供的现场、场外和数字店内零售媒体广告机会。 2024年1月18日,比利时布鲁塞尔,欧洲领…

【深度学习】神经网络教程

文章目录 安装python环境熟悉Python安装torch 安装python环境 有解释器: 设置环境: 熟悉Python var1 1 # 整型 var2 1.1 # 浮点型 var3 1 2j # 复数 var4 hello # 字符串 var5 True # 布尔型 var6 [1, 2, 3] # 列表List var7 (1, 2, 3)…

PHP 读取嵌入式数据 SQLite3

SQLite3 属于轻量级开源的嵌入式关系型数据库,但它支持 ACID(Atomicity,Consistency,Isolation,Durability) 事务。 SQLite Download Page: https://www.sqlite.org/download.html 第一步:在 php.ini 中开启 extensionsqlite3 第二步:连接数…

保研复习概率论1

1.什么是随机试验(random trial)? 如果一个试验满足试验可以在相同的条件下重复进行、试验所有可能结果明确可知(或者是可知这个范围)、每一次试验前会出现哪个结果事先并不确定,那么试验称为随机试验。 …

JVM——运行时数据区

前言 由于JAVA程序是交由JVM执行的,所以我们所说的JAVA内存区域划分也是指的JVM内存区域划分,JAVA程序具体执行的过程如下图所示。首先Java源代码文件会被Java编译器编译为字节码文件,然后由JVM中的类加载器加载各个类的字节码文件&#xff0…

部标JT808车辆定位监控平台单服务器13.6万接入压力测试记录(附源码)

之前经常有人问平台能支持多少设备同时在线,由于事情多没时间做。最近刚好有机会做下压力测试。在不间断的连续压测三天,最终结果为13.6万TCP连接,30秒上报频率。 一、测试目的 测试平台同时接入设备数量与并发处理能力。 二、准备环境 一…

ubuntu arm qt 读取execl xls表格数据

一,ubuntu linux pc编译读取xls的库 1,安装libxls(读取xls文件 电脑版) 确保你已经安装了基本的编译工具,如gcc和make。如果没有安装,可以使用以下命令安装: sudo apt-update sudo apt-get install build-essentia…

principles and practices of interconnection networks. preface

preface 首先两个介绍章节,然后分为拓扑、路由、流量控制、路由器体系结构和性能五部分 第 1 章开始,描述什么是互连网络、如何使用它们、不同应用的性能要求以及如何选择拓扑结构。路由和流量控制就是为了满足这些要求。为了使这些概念具体化并激发本书…

前端学习之css media查询、自定义字体、过度动画、css变换、动画、渐变、多列、字体图标

media查询 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>media查询</title><!-- media查询&#xff1a;根据设备类型不同&#xff1a;比如说打印机、屏幕不同而产生不一样效果格式&#x…

Kubernetes kafka系列 | Strimzi 快速部署kafka集群 (可外部通信)

一、Strimzi介绍 Strimzi 是一个用于 Apache Kafka 在 Kubernetes 上部署和管理的开源项目。它提供了一组 Kubernetes 自定义资源定义(Custom Resource Definitions,CRDs)、控制器和操作符,使得在 Kubernetes 环境中轻松地部署、管理和操作 Kafka 集群成为可能。Strimzi 项…

STM32 CAN的位时序和波特率

STM32 CAN的位时序和波特率 位时序 STM32的CAN外设位时序中只包含3段&#xff0c;分别是同步段SYNC_SEG、位段BS1及位段BS2&#xff0c;采样点位于BS1及BS2段的交界处。其中SYNC_SEG段固定长度为1Tq&#xff0c;而BS1及BS2段可以在位时序寄存器CAN_BTR设置它们的时间长度&…

阿里云2核4G服务器优惠价格30元、165元和199元1年,轻量和ECS

阿里云2核4G服务器租用优惠价格&#xff0c;轻量2核4G服务器165元一年、u1服务器2核4G5M带宽199元一年、云服务器e实例30元3个月&#xff0c;活动链接 aliyunfuwuqi.com/go/aliyun 活动链接如下图&#xff1a; 阿里云2核4G服务器优惠价格 轻量应用服务器2核2G4M带宽、60GB高效…

基于深度学习YOLOv8+PyQt5的水底海底垃圾生物探测器检测识别系统(源码+数据集+配置说明)

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;323海底 获取完整源码7000张数据集配置说明文件说明远程操作配置环境跑通程序 效果展示 基于深度学习YOLOv8PyQt5的水底海底垃圾生物探测器检测识别系统设计&#xff08;源码数据集配置文件&#xff09; 各文件说明 程序运…

Docker-Container

Docker ①什么是容器②为什么需要容器③容器的生命周期容器 OOM容器异常退出容器暂停 ④容器命令清单总览docker createdocker rundocker psdocker logsdocker attachdocker execdocker startdocker stopdocker restartdocker killdocker topdocker statsdocker container insp…

taro框架之taro-ui中AtSwipeAction的使用

题记&#xff1a;所需效果&#xff1a;滑动删除 工作进程 官网文档代码 <AtSwipeAction options{[{text: 取消,style: {backgroundColor: #6190E8}},{text: 确认,style: {backgroundColor: #FF4949}} ]}><View classNamenormal>AtSwipeAction 一般使用场景</…

Pycharm小妙招之Anaconda离线配环境

Pycharm小妙招之Anaconda离线配环境———如何给无法联网的电脑配python环境&#xff1f; 1. 预备工作2. 电脑1导出包2.1 环境路径2.2 压缩py38导出至U盘 3. 电脑2导入包4. 验证是否导入成功4.1 conda查看是否导入4.2 pycharm查看能否使用 1. 预备工作 WINDOWS系统电脑1(在线)…