九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
LLMs之ChatGLM2:ChatGLM2-6B的簡介、安裝、使用方法之詳細(xì)攻略

LLMs之ChatGLM2:ChatGLM2-6B的簡介、安裝、使用方法之詳細(xì)攻略

導(dǎo)讀:2023年06月25日,清華大學(xué)開源了 ChatGLM2-6B 模型,是 ChatGLM 模型的升級(jí)版本。ChatGLM2-6B 在多個(gè)方面有顯著提升:模型性能更強(qiáng),在各種測(cè)試集上的表現(xiàn)更好;支持更長的上下文,最大上下文長度提升到 32k;推理速度提高42%,能支持更長的生成;開源許可更加開放,允許商業(yè)使用。ChatGLM2-6B在多個(gè)維度的能力上取得了巨大提升,包括數(shù)理邏輯、知識(shí)推理和長文檔理解。

模型性能提升主要來自升級(jí)的基座模型、混合了 GLM 目標(biāo)函數(shù)、使用 FlashAttention 和Multi-Query Attention 技術(shù)。它整合了最新技術(shù),在推理速度、生成長度、知識(shí)涵蓋等方面取得突破,使人機(jī)對(duì)話能力更強(qiáng)大。

>> 更強(qiáng)大的性能=混合目標(biāo)函數(shù)+1.4T中英標(biāo)識(shí)符
>> 更長的上下文=Flash?Attention技術(shù)+上下文長度擴(kuò)展到32K+8K訓(xùn)練+多輪對(duì)話
>> 更高效的推理=Multi-Query Attention技術(shù)+INT4量化
>> 更開放的協(xié)議


ChatGLM2-6B的簡介

? ? ? ? ? ChatGLM2-6B 是開源中英雙語對(duì)話模型?ChatGLM-6B 的第二代版本,在保留了初代模型對(duì)話流暢、部署門檻較低等眾多優(yōu)秀特性的基礎(chǔ)之上,ChatGLM2-6B 引入了如下新特性:
>> 更強(qiáng)大的性能=混合目標(biāo)函數(shù)+1.4T中英標(biāo)識(shí)符:基于 ChatGLM 初代模型的開發(fā)經(jīng)驗(yàn),我們?nèi)嫔?jí)了 ChatGLM2-6B 的基座模型。ChatGLM2-6B 使用了 GLM 的混合目標(biāo)函數(shù),經(jīng)過了 1.4T 中英標(biāo)識(shí)符的預(yù)訓(xùn)練與人類偏好對(duì)齊訓(xùn)練,評(píng)測(cè)結(jié)果顯示,相比于初代模型,ChatGLM2-6B 在 MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等數(shù)據(jù)集上的性能取得了大幅度的提升,在同尺寸開源模型中具有較強(qiáng)的競(jìng)爭力。
>> 更長的上下文=Flash?Attention技術(shù)+上下文長度擴(kuò)展到32K+8K訓(xùn)練+多輪對(duì)話:基于 Flash?Attention 技術(shù),我們將基座模型的上下文長度(Context Length)由 ChatGLM-6B 的 2K 擴(kuò)展到了 32K,并在對(duì)話階段使用 8K 的上下文長度訓(xùn)練,允許更多輪次的對(duì)話。但當(dāng)前版本的 ChatGLM2-6B 對(duì)單輪超長文檔的理解能力有限,我們會(huì)在后續(xù)迭代升級(jí)中著重進(jìn)行優(yōu)化。
>> 更高效的推理=Multi-Query Attention技術(shù)+INT4量化:基于 Multi-Query Attention 技術(shù),ChatGLM2-6B 有更高效的推理速度和更低的顯存占用:在官方的模型實(shí)現(xiàn)下,推理速度相比初代提升了 42%,INT4 量化下,6G 顯存支持的對(duì)話長度由 1K 提升到了 8K。
>> 更開放的協(xié)議:ChatGLM2-6B 權(quán)重對(duì)學(xué)術(shù)研究完全開放,在獲得官方的書面許可后,亦允許商業(yè)使用。如果您發(fā)現(xiàn)我們的開源模型對(duì)您的業(yè)務(wù)有用,我們歡迎您對(duì)下一代模型 ChatGLM3 研發(fā)的捐贈(zèng)。

GitHub地址https://github.com/THUDM/ChatGLM2-6B

huggingface地址https://huggingface.co/THUDM/chatglm2-6b

ChatGLM2-6B的安裝

1、環(huán)境安裝

(1)、首先需要下載本倉庫

git clone https://github.com/THUDM/ChatGLM2-6B

cd ChatGLM2-6B

(2)、然后使用 pip 安裝依賴

pip install -r requirements.txt

其中 transformers 庫版本推薦為 4.30.2,torch 推薦使用 2.0 以上的版本,以獲得最佳的推理性能。

ChatGLM2-6B的使用方法

1、基礎(chǔ)用法

(1)、代碼調(diào)用

可以通過如下代碼調(diào)用 ChatGLM2-6B 模型來生成對(duì)話:

>>> from transformers import AutoTokenizer, AutoModel
>>> tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)
>>> model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device='cuda')
>>> model = model.eval()
>>> response, history = model.chat(tokenizer, "你好", history=[])
>>> print(response)
你好👋!我是人工智能助手 ChatGLM2-6B,很高興見到你,歡迎問我任何問題。
>>> response, history = model.chat(tokenizer, "晚上睡不著應(yīng)該怎么辦", history=history)
>>> print(response)
晚上睡不著可能會(huì)讓你感到焦慮或不舒服,但以下是一些可以幫助你入睡的方法:

1. 制定規(guī)律的睡眠時(shí)間表:保持規(guī)律的睡眠時(shí)間表可以幫助你建立健康的睡眠習(xí)慣,使你更容易入睡。盡量在每天的相同時(shí)間上床,并在同一時(shí)間起床。
2. 創(chuàng)造一個(gè)舒適的睡眠環(huán)境:確保睡眠環(huán)境舒適,安靜,黑暗且溫度適宜??梢允褂檬孢m的床上用品,并保持房間通風(fēng)。
3. 放松身心:在睡前做些放松的活動(dòng),例如泡個(gè)熱水澡,聽些輕柔的音樂,閱讀一些有趣的書籍等,有助于緩解緊張和焦慮,使你更容易入睡。
4. 避免飲用含有咖啡因的飲料:咖啡因是一種刺激性物質(zhì),會(huì)影響你的睡眠質(zhì)量。盡量避免在睡前飲用含有咖啡因的飲料,例如咖啡,茶和可樂。
5. 避免在床上做與睡眠無關(guān)的事情:在床上做些與睡眠無關(guān)的事情,例如看電影,玩游戲或工作等,可能會(huì)干擾你的睡眠。
6. 嘗試呼吸技巧:深呼吸是一種放松技巧,可以幫助你緩解緊張和焦慮,使你更容易入睡。試著慢慢吸氣,保持幾秒鐘,然后緩慢呼氣。

如果這些方法無法幫助你入睡,你可以考慮咨詢醫(yī)生或睡眠專家,尋求進(jìn)一步的建議。

(2)、從本地加載模型

以上代碼會(huì)由?transformers?自動(dòng)下載模型實(shí)現(xiàn)和參數(shù)。完整的模型實(shí)現(xiàn)在?Hugging Face Hub。如果你的網(wǎng)絡(luò)環(huán)境較差,下載模型參數(shù)可能會(huì)花費(fèi)較長時(shí)間甚至失敗。此時(shí)可以先將模型下載到本地,然后從本地加載。

從 Hugging Face Hub 下載模型需要先安裝Git LFS,然后運(yùn)行

git clone https://huggingface.co/THUDM/chatglm2-6b

如果你從 Hugging Face Hub 上下載 checkpoint 的速度較慢,可以只下載模型實(shí)現(xiàn)

GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm2-6b

然后從這里手動(dòng)下載模型參數(shù)文件,并將下載的文件替換到本地的?chatglm2-6b?目錄下。

將模型下載到本地之后,將以上代碼中的?THUDM/chatglm2-6b?替換為你本地的?chatglm2-6b?文件夾的路徑,即可從本地加載模型。

模型的實(shí)現(xiàn)仍然處在變動(dòng)中。如果希望固定使用的模型實(shí)現(xiàn)以保證兼容性,可以在?from_pretrained?的調(diào)用中增加?revision="v1.0"?參數(shù)。v1.0?是當(dāng)前最新的版本號(hào),完整的版本列表參見?Change Log。

2、部署應(yīng)用

T1、網(wǎng)頁版 Demo

首先安裝 Gradio:pip install gradio,然后運(yùn)行倉庫中的?web_demo.py

python web_demo.py

程序會(huì)運(yùn)行一個(gè) Web Server,并輸出地址。在瀏覽器中打開輸出的地址即可使用。

默認(rèn)使用了?share=False?啟動(dòng),不會(huì)生成公網(wǎng)鏈接。如有需要公網(wǎng)訪問的需求,可以修改為?share=True?啟動(dòng)。

感謝?@AdamBear?實(shí)現(xiàn)了基于 Streamlit 的網(wǎng)頁版 Demo?web_demo2.py。使用時(shí)首先需要額外安裝以下依賴:

pip install streamlit streamlit-chat

然后通過以下命令運(yùn)行:

streamlit run web_demo2.py

經(jīng)測(cè)試,如果輸入的 prompt 較長的話,使用基于 Streamlit 的網(wǎng)頁版 Demo 會(huì)更流暢。

T2、命令行 Demo

運(yùn)行倉庫中?cli_demo.py

python cli_demo.py

程序會(huì)在命令行中進(jìn)行交互式的對(duì)話,在命令行中輸入指示并回車即可生成回復(fù),輸入?clear?可以清空對(duì)話歷史,輸入?stop?終止程序。

T3、API 部署

首先需要安裝額外的依賴?pip install fastapi uvicorn,然后運(yùn)行倉庫中的?api.py

python api.py

默認(rèn)部署在本地的 8000 端口,通過 POST 方法進(jìn)行調(diào)用

curl -X POST "http://127.0.0.1:8000"      -H 'Content-Type: application/json'      -d '{"prompt": "你好", "history": []}'

得到的返回值為

{
  "response":"你好👋!我是人工智能助手 ChatGLM2-6B,很高興見到你,歡迎問我任何問題。",
  "history":[["你好","你好👋!我是人工智能助手 ChatGLM2-6B,很高興見到你,歡迎問我任何問題。"]],
  "status":200,
  "time":"2023-03-23 21:38:40"
}

感謝?@hiyouga?實(shí)現(xiàn)了 OpenAI 格式的流式 API 部署,可以作為任意基于 ChatGPT 的應(yīng)用的后端,比如?ChatGPT-Next-Web??梢酝ㄟ^運(yùn)行倉庫中的openai_api.py?進(jìn)行部署:

python openai_api.py

進(jìn)行 API 調(diào)用的示例代碼為

import openai
if __name__ == "__main__":
    openai.api_base = "http://localhost:8000/v1"
    openai.api_key = "none"
    for chunk in openai.ChatCompletion.create(
        model="chatglm2-6b",
        messages=[
            {"role": "user", "content": "你好"}
        ],
        stream=True
    ):
        if hasattr(chunk.choices[0].delta, "content"):
            print(chunk.choices[0].delta.content, end="", flush=True)

3、低成本部署

3,1、模型量化

默認(rèn)情況下,模型以 FP16 精度加載,運(yùn)行上述代碼需要大概 13GB 顯存。如果你的 GPU 顯存有限,可以嘗試以量化方式加載模型,使用方法如下:

# 按需修改,目前只支持 4/8 bit 量化
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True).quantize(8).cuda()

模型量化會(huì)帶來一定的性能損失,經(jīng)過測(cè)試,ChatGLM2-6B 在 4-bit 量化下仍然能夠進(jìn)行自然流暢的生成。

如果你的內(nèi)存不足,可以直接加載量化后的模型:

model = AutoModel.from_pretrained("THUDM/chatglm2-6b-int4",trust_remote_code=True).cuda()

3.2、CPU 部署

如果你沒有 GPU 硬件的話,也可以在 CPU 上進(jìn)行推理,但是推理速度會(huì)更慢。使用方法如下(需要大概 32GB 內(nèi)存

model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True).float()

如果你的內(nèi)存不足的話,也可以使用量化后的模型

model = AutoModel.from_pretrained("THUDM/chatglm2-6b-int4",trust_remote_code=True).float()

在 cpu 上運(yùn)行量化后的模型需要安裝?gcc?與?openmp。多數(shù) Linux 發(fā)行版默認(rèn)已安裝。對(duì)于 Windows ,可在安裝?TDM-GCC?時(shí)勾選?openmp。 Windows 測(cè)試環(huán)境?gcc?版本為?TDM-GCC 10.3.0, Linux 為?gcc 11.3.0。在 MacOS 上

model = AutoModel.from_pretrained("your local path", trust_remote_code=True).to('mps')

請(qǐng)參考?Q1

3.3、Mac 部署

對(duì)于搭載了 Apple Silicon 或者 AMD GPU 的 Mac,可以使用 MPS 后端來在 GPU 上運(yùn)行 ChatGLM2-6B。需要參考 Apple 的?官方說明?安裝 PyTorch-Nightly(正確的版本號(hào)應(yīng)該是2.x.x.dev2023xxxx,而不是 2.x.x)。

目前在 MacOS 上只支持從本地加載模型。將代碼中的模型加載改為從本地加載,并使用 mps 后端:

加載半精度的 ChatGLM2-6B 模型需要大概 13GB 內(nèi)存。內(nèi)存較小的機(jī)器(比如 16GB 內(nèi)存的 MacBook Pro),在空余內(nèi)存不足的情況下會(huì)使用硬盤上的虛擬內(nèi)存,導(dǎo)致推理速度嚴(yán)重變慢。 此時(shí)可以使用量化后的模型 chatglm2-6b-int4。因?yàn)?GPU 上量化的 kernel 是使用 CUDA 編寫的,因此無法在 MacOS 上使用,只能使用 CPU 進(jìn)行推理。 為了充分使用 CPU 并行,還需要單獨(dú)安裝 OpenMP

3.4、多卡部署

如果你有多張 GPU,但是每張 GPU 的顯存大小都不足以容納完整的模型,那么可以將模型切分在多張GPU上。首先安裝 accelerate:?pip install accelerate,然后通過如下方法加載模型:

from utils import load_model_on_gpus
model = load_model_on_gpus("THUDM/chatglm2-6b", num_gpus=2)

即可將模型部署到兩張 GPU 上進(jìn)行推理。你可以將?num_gpus?改為你希望使用的 GPU 數(shù)。默認(rèn)是均勻切分的,你也可以傳入?device_map?參數(shù)來自己指定。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
清華2代ChatGLM2刷屏!C-Eval測(cè)試中超越gpt-4,位居榜首!
國產(chǎn)AI力作!手把手教你部署清華大模型ChatGLM2
既然ChatGPT高攀不起,那就試試ChatGLM吧
更快更好的chatglm3來了
對(duì)話機(jī)器人(二)
李云龍、謝耳朵專業(yè)陪聊!角色扮演系統(tǒng)ChatHaruhi爆火:支持32個(gè)中外角色,開源5.4萬條對(duì)話數(shù)據(jù)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服