国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

醫(yī)美三方網(wǎng)站怎么做首頁百度

醫(yī)美三方網(wǎng)站怎么做,首頁百度,武漢網(wǎng)站建設(shè)知名 樂云踐新,黃頁網(wǎng)站推廣下載免費(fèi)1. 引言 最近在部署Qwen模型時,文檔上有提到強(qiáng)烈建議用vLLM來部署模型,按照公開的性能測試數(shù)據(jù),用vLLM部署Qwen模型的文本推理速度要比transformers部署快3~4倍。帶著這個好奇就開始安裝嘗試,但試下來這個安裝過程并沒有那么順利…

1. 引言

最近在部署Qwen模型時,文檔上有提到強(qiáng)烈建議用vLLM來部署模型,按照公開的性能測試數(shù)據(jù),用vLLM部署Qwen模型的文本推理速度要比transformers部署快3~4倍。帶著這個好奇就開始安裝嘗試,但試下來這個安裝過程并沒有那么順利,便有了此文來記錄整個環(huán)境搭建的過程。

vLLM是伯克利大學(xué)LMSYS組織開源的大語言模型高速推理框架,利用了全新的注意力算法「PagedAttention」,有效地管理Attention中的K和V。在吞吐量方面,vLLM的性能比HuggingFace Transformers(HF)高出 24 倍,文本生成推理(TGI)高出3.5倍。

2. vLLM環(huán)境要求

vLLM的安裝指導(dǎo)說明上對python和cuda有著明確的版本要求,如下面截圖所示:

vLLM安裝指導(dǎo)地址:https://docs.vllm.ai/en/latest/getting_started/installation.html

在這里插入圖片描述
首先是python,由于前面在不知情的情況下,已經(jīng)安裝了最新的python3.12版本,那就只能新創(chuàng)建一個3.10的虛擬環(huán)境。

conda及虛擬環(huán)境的創(chuàng)建請參考:conda環(huán)境搭建筆記

其次是cuda,vLLM是拿12.1版本編譯的,但本地機(jī)器裝的cuda為12.0,嘗試過向下兼容的方式后無果,最終選擇按照官方建議的cuda-12.1來重新安裝,這意味著不僅僅是vLLM,機(jī)器上已經(jīng)安裝的pytorch、cuda都需要重新安裝。

安裝說明上有提供cuda-11.8的版本,正好之前pytorch安裝時選擇的也是cuda-11.8,所以嘗試過取巧直接安裝11.8,但最終沒有成功,報一些cuda.C的一些.so動態(tài)庫找不到(具體信息未能保留下來),就放棄了。
在這里插入圖片描述

由于cuda是pytorch和vLLM的基礎(chǔ)依賴,首先需要重裝cuda。

3. CUDA安裝

3.1 下載安裝包

下載網(wǎng)址:https://developer.nvidia.com/cuda-toolkit-archive

首先選擇自己要安裝的版本(12.1):
在這里插入圖片描述
逐個勾選自己的環(huán)境信息,勾選完后下面會自動出現(xiàn)與所選環(huán)境匹配的安裝指令:
在這里插入圖片描述
在這里插入圖片描述
先復(fù)制上面的wget指令,下載文件(文件有4G,需要下一段時間)。
在這里插入圖片描述

3.2 安裝

下載完后執(zhí)行如下命令開始安裝。

sudo sh cuda_12.1.0_530.30.02_linux.run

安裝程序正式開始復(fù)制文件之前,可能會有兩個小插曲(具體與本地環(huán)境有關(guān)):舊環(huán)境兼容性檢測和GPU是否在使用的檢查。

3.2.1 舊環(huán)境兼容性檢測

剛啟動安裝時會執(zhí)行對本地舊環(huán)境的兼容性檢測,如果發(fā)現(xiàn)本地機(jī)器的nvidia驅(qū)動與要安裝的cuda版本不一致,安裝程序會強(qiáng)烈建議你將已經(jīng)存在的nvidia驅(qū)動卸載(命令如下面所示)。

apt-get remove --purge nvidia-driver-530
apt-get autoremove

需要注意的是此命令的用途,它會將機(jī)器上已經(jīng)存在的nvidia驅(qū)動刪除,個人猜測目的可能是為了保持cuda與的nvidia驅(qū)動的版本一致。

這里嘗試過不卸載,但沒有成功,cuda與nvidia版本不一致可能會導(dǎo)致驅(qū)動無法工作,運(yùn)行nvidia-smi命令報如下截圖中錯誤,最后還是乖乖按照指示進(jìn)行了刪除操作。
在這里插入圖片描述

3.2.2 GPU是否在使用的檢查

安裝程序會檢測GPU是否在使用中,如果在使用中,會提示退出所有GPU之后才能繼續(xù)安裝。

如果此時nvidia-smi命令可用,可以從命令輸出結(jié)果中看到哪個進(jìn)程在使用GPU:
在這里插入圖片描述
查到被占用的GPU序號(上面截圖中是0),則可以用如下命令來釋放GPU:

sudo nvidia-smi --gpu-reset -i 0
GPU 00000000:3E:00.0 was successfully reset.
All done.

上面的方法是基于nvidia-smi存在的情況下,但是如果前面已經(jīng)卸載了nvidia驅(qū)動程序(nvidia-smi命令也會被刪除),那用什么方法查看GPU的狀態(tài)呢?

用fuser命令能夠列出哪些進(jìn)程在使用GPU,然后使用kill命令將這些進(jìn)程結(jié)束就行。

# 查找所有使用GPU的進(jìn)程
sudo fuser -v /dev/nvidia*
sudo kill -9 <PID>

在這里插入圖片描述

3.2.3 主流程安裝

之后會提示你去勾選要安裝的功能清單,用默認(rèn)就好。
在這里插入圖片描述
安裝過程中,如果前面卸載了nvidia驅(qū)動程序,此時會自動安裝與cuda版本配套的nvidia驅(qū)動程序,而cuda則會被安裝到/usr/local/cuda-12.1目錄下,安裝完后的磁盤位置如下圖所示:
在這里插入圖片描述

3.3 配置環(huán)境變量

將cuda的庫和命令添加到環(huán)境變量中。

echo 'export PATH=/usr/local/cuda-12.1/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

驗(yàn)證cuda安裝結(jié)果:

nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb__7_19:32:13_PST_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0

驗(yàn)證nvidia驅(qū)動程序安裝結(jié)果:

可以看到,這里顯示的cuda version和上面nvcc命令顯示的版本是一致的。

在這里插入圖片描述

4. 重裝pytorch

之前pytorch是基于cuda-11.8安裝的,當(dāng)上面cuda版本變更后,需要重新選擇能適配cuda-12.1的pytorch版本重新安裝。

注:pytorch一定要先于vllm來安裝,因?yàn)関llm安裝時會檢測本地機(jī)器的cuda和pytorch是否滿足版本要求,如果沒有匹配的依賴,vllm是無法安裝的。

在這里插入圖片描述
具體過程這里就不細(xì)列,詳情見: conda&pytorch環(huán)境搭建筆記

5. vllm

5.1 安裝vllm

前面的cuda和pytorch都使用官方建議的版本后,安裝vllm的命令就和正常庫的安裝命令一樣,但是由于下載的軟件包很多,這個過程也會比較長。

pip install vllm

安裝完成后如下圖所示:
在這里插入圖片描述
驗(yàn)證vllm的安裝結(jié)果:

!pip show vllm
WARNING: Ignoring invalid distribution -orch (/data2/anaconda3/envs/python3_10/lib/python3.10/site-packages)
Name: vllm
Version: 0.5.3.post1
Summary: A high-throughput and memory-efficient inference and serving engine for LLMs
Home-page: https://github.com/vllm-project/vllm
Author: vLLM Team
Author-email: 
License: Apache 2.0
Location: /data2/anaconda3/envs/python3_10/lib/python3.10/site-packages
Requires: aiohttp, cmake, fastapi, filelock, lm-format-enforcer, ninja, numpy, nvidia-ml-py, openai, outlines, pillow, prometheus-client, prometheus-fastapi-instrumentator, psutil, py-cpuinfo, pydantic, pyzmq, ray, requests, sentencepiece, tiktoken, tokenizers, torch, torchvision, tqdm, transformers, typing-extensions, uvicorn, vllm-flash-attn, xformers
Required-by: 
5.2 驗(yàn)證vllm功能

在jupyter里貼一段加載模型的代碼,嘗試將本地下載好的模型Load進(jìn)來:

from transformers import AutoTokenizer
from vllm import LLM, SamplingParamsmodel_dir = "/data2/anti_fraud/models/modelscope/hub/Qwen/Qwen2-0___5B-Instruct"
# Initialize the tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_dir)# max_tokens is for the maximum length for generation.
sampling_params = SamplingParams(temperature=0.7, top_p=0.8, repetition_penalty=1.05, max_tokens=512)# Input the model name or path. Can be GPTQ or AWQ models.
llm = LLM(model=model_dir)

在這里插入圖片描述
再貼一段代碼來測試模型是否能正常推理:

# Prepare your prompts
prompt = "Tell me something about large language models."
messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True
)# generate outputs
outputs = llm.generate([text], 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}")

生成的文本如下:
在這里插入圖片描述

參考資料:

  • conda&pytorch環(huán)境搭建筆記
  • cuda-tool 官方下載地址
  • vllm部署Qwen說明文檔
http://m.aloenet.com.cn/news/29471.html

相關(guān)文章:

  • 做軟件跟網(wǎng)站哪個難全國各城市疫情高峰感染進(jìn)度
  • 廈門網(wǎng)站建設(shè)公司推薦windows優(yōu)化大師破解版
  • 發(fā)外鏈的網(wǎng)站都要企業(yè)注冊需要優(yōu)化的地方
  • 做動態(tài)網(wǎng)站怎樣配置iisb2b商務(wù)平臺
  • 專業(yè)網(wǎng)站制作公司教程長尾關(guān)鍵詞什么意思
  • 小白如何免費(fèi)做網(wǎng)站阿里巴巴國際站關(guān)鍵詞推廣
  • 張家港網(wǎng)站制作哪家好站長資源平臺
  • 如何做網(wǎng)站結(jié)構(gòu)優(yōu)化鄭州粒米seo顧問
  • 做網(wǎng)站的代碼常用的網(wǎng)絡(luò)推廣方法有哪些
  • 響應(yīng)式網(wǎng)站 圖片尺寸奇數(shù)手機(jī)百度最新正版下載
  • 跨境電商建站seo站長教程
  • 網(wǎng)站制作rss千萬不要去電商公司上班
  • 凈水器公司網(wǎng)站源碼小江seo
  • 網(wǎng)站建設(shè)與管理李洪心西安seo外包行者seo06
  • 可以在視頻網(wǎng)站上做新聞節(jié)目嗎太原做網(wǎng)站的
  • 如何查看網(wǎng)站語言百度一下首頁官網(wǎng)下載
  • 做網(wǎng)站和小程序的區(qū)別google框架三件套
  • 做網(wǎng)站后端要什么技術(shù)網(wǎng)絡(luò)推廣代運(yùn)營公司
  • 杭州蕭山區(qū)專門做網(wǎng)站的公司搜索引擎網(wǎng)站大全
  • 免費(fèi)網(wǎng)站開發(fā)河南鄭州最新消息
  • 網(wǎng)站建設(shè)情況存在問題長沙seo推廣
  • 瑞安地區(qū)建設(shè)網(wǎng)站谷歌安裝器
  • 網(wǎng)站備案授權(quán)書范本baike seotl
  • 問答網(wǎng)站怎么做營銷想做推廣哪個平臺好
  • 網(wǎng)站連接跳轉(zhuǎn)怎么做網(wǎng)站排名查詢軟件
  • 網(wǎng)站做法深圳關(guān)鍵詞排名seo
  • 微信運(yùn)營是做什么的seo自然排名關(guān)鍵詞來源的優(yōu)缺點(diǎn)
  • 淮南招聘網(wǎng)站建設(shè)搜索引擎技術(shù)優(yōu)化
  • 合肥網(wǎng)站建設(shè)優(yōu)化網(wǎng)絡(luò)營銷是什么工作主要干啥
  • 公司設(shè)計(jì)網(wǎng)站需要包含什么資料農(nóng)產(chǎn)品營銷方案