国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%

這篇具有很好參考價值的文章主要介紹了手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

大家好,我是微學(xué)AI,今天教你們本地CPU環(huán)境部署清華大ChatGLM-6B模型,利用量化模型,每個人都能跑動大模型。ChatGLM-6B是一款出色的中英雙語對話模型,擁有超過62億個參數(shù),可高效地處理日常對話場景。與GLM-130B模型相比,ChatGLM-6B在對話場景處理能力方面表現(xiàn)更加卓越。此外,在使用體驗(yàn)方面,ChatGLM-6B采用了模型量化技術(shù)和本地部署技術(shù),為用戶提供更加便利和靈活的使用方式。值得一提的是,該模型還能夠在單張消費(fèi)級顯卡上順暢運(yùn)行,速度較快,是一款非常實(shí)用的對話模型。

ChatGLM-6B是清華開發(fā)的中文對話大模型的小參數(shù)量版本,目前已經(jīng)開源了,可以單卡部署在個人電腦上,利用?INT4 量化還可以最低部署到?6G 顯存的電腦上,在 CPU 也可以運(yùn)行起來的。

項(xiàng)目地址:mirrors / THUDM / chatglm-6b · GitCode

第1步:下載:

git clone https://gitcode.net/mirrors/THUDM/chatglm-6b.git

第2步:進(jìn)入ChatGLM-6B-main目錄下,安裝相關(guān)依賴

pip install -r requirements.txt

其中 torch安裝CPU版本即可。

第3步:打開ChatGLM-6B-main目錄的web_demo.py文件,源代碼:

from transformers import AutoModel, AutoTokenizer
import gradio as gr
import mdtex2html

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
model = model.eval()

這個是在GPU版本下的代碼,現(xiàn)在改為CPU版本下的代碼:

from transformers import AutoModel, AutoTokenizer
import gradio as gr
import mdtex2html

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True).float()
model = model.eval()

模型下載改成THUDM/chatglm-6b-int4,也就是int4量化版本。模型量化到int4是一種將神經(jīng)網(wǎng)絡(luò)模型中的參數(shù)從浮點(diǎn)數(shù)格式調(diào)整為4位精度的整數(shù)格式的技術(shù),可以顯著提高硬件設(shè)備的效率和速度,并且適用于需要在低功耗設(shè)備上運(yùn)行的場景。

INT4量化的預(yù)訓(xùn)練文件下載地址:https://huggingface.co/THUDM/chatglm-6b-int4/tree/main

?第4步:kernel的編譯

CPU版本的安裝還需要安裝好C/C++的編譯環(huán)境。這里大家可以安裝TDM-GCC。

下載地址:https://jmeubank.github.io/tdm-gcc/,大家選擇選取TDM-GCC 10.3.0 release下載安裝。特別注意:安裝的時候在選項(xiàng)gcc選項(xiàng)下方,勾選openmp,這個很重要,踩過坑,直接安裝的話后續(xù)會報(bào)錯。

手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%

手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%

?安裝完在cmd中運(yùn)行”gcc -v”測試是否成功即可。

手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%

安裝gcc的目的是為了編譯c++文件,quantization_kernels.cquantization_kernels_parallel.c手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%

?quantization_kernels.c文件:

void compress_int4_weight(void *weight, void *out, int n, int m)
{
    for(int i=0;i<n*m;i++)
    {
        (*(unsigned char*)(out)) = ((*(unsigned char*)(weight)) << 4);
        weight += sizeof(char);
        (*(unsigned char*)(out)) |= ((*(unsigned char*)(weight)) & 15);
        weight += sizeof(char);
        out += sizeof(char);
    }
}

void extract_int8_weight_to_float(void *weight, void *scale_list, void *out, int n, int m)
{
	for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            (*(float*)(out + sizeof(float) * (i * m + j))) = (*(float*)(scale_list + sizeof(float) * i)) * (*(char*)(weight + sizeof(char) * (i * m + j)));
}

void extract_int4_weight_to_float(void *weight, void *scale_list, void *out, int n, int m)
{
	for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            (*(float*)(out)) = (*(float*)(scale_list)) * ((*(char*)(weight)) >> 4);
            out += sizeof(float);
            (*(float*)(out)) = (*(float*)(scale_list)) * (((char)((*(unsigned char*)(weight)) << 4))>> 4);
            out += sizeof(float);
            weight += sizeof(char);
        }
        scale_list += sizeof(float);
    }
}

以上C++程序?qū)τ诿總€8位的輸入權(quán)重值,都會被壓縮成一個4位的輸出權(quán)重值,并存儲到指定的輸出數(shù)組中。這種權(quán)重量化方式可以有效減小模型的內(nèi)存占用,提高模型的推理速度。

?第5步:運(yùn)行web_demo.py文件

注意:如果大家在運(yùn)行中遇到了錯誤提示,說明兩個文件編譯出問題。我們可以手動去編譯這兩個文件:即在上面下載的D:..\chatglm-6b-int4本地目錄下進(jìn)入cmd,運(yùn)行兩個編譯命令:

gcc -fPIC -pthread -fopenmp -std=c99 quantization_kernels.c -shared -o quantization_kernels.so
gcc -fPIC -pthread -fopenmp -std=c99 quantization_kernels_parallel.c -shared -o quantization_kernels_parallel.so

沒有報(bào)錯說明運(yùn)行成功,目錄下看到下面兩個新的文件:quantization_kernels_parallel.soquantization_kernels.so。說明編譯成功,后面我們手動載入,這里要多加一行代碼

model = model.quantize(bits=4, kernel_file="D:..\\chatglm-6b-int4\\quantization_kernels.so")

如果原來代碼沒有錯可以去掉這行。

?第6步:web_demo.py文件運(yùn)行成功

手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%

?出現(xiàn)地址就大功告成了。

?第7步:測試問題

1.魯迅和周樹人是同一個人嗎?

ChatGLM的結(jié)果:

手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%

?ChatGPT的結(jié)果:

手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%

?2.樹上9只鳥,用槍打掉1只,還剩幾只?

ChatGLM的結(jié)果:

手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%

?ChatGPT的結(jié)果:

手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%

ChatGLM在某些中文問題和常識問題上超過ChatGPT,但是總體上是不如ChatGPT,他在總結(jié)任務(wù)上,代碼編寫上不如ChatGPT,總體達(dá)到ChatGPT的80%左右,可以做簡單的任務(wù)。

?文章來源地址http://www.zghlxwxcb.cn/news/detail-428572.html

到了這里,關(guān)于手把手教你本地CPU環(huán)境部署清華大模型ChatGLM-6B,利用量化模型,本地即可開始智能聊天,達(dá)到ChatGPT的80%的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 手把手教你設(shè)計(jì)字長8位的簡單CPU-Verilog實(shí)現(xiàn)

    手把手教你設(shè)計(jì)字長8位的簡單CPU-Verilog實(shí)現(xiàn)

    首先聲明,所實(shí)現(xiàn)的8字長簡單CPU所支持的指令不多,結(jié)構(gòu)也很簡單,只是演示講解下如何根據(jù)任務(wù)書設(shè)計(jì)一個屬于自己的CPU,不喜勿噴,謝謝。 轉(zhuǎn)載請注明出處 作者:雪天魚 更多博客、資料和業(yè)務(wù)承接發(fā)布在我的個人網(wǎng)站上,歡迎交流學(xué)習(xí)。 此設(shè)計(jì)要求來源于一個課程設(shè)

    2024年02月05日
    瀏覽(19)
  • 手把手教你如何免費(fèi)Midjourney Adobe FireFly AI繪圖—Window本地快速部署stable diffusion AI繪圖及使用指南(小白也能學(xué)會)

    手把手教你如何免費(fèi)Midjourney Adobe FireFly AI繪圖—Window本地快速部署stable diffusion AI繪圖及使用指南(小白也能學(xué)會)

    最近看到朋友圈最近各種文字生圖、圖生圖,眼花繚亂的圖片AI生成,我也心動了,于是趕緊研究了下目前業(yè)內(nèi)認(rèn)為最強(qiáng)大的 Midjourney、Adobe FireFly ,本來想試用下,奈何全球人民太熱情了, Midjourney 被薅羊毛薅的不行了,原本 Midjourney 剛注冊可以免費(fèi)玩25次,現(xiàn)在也被Midjour

    2024年02月04日
    瀏覽(29)
  • 手把手帶你linux部署清華大學(xué)大模型最新版 chaglm2-6b

    手把手帶你linux部署清華大學(xué)大模型最新版 chaglm2-6b

    準(zhǔn)備工作: 如果安裝出現(xiàn)問題,可嘗試手動分別安裝torch 1 # 1第一步安裝虛擬環(huán)境并激活環(huán)境 3 安裝torch第一種方式 pytorch官網(wǎng):https://pytorch.org/ 經(jīng)過多次嘗試,發(fā)現(xiàn)conda裝,真的很快,真香。前幾次嘗試用pip裝torch都會出現(xiàn)timeout的錯誤,這個跟服務(wù)器有關(guān)系,視情況而定。

    2024年02月12日
    瀏覽(32)
  • 手把手教你SAM(segment anything)官方代碼本地調(diào)用

    手把手教你SAM(segment anything)官方代碼本地調(diào)用

    更新一下如何下載官方本地github代碼并在本地進(jìn)行調(diào)用,更新的比較晚,截止發(fā)布前已經(jīng)有28.1k的star了。接下來教大家如何分割一切! ? 首先我們可以下載SAM在官方的代碼鏈接:https://github.com/facebookresearch/segment-anything 下載好之后需要配置一下SAM需要的環(huán)境,用pycharm打開配置

    2024年02月05日
    瀏覽(31)
  • 【手把手教你】將本地的項(xiàng)目上傳到github(兩種方法)

    方法一的步驟如下: 在 github 上創(chuàng)建一個新的倉庫,給它一個合適的名字,比如 my-project。 在本地創(chuàng)建一個文件夾,用來存放你的項(xiàng)目文件,比如 my-project。 在本地文件夾中打開 git bash,輸入 git init 命令,初始化一個本地倉庫。 將你的項(xiàng)目文件復(fù)制或移動到本地文件夾中,

    2024年02月12日
    瀏覽(27)
  • 手把手教你5分鐘搭建RabbitMq開發(fā)環(huán)境

    手把手教你5分鐘搭建RabbitMq開發(fā)環(huán)境

    演示環(huán)境 1、使用Vagrant 和 VirtualBox創(chuàng)建linux虛擬機(jī) 不知道Vagrant怎么使用的可以看這里。 ①在cmd窗口執(zhí)行命令 vagrant init generic/centos7 ,初始化linux啟動環(huán)境 ②執(zhí)行啟動命令 vagrant up 啟動Linux虛擬機(jī) ③修改當(dāng)前目錄的Vagrantfile文件,為虛擬機(jī)配置內(nèi)網(wǎng)ip,后面登錄的時候會用到

    2023年04月12日
    瀏覽(27)
  • 手把手教你用 Jenkins 自動部署 SpringBoot

    手把手教你用 Jenkins 自動部署 SpringBoot

    CI/CD 是一種通過在應(yīng)用開發(fā)階段引入自動化來頻繁向客戶交付應(yīng)用的方法。 CI/CD 的核心概念可以總結(jié)為三點(diǎn): 持續(xù)集成 持續(xù)交付 持續(xù)部署 CI/CD 主要針對在集成新代碼時所引發(fā)的問題(俗稱\\\"集成地獄\\\")。 為什么會有集成地獄這個“雅稱”呢?大家想想我們一個項(xiàng)目部署的

    2024年02月02日
    瀏覽(30)
  • 手把手教你搭建ARM32 QEMU環(huán)境

    手把手教你搭建ARM32 QEMU環(huán)境

    我們知道嵌入式開發(fā)調(diào)試就要和各種硬件打交道,所以學(xué)習(xí)就要專門購買各種開發(fā)版,浪費(fèi)資金,開會演示效果還需要攜帶一大串的板子和電線,不勝其煩。然而Qemu的使用可以避免頻繁在開發(fā)板上燒寫版本,如果進(jìn)行的調(diào)試工作與外設(shè)無關(guān),僅僅是內(nèi)核方面的調(diào)試,Qemu模擬

    2024年02月19日
    瀏覽(31)
  • 【Git】手把手教你使用Git將本地文件上傳到遠(yuǎn)程倉庫

    【Git】手把手教你使用Git將本地文件上傳到遠(yuǎn)程倉庫

    最近在學(xué)習(xí)Git,寫篇博客記錄一下,如有錯誤還請指正。 文章內(nèi)容大致如下: ??????? 1.新建本地倉庫,并上傳本地倉庫中的文件到遠(yuǎn)程倉庫 ??????? 2. 修改遠(yuǎn)程倉庫文件內(nèi)容,同步更新到本地倉庫中 準(zhǔn)備: ????????1. 需要在Gitee注冊自己賬號 ????????2. 已在電

    2024年02月05日
    瀏覽(23)
  • 手把手教你將項(xiàng)目部署到服務(wù)器!

    手把手教你將項(xiàng)目部署到服務(wù)器!

    一、導(dǎo)入centos7虛擬機(jī): 打開VMWare,點(diǎn)擊“打開虛擬機(jī)”,選擇centos7.ova之后,選擇存儲路徑: 點(diǎn)擊導(dǎo)入: 選擇“不再顯示此消息”,點(diǎn)擊“重試”按鈕: 點(diǎn)擊“編輯虛擬機(jī)設(shè)置”,修改處理器、內(nèi)存、硬盤等信息后,啟動 按Ctrl+Alt鍵可以切換到windows下。 啟動成功后,輸入

    2023年04月20日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包