欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:Llama 3超級課堂作業(yè)筆記

柚子快報激活碼778899分享:Llama 3超級課堂作業(yè)筆記

http://yzkb.51969.com/

文章目錄

基礎作業(yè)完成 Llama 3 Web Demo 部署環(huán)境配置下載模型Web Demo 部署對話截圖

使用 XTuner 完成小助手認知微調(diào)Web Demo 部署自我認知訓練數(shù)據(jù)集準備訓練模型推理驗證

使用 LMDeploy 成功部署 Llama 3 模型環(huán)境,模型準備LMDeploy CLI chatLMDeploy模型量化(lite)1. 設置最大KV Cache緩存大小2. 使用W4A16量化

LMDeploy服務(serve)1. 啟動API服務器2. 命令行客戶端連接API服務器3. 網(wǎng)頁客戶端連接API服務器

進階作業(yè)多模態(tài) Llava 微調(diào)和部署Llama3 工具調(diào)用能力訓練

Github 文檔:https://github.com/SmartFlowAI/Llama3-Tutorial B站視頻:https://www.bilibili.com/video/BV1Kr421u71u/

基礎作業(yè)

完成 Llama 3 Web Demo 部署

環(huán)境配置

注意,這里用的是12.1的CUDA版本,在新建開發(fā)機時不要選錯了。

conda create -n llama3 python=3.10

conda activate llama3

conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia

下載模型

軟鏈接 InternStudio 中的模型

mkdir -p ~/model

cd ~/model

ln -s /root/share/new_models/meta-llama/Meta-Llama-3-8B-Instruct ~/model/Meta-Llama-3-8B-Instruct

Web Demo 部署

cd ~

git clone https://github.com/SmartFlowAI/Llama3-Tutorial

安裝 XTuner 時會自動安裝其他依賴

cd ~

git clone -b v0.1.18 https://github.com/InternLM/XTuner

cd XTuner

pip install -e .

添加端口映射

運行 web_demo.py

streamlit run ~/Llama3-Tutorial/tools/internstudio_web_demo.py \

~/model/Meta-Llama-3-8B-Instruct

點擊這里進入網(wǎng)頁。

對話截圖

使用 XTuner 完成小助手認知微調(diào)

Web Demo 部署

同作業(yè)一

自我認知訓練數(shù)據(jù)集準備

進入 tools/gdata.py 腳本,修改身份認知

import json

# 輸入你的名字

name = '貓貓卷'

# 重復次數(shù)

n = 2000

data = [

{

"conversation": [

{

"system":"你是一個懂中文的小助手",

"input": "你是(請用中文回答)",

"output": "您好,我是{},一個由 SmartFlowAI 打造的人工智能助手,請問有什么可以幫助您的嗎?".format(name)

}

]

}

]

for i in range(n):

data.append(data[0])

with open('data/personal_assistant.json', 'w', encoding='utf-8') as f:

json.dump(data, f, ensure_ascii=False, indent=4)

cd ~/Llama3-Tutorial

python tools/gdata.py

以上腳本在生成了 ~/Llama3-Tutorial/data/personal_assistant.json 數(shù)據(jù)文件格式如下所示:

[

{

"conversation": [

{

"system": "你是一個懂中文的小助手",

"input": "你是(請用中文回答)",

"output": "您好,我是貓貓卷,一個由 SmartFlowAI 打造的人工智能助手,請問有什么可以幫助您的嗎?"

}

]

}

]

訓練模型

cd ~/Llama3-Tutorial

# 開始訓練,使用 deepspeed 加速,A100 40G顯存 耗時24分鐘。

# train之后包含了兩個路徑,一個是訓練的config,一個是訓練的工作路徑。工作路徑將保存我們的微調(diào)權重。

xtuner train configs/assistant/llama3_8b_instruct_qlora_assistant.py --work-dir /root/llama3_pth

# Adapter PTH 轉(zhuǎn) HF 格式

xtuner convert pth_to_hf /root/llama3_pth/llama3_8b_instruct_qlora_assistant.py \

/root/llama3_pth/iter_500.pth \

/root/llama3_hf_adapter

# 模型合并

# 由三個路徑組成,分別是原始的llama3權重路徑,剛剛轉(zhuǎn)換好的huggingface的adapter路徑,以及最后合并完成后的路徑

export MKL_SERVICE_FORCE_INTEL=1

xtuner convert merge /root/model/Meta-Llama-3-8B-Instruct \

/root/llama3_hf_adapter\

/root/llama3_hf_merged

訓練時的顯存占用情況: 訓練時命令行輸出: 模型權重轉(zhuǎn)化: 合并模型權重:

最終權重保存在/root/llama3_hf_merged中

推理驗證

streamlit run ~/Llama3-Tutorial/tools/internstudio_web_demo.py \

/root/llama3_hf_merged

使用 LMDeploy 成功部署 Llama 3 模型

環(huán)境,模型準備

# 如果你是InternStudio 可以直接使用

# studio-conda -t lmdeploy -o pytorch-2.1.2

# 初始化環(huán)境

conda create -n lmdeploy python=3.10

conda activate lmdeploy

conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia

安裝lmdeploy最新版。

pip install -U lmdeploy[all]

llama3下載:(在作業(yè)一中已經(jīng)軟鏈接過了)

LMDeploy CLI chat

直接在終端運行

conda activate lmdeploy

lmdeploy chat /root/model/Meta-Llama-3-8B-Instruct

運行效果:

LMDeploy模型量化(lite)

對模型進行量化。主要包括 KV8量化和W4A16量化。

1. 設置最大KV Cache緩存大小

模型在運行時,占用的顯存可大致分為三部分:模型參數(shù)本身占用的顯存、KV Cache占用的顯存,以及中間運算結果占用的顯存。LMDeploy的KV Cache管理器可以通過設置--cache-max-entry-count參數(shù),控制KV緩存占用剩余顯存的最大比例。默認的比例為0.8。

下面通過幾個例子,來看一下調(diào)整--cache-max-entry-count參數(shù)的效果。首先保持不加該參數(shù)(默認0.8),運行 Llama3-8b 模型。

lmdeploy chat /root/model/Meta-Llama-3-8B-Instruct/

對話效果:

新建一個終端運行

# 如果你是InternStudio 就使用

# studio-smi

nvidia-smi

在使用chat進行對話時的顯存占用為36240MiB

下面,改變–cache-max-entry-count參數(shù),設為0.5。

lmdeploy chat /root/model/Meta-Llama-3-8B-Instruct/ --cache-max-entry-count 0.5

對話效果:

看到顯存占用明顯降低,變?yōu)?8680MiB。

把–cache-max-entry-count參數(shù)設置為0.01,約等于禁止KV Cache占用顯存。

lmdeploy chat /root/model/Meta-Llama-3-8B-Instruct/ --cache-max-entry-count 0.01

對話效果:

可以看到,此時顯存占用僅為16400M,代價是會降低模型推理速度。

2. 使用W4A16量化

僅需執(zhí)行一條命令,就可以完成模型量化工作。

lmdeploy lite auto_awq \

/root/model/Meta-Llama-3-8B-Instruct \

--calib-dataset 'ptb' \

--calib-samples 128 \

--calib-seqlen 1024 \

--w-bits 4 \

--w-group-size 128 \

--work-dir /root/model/Meta-Llama-3-8B-Instruct_4bit

運行時間較長,需要耐心等待。量化工作結束后,新的HF模型被保存到Meta-Llama-3-8B-Instruct_4bit目錄。下面使用Chat功能運行W4A16量化后的模型。

lmdeploy chat /root/model/Meta-Llama-3-8B-Instruct_4bit --model-format awq

顯存占用為34294MiB。

為了更加明顯體會到W4A16的作用,我們將KV Cache比例再次調(diào)為0.01,查看顯存占用情況。(W4A16量化+KV Cache量化)

lmdeploy chat /root/model/Meta-Llama-3-8B-Instruct_4bit --model-format awq --cache-max-entry-count 0.01

顯存占用為6738MiB。

LMDeploy服務(serve)

在前面的章節(jié),我們都是在本地直接推理大模型,這種方式成為本地部署。在生產(chǎn)環(huán)境下,我們有時會將大模型封裝為 API 接口服務,供客戶端訪問。

1. 啟動API服務器

通過以下命令啟動API服務器,推理Meta-Llama-3-8B-Instruct模型:

lmdeploy serve api_server \

/root/model/Meta-Llama-3-8B-Instruct \

--model-format hf \

--quant-policy 0 \

--server-name 0.0.0.0 \

--server-port 23333 \

--tp 1

其中,model-format、quant-policy這些參數(shù)是與第三章中量化推理模型一致的;server-name和server-port表示API服務器的服務IP與服務端口;tp參數(shù)表示并行數(shù)量(GPU數(shù)量)。 通過運行以上指令,我們成功啟動了API服務器,請勿關閉該窗口,后面我們要新建客戶端連接該服務。 也可以直接打開http://{host}:23333查看接口的具體使用說明,如下圖所示。

這代表API接口啟動成功了。

這一步由于Server在遠程服務器上,所以本地需要做一下ssh轉(zhuǎn)發(fā)才能直接訪問。在你本地打開一個cmd窗口,輸入命令如下:

```打開`127.0.0.1:23333`

![在這里插入圖片描述](https://img-blog.csdnimg.cn/direct/65fef3dd6cf0445e88dcd06798f3c83d.png)

2. 命令行客戶端連接API服務器

在“1.”中,我們在終端里新開了一個API服務器。 本節(jié)中,我們要新建一個命令行客戶端去連接API服務器。首先通過VS Code新建一個終端: 激活conda環(huán)境

conda activate lmdeploy

運行命令行客戶端:

lmdeploy serve api_client http://localhost:23333

運行后,可以通過命令行窗口直接與模型對話

3. 網(wǎng)頁客戶端連接API服務器

關閉剛剛的VSCode終端,但服務器端的終端不要關閉。 運行之前確保自己的gradio版本低于4.0.0。

pip install gradio==3.50.2

新建一個VSCode終端,激活conda環(huán)境。

conda activate lmdeploy

使用Gradio作為前端,啟動網(wǎng)頁客戶端。

lmdeploy serve gradio http://localhost:23333 \

--server-name 0.0.0.0 \

--server-port 6006

打開瀏覽器,訪問地址http://127.0.0.1:6006 然后就可以與模型進行對話了!

進階作業(yè)

多模態(tài) Llava 微調(diào)和部署

沒有100%的A100。。。

Llama3 工具調(diào)用能力訓練

柚子快報激活碼778899分享:Llama 3超級課堂作業(yè)筆記

http://yzkb.51969.com/

好文鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19084213.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄