1、簡(jiǎn)介
(1)ChatGLM2-6B
ChatGLM2-6B是一個(gè)開(kāi)源的、支持中英雙語(yǔ)的對(duì)話語(yǔ)言模型,基于General Language Model (GLM)架構(gòu)。
ChatGLM2-6B具備的能力:
- 自我認(rèn)知:“介紹一下你的優(yōu)點(diǎn)”
- 提綱寫(xiě)作:“幫我寫(xiě)一個(gè)介紹ChatGLM的博客提綱”
- 文案寫(xiě)作:“寫(xiě)10條熱評(píng)文案”
- 信息抽取:‘從上述信息中抽取人、時(shí)間、事件’
大語(yǔ)言模型通?;谕ㄗR(shí)知識(shí)進(jìn)行訓(xùn)練,因此在面向如下場(chǎng)景時(shí),常常需要借助模型微調(diào)或提示詞工程提升語(yǔ)言模型應(yīng)用效果:
- 垂直領(lǐng)域知識(shí)
- 基于私有數(shù)據(jù)的問(wèn)答
(2)LangChain
LangChain是一個(gè)用于開(kāi)發(fā)由語(yǔ)言模型驅(qū)動(dòng)的應(yīng)用程序的框架。
主要功能:
- 調(diào)用語(yǔ)言模型
- 將不同數(shù)據(jù)源接入到語(yǔ)言模型的交互中
- 允許語(yǔ)言模型與運(yùn)行環(huán)境交互
LangChain中提供的模塊
- Modules:支持的模型類型和集成。
- Prompt:提示詞管理、優(yōu)化和序列化。
- Memory:內(nèi)存是指在鏈/代理調(diào)用之間持續(xù)存在的狀態(tài)。
- Indexes:當(dāng)語(yǔ)言模型與特定于應(yīng)用程序的數(shù)據(jù)相結(jié)合時(shí),會(huì)變得更加強(qiáng)大-此模塊包含用于加載、查詢和更新外部數(shù)據(jù)的接口和集成。
- Chain:鏈?zhǔn)墙Y(jié)構(gòu)化的調(diào)用序列(對(duì)LLM或其他實(shí)用程序)。
- Agents:代理是一個(gè)鏈,其中LLM在給定高級(jí)指令和一組工具的情況下,反復(fù)決定操作,執(zhí)行操作并觀察結(jié)果,直到高級(jí)指令完成。
- Callbacks:回調(diào)允許您記錄和流式傳輸任何鏈的中間步驟,從而輕松觀察、調(diào)試和評(píng)估應(yīng)用程序的內(nèi)部。
LangChain的運(yùn)用場(chǎng)景:
- 文檔問(wèn)答
- 個(gè)人助理
- 查詢表格數(shù)據(jù)
- 與API交互
- 信息提取
- 文檔總結(jié)
(3)基于單一文檔問(wèn)答的實(shí)現(xiàn)原理
1、加載本地文檔:讀取本地文檔加載為文本
2、文本拆分:將文本按照字符、長(zhǎng)度或語(yǔ)義進(jìn)行拆分
3、根據(jù)提問(wèn)匹配文本:根據(jù)用戶提問(wèn)對(duì)文本進(jìn)行字符匹配或語(yǔ)義檢索
4、構(gòu)建Prompt:將匹配文本、用戶提問(wèn)加入Prompt模板
5、LLM生成回答:將Pronpt發(fā)送給LLM獲得基于文檔內(nèi)容的回答
(4)大規(guī)模語(yǔ)言模型系列技術(shù):以GLM-130B為例
- 自編碼模型BERT:雙向注意力,文本理解
- 自回歸模型GPT:?jiǎn)蜗蜃⒁饬ΓL(zhǎng)文本生成
- 編碼器-解碼器模型T5:編解碼,對(duì)話任務(wù)
GLM本質(zhì)是類似一個(gè)自回歸填空的過(guò)程
(5)新建知識(shí)庫(kù)
新建知識(shí)庫(kù)的過(guò)程相當(dāng)于在本地新建一個(gè)路徑,因此不支持路徑當(dāng)中存在中文。但是知識(shí)庫(kù)的文件可以使用中文名稱。
1、上傳文件:將文件上傳到知識(shí)庫(kù)當(dāng)中,這個(gè)過(guò)程相當(dāng)于將文件加載成文本并進(jìn)行向量化的過(guò)程。
(6)效果優(yōu)化方向
1、模型微調(diào):對(duì)llm和embedding基于專業(yè)領(lǐng)域數(shù)據(jù)進(jìn)行微調(diào)。
2、文檔加工:在文本分段后,對(duì)每段分別進(jìn)行總結(jié),基于總結(jié)內(nèi)容語(yǔ)義進(jìn)行匹配。
3、借助不同的模型能力:在text2sql、text2cpyher場(chǎng)景下需要產(chǎn)生代碼時(shí),可借助不同模型能力。
2、ChatGLM2-6B本地安裝與部署
視頻教程:視頻教程:----->ChatGLM2-6B本地安裝與部署-視頻教程
注意 :chatglm2-6b相比于chatglm-6b在性能上提升了不少。在選擇本地部署的時(shí)候,我查看到自己顯卡只有512M,無(wú)法滿足部署需要的24G顯卡
的要求。(注:查看顯卡多大可以安裝一個(gè)lu大師),因此我選擇在某寶上租用了一個(gè)24G的GPU。
部署步驟如下:
1、根據(jù)視頻上面的,先下載懶人安裝包:懶人包一鍵部署
2、將chatglm.zip安裝包解壓縮之后放在ChatGLM2-6B文件夾下面
3、創(chuàng)建一個(gè)叫VisualGLM-6B的文件夾,在此文件夾里面再創(chuàng)建一個(gè)叫cache的文件夾
4、配置緩存文件
5、之后點(diǎn)擊一鍵啟動(dòng),啟動(dòng)項(xiàng)目
最終即可跳轉(zhuǎn)到UI界面:
注:如果要自己部署請(qǐng)確保pytorch是2.0.1
3、ChatGLM2-6B-32K本地安裝
2023年8月3號(hào)GLM技術(shù)團(tuán)隊(duì)發(fā)布了基于 ChatGLM2-6B 的新模型 ChatGLM-6B-32k ,目前 langchain-chatglm 項(xiàng)目中已經(jīng)可以使用,除此之外項(xiàng)目中還增加幾款 embedding 模型作為備選,text2vec-base-multilingual,text2vec-base-chinese-sentence 和 text2vec-base-chinese-paraphrase。
此外,項(xiàng)目將于近期發(fā)布 0.2.0 版本,采用 fastchat + langchain + fastapi + streamlit 的方式進(jìn)行了重構(gòu),預(yù)計(jì)最快本周上線。
模型下載地址:
chatglm2-6b-32k:https://huggingface.co/THUDM/chatglm2-6b-32k
text2vec-base-chinese-sentence:https://huggingface.co/shibing624/text2vec-base-chinese-sentence
text2vec-base-chinese-paraphrase:https://huggingface.co/shibing624/text2vec-base-chinese-paraphrase
text2vec-base-multilingual:https://huggingface.co/shibing624/text2vec-base-multilingual文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-619431.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-619431.html
到了這里,關(guān)于【ChatGLM_01】ChatGLM2-6B本地安裝與部署(大語(yǔ)言模型)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!