链载Ai

标题: vLLM 是什么? [打印本页]

作者: 链载Ai    时间: 昨天 09:38
标题: vLLM 是什么?

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.2em;font-weight: bold;display: table;margin: 4em auto 2em;padding-right: 0.2em;padding-left: 0.2em;background: rgb(15, 76, 129);color: rgb(255, 255, 255);">vLLM简介

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">vLLM 是一个快速且易于使用的 LLM(大型语言模型)推理和服务库。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">vLLM 之所以快速,是因为:

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">vLLM 灵活且易于使用,因为它:

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.2em;font-weight: bold;display: table;margin: 4em auto 2em;padding-right: 0.2em;padding-left: 0.2em;background: rgb(15, 76, 129);color: rgb(255, 255, 255);">免费的Google Colab T4 GPU

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">Google Colab 的 T4 GPU 是一种高性能的计算资源,由 Google 提供,用于加速机器学习和深度学习任务。T4 GPU 是由 NVIDIA 生产的 Tensor Core GPU,专为提供高效的深度学习推理和训练性能而设计。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">以下是关于 Google Colab 的 T4 GPU 的一些关键特性:

    ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;padding-left: 1em;color: rgb(63, 63, 63);" class="list-paddingleft-1">
  1. 1.GPU 架构:T4 基于 NVIDIA 的 Ampere 架构,这是继 Turing 架构之后的新一代 GPU 架构,专为 AI 和机器学习工作负载优化。

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

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

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

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

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

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

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

选择免费的T4 GPU

查看GPU信息

!nvidia-smi

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

  1. 1.

  1. 1.GPU 状态概览

  2. 2.进程信息

  3. 3.系统信息

#memoryfootprintsupportlibraries/code
!ln-sf/opt/bin/nvidia-smi/usr/bin/nvidia-smi
!pipinstall-qgputil

importpsutil
importhumanize
importos
importGPUtilasGPU

GPUs=GPU.getGPUs()
#XXXnlyoneGPUonColabandisn’tguaranteed
gpu=GPUs[0]
defprintm():
process=psutil.Process(os.getpid())
virtual_memory=humanize.naturalsize(psutil.virtual_memory().available)
memory_info=humanize.naturalsize(process.memory_info().rss)
memoryFree=gpu.memoryFree
memoryUsed=gpu.memoryUsed
memoryUtil=gpu.memoryUtil*100
memoryTotal=gpu.memoryTotal

print(f"GenRAMFree:{virtual_memory}|Procsize:{memory_info}")

print("GPURAMFree:{0:.0f}MB|Used:{1:.0f}MB|Util{2:3.0f}%|Total{3:.0f}MB".\
format(memoryFree,memoryUsed,memoryUtil*100,memoryTotal))
printm()

返回

Preparingmetadata(setup.py)...done
Buildingwheelforgputil(setup.py)...done
GenRAMFree:12.4GB|Procsize:98.9MB
GPURAMFree:15101MB|Used:0MB|Util0%|Total15360MB
!nvcc-V

返回

nvcc:NVIDIA(R)Cudacompilerdriver
Copyright(c)2005-2023NVIDIACorporation
BuiltonTue_Aug_15_22:02:13_PDT_2023
Cudacompilationtools,release12.2,V12.2.140
Buildcuda_12.2.r12.2/compiler.33191640_0

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

安装vLLM

%%bash
gitclonehttps://github.com/vllm-project/vllmsrc
cd/content/src
pipinstall-e.#Thismaytake5-10minutes.

检查torch版本

importtorch
print(torch.version.cuda)

使用MODELSCOPE 镜像

%%bash
exportVLLM_USE_MODELSCOPE=True

测试

fromvllmimportLLM,SamplingParams
prompts=[
"Hello,mynameis",
"ThepresidentoftheUnitedStatesis",
"ThecapitalofFranceis",
"ThefutureofAIis",
]
sampling_params=SamplingParams(temperature=0.8,top_p=0.95)
llm=LLM(model="Qwen/Qwen1.5-1.8B-Chat",dtype='half')

outputs=llm.generate(prompts,sampling_params)

#Printtheoutputs.
foroutputinoutputs:
prompt=output.prompt
generated_text=output.outputs[0].text
print(f"Prompt:{prompt!r},Generatedtext:{generated_text!r}")






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5