天天看點

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

作者:新智元

編輯:桃子 好困

【新智元導讀】清華ChatGLM2-6B模型又開始刷圈了!新版本在推理能力上提升了42%,最高支援32k上下文。

ChatGLM-6B自3月釋出以來,在AI社群爆火,GitHub上已斬獲29.8k星。

如今,第二代ChatGLM來了!

清華KEG和資料挖掘小組(THUDM)釋出了中英雙語對話模型ChatGLM2-6B。

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

項目位址:https://github.com/THUDM/ChatGLM2-6B

HuggingFace:https://huggingface.co/THUDM/chatglm2-6b

最新版本ChatGLM2-6B增加了許多特性:

- 基座模型更新,性能更強大

- 支援8K-32k的上下文

- 推理性能提升了42%

- 對學術研究完全開放,允許申請商用授權

值得一提的是,在中文C-Eval榜單中,ChatGLM2以71.1分位居榜首,碾壓GPT-4。而最新版本ChatGLM2-6B以51.7分位列第6。

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

ChatGLM2-6B更新亮點

ChatGLM-6B的第二代版本,在保留了初代模型對話流暢、部署門檻較低等衆多優秀特性的基礎之上,又增加許多新特性:

1. 更強大的性能

基于ChatGLM初代模型的開發經驗,全面更新了ChatGLM2-6B的基座模型。

ChatGLM2-6B使用了GLM的混合目标函數,經過了1.4T中英辨別符的預訓練與人類偏好對齊訓練.

評測結果顯示,與初代模型相比,ChatGLM2-6B在MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等資料集上的性能取得了大幅度的提升,在同尺寸開源模型中具有較強的競争力。

2. 更長的上下文

基于 FlashAttention 技術,研究人員将基座模型的上下文長度由 ChatGLM-6B 的2K擴充到了32K,并在對話階段使用8K的上下文長度訓練,允許更多輪次的對話。

但目前版本的ChatGLM2-6B對單輪超長文檔的了解能力有限,會在後續疊代更新中着重進行優化。

3. 更高效的推理

基于 Multi-Query Attention 技術,ChatGLM2-6B有更高效的推理速度和更低的顯存占用.

在官方的模型實作下,推理速度相比初代提升了42%,INT4量化下,6G顯存支援的對話長度由1K提升到了8K。

4. 更開放的協定

ChatGLM2-6B權重對學術研究完全開放,在獲得官方的書面許可後,亦允許商業使用。

效果

相比于初代模型,ChatGLM2-6B在多個次元的能力上,都取得了巨大的提升。

數理邏輯

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%
清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

知識推理

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%
清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

長文檔了解

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%
清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

評測結果

研究團隊選取了部分中英文典型資料集進行了評測,以下為ChatGLM2-6B模型在MMLU(英文)、C-Eval(中文)、GSM8K(數學)、BBH(英文) 上的測評結果。

MMLU

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

C-Eval

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

GSM8K

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

BBH

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

推理性能

ChatGLM2-6B使用 Multi-Query Attention,提高了生成速度。生成2000個字元的平均速度對比如下:

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

Multi-Query Attention同時也降低了生成過程中KV Cache的顯存占用。

此外,ChatGLM2-6B采用Causal Mask進行對話訓練,連續對話時可複用前面輪次的 KV Cache,進一步優化了顯存占用。

是以,使用6GB顯存的顯示卡進行INT4量化的推理時,初代的ChatGLM-6B模型最多能夠生成1119個字元就會提示顯存耗盡,而ChatGLM2-6B能夠生成至少8192個字元。

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

研究團隊也測試了量化對模型性能的影響。結果表明,量化對模型性能的影響在可接受範圍内。

清華第二代ChatGLM2開源!中文榜居首,超過GPT-4,推理提速42%

使用方法

環境安裝

首先需要下載下傳本倉庫:

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

cd ChatGLM2-6B           

然後使用pip安裝依賴:pip install -r requirements.txt,其中transformers庫版本推薦為4.30.2,torch推薦使用 2.0 以上的版本,以獲得最佳的推理性能。

代碼調用

可以通過如下代碼調用ChatGLM2-6B模型來生成對話:

>>> 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, "晚上睡不着應該怎麼辦", history=history)

>>> print(response)

晚上睡不着可能會讓你感到焦慮或不舒服,但以下是一些可以幫助你入睡的方法:




1. 制定規律的睡眠時間表:保持規律的睡眠時間表可以幫助你建立健康的睡眠習慣,使你更容易入睡。盡量在每天的相同時間上床,并在同一時間起床。

2. 創造一個舒适的睡眠環境:確定睡眠環境舒适,安靜,黑暗且溫度适宜。可以使用舒适的床上用品,并保持房間通風。

3. 放松身心:在睡前做些放松的活動,例如泡個熱水澡,聽些輕柔的音樂,閱讀一些有趣的書籍等,有助于緩解緊張和焦慮,使你更容易入睡。

4. 避免飲用含有咖啡因的飲料:咖啡因是一種刺激性物質,會影響你的睡眠品質。盡量避免在睡前飲用含有咖啡因的飲料,例如咖啡,茶和可樂。

5. 避免在床上做與睡眠無關的事情:在床上做些與睡眠無關的事情,例如看電影,玩遊戲或工作等,可能會幹擾你的睡眠。

6. 嘗試呼吸技巧:深呼吸是一種放松技巧,可以幫助你緩解緊張和焦慮,使你更容易入睡。試着慢慢吸氣,保持幾秒鐘,然後緩慢呼氣。




如果這些方法無法幫助你入睡,你可以考慮咨詢醫生或睡眠專家,尋求進一步的建議。
從本地加載模型
           

在從Hugging Face Hub下載下傳模型之前,需要先安裝Git LFS,然後運作:

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

如果checkpoint的下載下傳速度較慢,可以隻下載下傳模型實作:

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

然後,手動下載下傳模型參數檔案,并将檔案替換到本地的chatglm2-6b目錄下。

位址:https://cloud.tsinghua.edu.cn/d/674208019e314311ab5c/

模型下載下傳到本地之後,将以上代碼中的THUDM/chatglm2-6b替換為本地的chatglm2-6b檔案夾的路徑,即可從本地加載模型。

參考資料:

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

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