ChatGLM: 從GLM-130B到GLM-4的系列大型語言模型 原創(chuàng)
?摘要:我們介紹了ChatGLM,這是我們持續(xù)開發(fā)的大規(guī)模語言模型家族。本報告主要聚焦于GLM-4系列語言模型,包括GLM-4、GLM-4-Air 和 GLM-4-9B。它們是我們最強大的模型,集成了前三代ChatGLM的所有經(jīng)驗和教訓(xùn)。迄今為止,GLM-4模型在中文和英文的十萬億個標(biāo)注符號上進行了預(yù)訓(xùn)練,并輔以來自24種語言的小型語料庫,主要為中英文使用進行了對齊。高質(zhì)量的對齊通過多階段后訓(xùn)練過程實現(xiàn),包括監(jiān)督微調(diào)和從人類反饋中學(xué)習(xí)。評估表明,GLM-4在通用指標(biāo)上與GPT-4相媲美甚至超越,如MMLU、GSM8K、MATH、BBH、GPQA和HumanEval;在指令跟隨方面接近GPT-4-Turbo;在長上下文任務(wù)上匹敵GPT-4 Turbo (128K)和Claude 3;在中文對齊上優(yōu)于GPT-4,并在AlignBench中表現(xiàn)優(yōu)異。GLM-4 All Tools模型進一步對齊了用戶意圖,能夠自主決定何時使用及選擇何種工具(包括網(wǎng)頁瀏覽器、Python解釋器、文本到圖像模型和用戶定義的函數(shù))來完成復(fù)雜任務(wù)。在實際應(yīng)用中,它在訪問在線信息和使用Python解釋器解決數(shù)學(xué)問題等任務(wù)上表現(xiàn)優(yōu)異,甚至超過GPT-4 All Tools。我們還開源了一系列模型,包括ChatGLM-6B、GLM-4-9B、WebGLM和CodeGeeX,2023年在Huggingface上累計下載量超過1000萬次。
1 引言
ChatGPT的表現(xiàn)引人注目,其功能最初由GPT-3.5模型在2022年11月驅(qū)動,隨后在2023年3月升級為GPT-4。根據(jù)OpenAI的說法,GPT-3.5系列通過引入指令微調(diào)、監(jiān)督微調(diào)(SFT)和/或從人類反饋中進行的強化學(xué)習(xí)(RLHF)在GPT-3的基礎(chǔ)上有所改進。最初的GPT-3于2020年發(fā)布,標(biāo)志著從GPT-1的1.17億參數(shù)和GPT-2的15億參數(shù)躍升至1750億參數(shù)的重大進展。這種規(guī)模的擴展使得GPT-3具備了上下文學(xué)習(xí)和廣泛的能力,促成了大型語言模型(LLMs)的出現(xiàn)。
圖 1 標(biāo)題:GLM 家族的語言、代碼、視覺和智能體模型的時間線。本報告主要關(guān)注語言模型,即 ChatGLM。API 可通過 ??https://bigmodel.cn??? 獲取,開源模型可通過 ???https://github.com/THUDM??? 訪問。
受GPT-3的啟發(fā),我們提出了通用語言模型(GLM)架構(gòu),該架構(gòu)以自回歸填空任務(wù)為特點,并在2021年開源了GLM-10B模型(參見圖1中的GLM時間線)。自2021年底起,我們開始預(yù)訓(xùn)練GLM-130B。我們的目標(biāo)是訓(xùn)練一個百億級模型,以匹敵或超越GPT-3(davinci),并驗證在這種規(guī)模下成功訓(xùn)練模型的技術(shù),與其他工作如OPT-175B和BLOOM-176B類似。我們于7月完成了GLM-130B的4000億標(biāo)記的訓(xùn)練和評估,并于2022年8月發(fā)布了模型和預(yù)訓(xùn)練細節(jié)。根據(jù)HELM 2022年11月的數(shù)據(jù),GLM-130B在各個維度上與GPT-3(davinci)相匹敵。
此后,我們開始對GLM-130B進行指令微調(diào)。ChatGPT的出現(xiàn)進一步促使我們通過SFT和RLHF使基礎(chǔ)模型對齊。我們從頭開始創(chuàng)建并構(gòu)建了提示-響應(yīng)對,并執(zhí)行了SFT,同時還開始研究如何有效應(yīng)用RLHF。在2023年3月14日,經(jīng)過對齊的模型ChatGLM-130B上線,此外,較小版本的ChatGLM-6B也在同一天開源,獲得了遠超預(yù)期的關(guān)注。ChatGLM-6B設(shè)計為擁有62億參數(shù),旨在1)促進訓(xùn)練前后技術(shù)和數(shù)據(jù)選擇的快速迭代,2)通過INT4量化支持在消費級顯卡上進行本地部署。自此,我們迅速探索并改進了預(yù)訓(xùn)練和對齊技術(shù),導(dǎo)致了每三個月推出的第二代和第三代ChatGLM系列,這些系列完全從頭開始預(yù)訓(xùn)練。
ChatGLM-6B是在大約一萬億中文和英文語料庫上預(yù)訓(xùn)練的,具有2048個上下文長度(2K),并主要通過SFT進行增強。2023年6月發(fā)布的ChatGLM2-6B通過更多更好的數(shù)據(jù)進行預(yù)訓(xùn)練和對齊,帶來了比前代顯著的改進,包括在MMLU上提高了23%,在GSM8K上提高了571%,在BBH上提高了60%。通過采用FlashAttention技術(shù),其上下文長度擴展到了32K。此外,多查詢注意力機制的集成提高了推理速度42%。更進一步,我們的第二代代碼模型CodeGeeX2-6B通過在額外的6000億代碼標(biāo)記上進行預(yù)訓(xùn)練,展示了相較于初代CodeGeeX-13B顯著的Pass@1提升:Python提高了57%,C++提高了71%,Java提高了54%,JavaScript提高了83%,Go提高了56%,這些成績是通過HumanEval-X評估的。通過進一步實現(xiàn)更多樣化的訓(xùn)練數(shù)據(jù)集、更充分的訓(xùn)練步驟和更優(yōu)化的訓(xùn)練策略,ChatGLM3-6B在語義、數(shù)學(xué)、推理、代碼和知識等42項基準(zhǔn)測試中拔得頭籌。從這一代開始,ChatGLM還支持函數(shù)調(diào)用和代碼解釋器,以及復(fù)雜的智能體任務(wù)。在這些發(fā)展的過程中,我們還開發(fā)了1.5B、3B、12B、32B、66B和130B參數(shù)的模型,使我們能夠驗證觀察結(jié)果并建立我們自己的縮放規(guī)律。
總結(jié)所學(xué)經(jīng)驗和積累的知識后,我們啟動了GLM-4的訓(xùn)練。第一個階段的檢查點經(jīng)過了多階段的后期訓(xùn)練過程(如SFT、RLHF、安全性對齊),目前主要集中在中英文的語言使用。隨后,它發(fā)展為兩個不同的版本:GLM-4和GLM-4 All Tools,兩者均支持128K的上下文長度。自2024年1月16日起,GLM-4(0116)通過GLM-4 API上線,GLM-4 All Tools則可通過???https://chatglm.cn??以及支持自定義GLM智能體創(chuàng)建的移動應(yīng)用程序訪問。最新的模型包括在預(yù)訓(xùn)練和對齊方面進行升級的GLM-4(0520)和GLM-4-Air。GLM-4-Air在更低延遲和推理成本的情況下實現(xiàn)了與GLM-4(0116)相當(dāng)?shù)男阅?。GLM-4的評估在各種語言基準(zhǔn)上進行,評估了GLM-4在英文中的通用能力、在中英文中的指令跟隨能力,以及在中文中的對齊、長上下文和智能體能力。
首先,在最常用的英文學(xué)術(shù)基準(zhǔn)上——MMLU、GSM8K、MATH、BBH、GPQA和HumanEval,GLM-4(0520)的表現(xiàn)與GPT-4(0613)相當(dāng)。例如,它在MMLU上的得分為83.3,而GPT-4為86.4,Gemini 1.5 Pro為83.7。其次,根據(jù)IFEval的評估,GLM-4的指令跟隨能力在提示和指令層面都接近GPT-4-Turbo,無論是在英文還是中文。第三,在中文語言對齊方面,GLM-4在AlignBench的八個維度上表現(xiàn)優(yōu)于GPT-4,并與GPT-4-Turbo持平。最后,針對長上下文任務(wù),GLM-4(128K)在LongBench-Chat上的表現(xiàn)與GPT-4 Turbo和Claude 3 Opus相當(dāng),得分為87.3,而GPT-4 Turbo得分為87.2,Claude 3 Opus得分為87.7。
GLM-4 All Tools模型特別對齊以更好地理解用戶意圖,并自主選擇最適合完成任務(wù)的工具。例如,它可以通過網(wǎng)頁瀏覽器進行多輪次信息檢索,使用Python解釋器解決數(shù)學(xué)問題,利用文本到圖像模型生成圖像,并調(diào)用用戶定義的函數(shù)。圖2展示了GLM-4 All Tools使用網(wǎng)頁瀏覽器和Python解釋器解決“查詢2000年至2023年全球人口增長,并計算平均年增長率”的示例。我們的實際測試顯示,它不僅匹敵,而且在訪問在線信息和解決數(shù)學(xué)問題等常見任務(wù)中超過了GPT-4 All Tools的能力。
圖 2:GLM-4 All Tools 的一個示例。
繼三代開放的ChatGLM-6B模型之后,我們還開放了GLM-4-9B(128K和1M上下文長度)模型。GLM-4-9B基于大約10萬億多語言語料庫進行預(yù)訓(xùn)練,具有8192(8K)的上下文長度,并使用與GLM-4(0520)相同的流水線和數(shù)據(jù)進行后訓(xùn)練。盡管使用的訓(xùn)練計算量較少,它的表現(xiàn)超越了Llama-3-8B,并支持GLM-4中所有的All Tools功能。我們還提供了一個實驗?zāi)P虶LM-4-9B-Chat-1M,支持1百萬(1M)上下文長度(相當(dāng)于大約200萬個中文字符)。表1展示了三代ChatGLM-6B模型和GLM-4-9B的表現(xiàn),展示了ChatGLM隨著時間的推移逐步改進的過程。
圖3總結(jié)了從GLM-130B到ChatGLM、ChatGLM2/3再到GLM-4 All Tools的主要改進和特點。在這一過程中,我們還為代碼LLM(CodeGeeX)以及圖像理解的視覺語言模型(CogVLM)和文本到圖像生成模型(CogView)的開放開發(fā)做出了貢獻。這些開源的模型和數(shù)據(jù)可以通過???https://github.com/THUDM???和???https://huggingface.co/THUDM???進行訪問。
2 ChatGLM 技術(shù)
在本節(jié)中,我們介紹了ChatGLM中采用和開發(fā)的預(yù)訓(xùn)練和后訓(xùn)練技術(shù),包括模型架構(gòu)、預(yù)訓(xùn)練數(shù)據(jù)、對齊過程和All Tools功能。對于我們使用的每一個主要技術(shù),我們都提供了詳細的技術(shù)報告,以展示我們?nèi)绾芜_到GLM-4的水平。
預(yù)訓(xùn)練數(shù)據(jù)
我們的預(yù)訓(xùn)練語料庫由多語言文檔組成(主要是中文和英文),這些文檔來自多種來源,包括網(wǎng)頁、維基百科、書籍、代碼和論文。數(shù)據(jù)處理流程主要包括三個階段:去重、過濾和分詞。去重階段通過移除重復(fù)或相似的文檔來提高數(shù)據(jù)多樣性,包括精確去重和模糊去重。過濾階段通過移除包含冒犯性語言、占位符文本、源代碼等噪聲文檔來提高數(shù)據(jù)質(zhì)量。分詞階段將文本轉(zhuǎn)換為一系列標(biāo)記以供進一步處理。預(yù)訓(xùn)練數(shù)據(jù)中的標(biāo)記數(shù)量直接影響模型的訓(xùn)練速度。為了優(yōu)化這一點,我們采用了字節(jié)級字節(jié)對編碼(BPE)算法來分別學(xué)習(xí)中文和多語言的標(biāo)記,并將其與tiktoken中的cl100k_base分詞器的標(biāo)記合并,生成一個大小為150,000的統(tǒng)一詞匯表。在最終的訓(xùn)練集里,我們重新加權(quán)不同來源的數(shù)據(jù),增加像書籍和維基百科等高質(zhì)量和教育資源的比例。最終,預(yù)訓(xùn)練語料庫大約包含10萬億個標(biāo)記。
在ChatGLM發(fā)展的四代過程中,我們的發(fā)現(xiàn)與現(xiàn)有研究一致:數(shù)據(jù)的質(zhì)量和多樣性對于構(gòu)建有效的大型語言模型至關(guān)重要。盡管我們獲得了許多經(jīng)驗教訓(xùn),但至今我們?nèi)晕凑业街笇?dǎo)數(shù)據(jù)收集、清理和選擇過程的基本原則。
架構(gòu)
GLM家族的語言模型基于Transformer架構(gòu)。在GLM-130B中,我們探索了各種選項來穩(wěn)定其預(yù)訓(xùn)練,考慮到當(dāng)時的硬件限制。具體來說,GLM-130B采用了DeepNorm作為層歸一化策略,并使用了旋轉(zhuǎn)位置編碼(RoPE)以及帶有GeLU激活函數(shù)的門控線性單元(GLU)。在我們的探索過程中,我們研究了各種提高模型性能和推理效率的策略。最近的GLM-4模型采用了以下架構(gòu)設(shè)計選擇:
- 除QKV外沒有偏差:為了提高訓(xùn)練速度,我們移除了除注意力層中的查詢、鍵和值(QKV)之外的所有偏差項。在這樣做時,我們觀察到在長度外推方面有輕微的改進。
- RMSNorm和SwiGLU:我們采用了RMSNorm替代LayerNorm,并用SwiGLU替代ReLU。這兩種策略均被觀察到能提高模型性能。
- 旋轉(zhuǎn)位置嵌入(RoPE):我們將RoPE擴展為二維形式,以適應(yīng)GLM中的二維位置編碼。
- 組查詢注意力(GQA):我們用組查詢注意力(GQA)替代多頭注意力(MHA),以減少推理期間KV緩存的大小。由于GQA使用的參數(shù)比MHA少,因此我們增加了前饋網(wǎng)絡(luò)(FFN)的參數(shù)數(shù)量,以保持相同的模型規(guī)模,即將FFN的維度設(shè)置為隱藏層維度的10/3。
我們的模型上下文長度從ChatGLM的2K擴展到ChatGLM2和ChatGLM3的32K,再到GLM-4的128K和1M。這個擴展不僅通過上下文擴展(位置編碼擴展和長文本的連續(xù)訓(xùn)練)來實現(xiàn),還通過長上下文對齊,使GLM-4能夠有效處理長上下文。
對齊
預(yù)訓(xùn)練為大型語言模型奠定了基礎(chǔ),而后訓(xùn)練則進一步優(yōu)化這些模型,使它們更符合人類偏好,例如理解人類意圖、遵循指令和進行多輪對話。對于GLM-4,對齊主要通過監(jiān)督微調(diào)(SFT)和從人類反饋中進行的強化學(xué)習(xí)(RLHF)來實現(xiàn)。在SFT中,我們發(fā)現(xiàn)真實的人類提示和交互(而非基于模板或模型生成的響應(yīng))對于對齊質(zhì)量至關(guān)重要。盡管SFT在很大程度上使基礎(chǔ)模型符合人類偏好,RLHF則有助于進一步緩解諸如響應(yīng)拒絕、安全性問題、生成的雙語標(biāo)記混合以及多輪連貫性等問題。
對于第一代模型(ChatGLM-6B和ChatGLM-130B),提示-響應(yīng)對主要由模型開發(fā)人員進行標(biāo)注。對于后續(xù)的模型,對齊數(shù)據(jù)是由內(nèi)部標(biāo)注數(shù)據(jù)和從第三方獲取的專有數(shù)據(jù)組合而成,并接受了相對嚴(yán)格的質(zhì)量控制措施。與現(xiàn)有的做法類似,標(biāo)注員被指示從多個維度對模型的響應(yīng)進行評分,包括安全性、真實性、相關(guān)性、幫助性和人類偏好。
ChatGLM技術(shù)
在ChatGLM的發(fā)展過程中,我們引入并將發(fā)布一些用于提高其性能的技術(shù)。
- 大型語言模型的涌現(xiàn)能力:我們研究了預(yù)訓(xùn)練損失與下游任務(wù)性能之間的關(guān)系,發(fā)現(xiàn)即使在相同的預(yù)訓(xùn)練損失下,不同規(guī)模的語言模型和訓(xùn)練標(biāo)記在下游任務(wù)上表現(xiàn)相同。我們還發(fā)現(xiàn),在某些任務(wù)上(如MMLU和GSM8K),只有當(dāng)預(yù)訓(xùn)練損失低于某個閾值時,模型的表現(xiàn)才會超越隨機水平。因此,我們重新定義了涌現(xiàn)能力,即那些在預(yù)訓(xùn)練損失較低的模型中展現(xiàn)出來的能力。
- 長對齊(LongAlign):為了擴展語言模型的上下文窗口大小,我們提出了長對齊(LongAlign)——一個全面的長上下文對齊方案。它使得GLM-4能夠處理長達128K標(biāo)記的長上下文文本,其性能與Claude 2和GPT-4 Turbo相當(dāng)。
- ChatGLM-Math:為了提高語言模型在解決數(shù)學(xué)問題上的能力,我們引入了ChatGLM-Math,它通過自我批評而非外部模型或手動標(biāo)注進行數(shù)據(jù)選擇。
- ChatGLM-RLHF:為了將語言模型與人類反饋對齊,我們引入了ChatGLM-RLHF,這是我們在LLM中應(yīng)用PPO和DPO的實踐。
- 自對比(Self-Contrast):為了避免昂貴的人類偏好反饋數(shù)據(jù),我們開發(fā)了一種無反饋對齊策略——自對比(Self-Contrast)。它利用目標(biāo)語言模型自身生成大量負樣本,以進行RLHF對齊。
- AgentTuning:為了提高語言模型的智能體能力,我們開發(fā)了AgentTuning框架,并引入了AgentInstruct指令微調(diào)數(shù)據(jù)集,該數(shù)據(jù)集包含高質(zhì)量的智能體與環(huán)境的交互軌跡。
- APAR:為了提高語言模型在具有層次結(jié)構(gòu)的響應(yīng)中的推理速度,我們提出了一種自動并行自回歸(APAR)生成方法。它通過指令微調(diào)訓(xùn)練語言模型來規(guī)劃其(并行)生成過程,并執(zhí)行APAR生成。
- 基準(zhǔn)測試:我們還開發(fā)了多個開放的語言模型基準(zhǔn),包括用于評估語言模型作為智能體能力的AgentBench,用于評估語言模型長上下文處理能力的LongBench,用于衡量ChatGLM中文對齊質(zhì)量的AlignBench,HumanEval-X用于評估Python以外編程語言中的HumanEval問題,以及用于評估模型解決實際編程任務(wù)能力的NaturalCodeBench (NCB)。
GLM-4 All Tools
最新的ChatGLM模型是GLM-4和GLM-4 All Tools,二者均通過上述技術(shù)進行訓(xùn)練和對齊。GLM-4 All Tools是進一步對齊以支持智能代理和相關(guān)任務(wù)的模型版本。它能夠自主理解用戶意圖,規(guī)劃復(fù)雜指令,并調(diào)用一種或多種工具(如網(wǎng)頁瀏覽器、Python解釋器和文本到圖像模型)來完成復(fù)雜任務(wù)。圖4展示了GLM-4 All Tools系統(tǒng)的整體流程。當(dāng)用戶發(fā)出復(fù)雜請求時,模型會逐步分析任務(wù)并規(guī)劃解決步驟。如果它判斷無法獨立完成任務(wù),它將依次調(diào)用一個或多個外部工具,利用這些工具的中間反饋和結(jié)果來幫助解決任務(wù)。
基于GLM-4的所有工具功能,我們還開發(fā)了GLM應(yīng)用平臺,允許用戶為特定任務(wù)創(chuàng)建和定制自己的智能體。GLM不僅支持嵌入式Python解釋器、網(wǎng)頁瀏覽器、文本到圖像模型,還支持用戶定義的函數(shù)、API和外部知識庫,以更有效地滿足用戶需求。
3 GLM-4 的能力
我們從多個角度評估了GLM-4模型的能力,包括其在學(xué)術(shù)基準(zhǔn)測試中的基本能力、代碼問題解決能力、智能體在英語環(huán)境中的能力、指令跟隨、中文和英文中的長上下文處理能力以及中文對齊能力。如前所述,GLM-4主要在中文和英文上進行預(yù)訓(xùn)練,并且對中文進行了重點對齊。在本節(jié)中,我們主要報告最新版本GLM-4,即GLM-4 (0520) 和 GLM-4-Air (0605) 的結(jié)果,因為GLM-4 (0520) 在評估的基準(zhǔn)測試中表現(xiàn)略優(yōu)于最初的0116版本。評估期間,GLM-4 和 GLM-4-Air 均以BFloat16精度進行部署。
作為基準(zhǔn),我們呈現(xiàn)了GPT-4(0603)、GPT-4 Turbo(1106,2024-04-09)、Claude 2、Claude 3 Opus和Gemini 1.5 Pro的結(jié)果,這些結(jié)果均來自相應(yīng)的技術(shù)報告或通過其公開API測試得出。
總體而言,GLM-4 在標(biāo)準(zhǔn)基準(zhǔn)測試、指令跟隨、長上下文、代碼問題解決及智能體能力方面與當(dāng)前最先進的模型(GPT-4 Turbo、Gemini 1.5 Pro 和 Claude 3 Opus)接近。在中文對齊方面,它在多個領(lǐng)域表現(xiàn)強勁,如基礎(chǔ)語言能力、中文高級理解、專業(yè)知識和開放性問題??傊?,GLM-4 是中文語言任務(wù)中的佼佼者。它在中文數(shù)學(xué)和邏輯推理能力上與GPT-4和Claude 3 Opus相當(dāng),盡管在這方面稍稍落后于GPT-4 Turbo。
3.1 學(xué)術(shù)基準(zhǔn)測試評估
為了評估基本模型的總體性能,我們選擇了六個常用的基準(zhǔn),涵蓋了知識、數(shù)學(xué)、推理、常識和代碼:
- MMLU:多項選擇題集,收集自各種考試,包括數(shù)學(xué)、歷史、計算機科學(xué)等。我們向模型提供所有答案并要求其選擇正確答案的字母。
- GSM8K:包含8,500道小學(xué)數(shù)學(xué)文字題(測試集中有1,000道),需要模型使用數(shù)學(xué)概念解決實際情境問題。我們使用鏈?zhǔn)剿季S(chain-of-thought)提示進行測試。
- MATH:包含12,500道具有挑戰(zhàn)性的競賽級數(shù)學(xué)問題(測試集中有5,000道)。我們使用鏈?zhǔn)剿季S提示進行測試。
- BBH:23項具有挑戰(zhàn)性的BIG-Bench任務(wù)。我們使用鏈?zhǔn)剿季S提示進行測試。
- GPQA:一項涵蓋生物、化學(xué)和物理學(xué)的研究生級別多項選擇題基準(zhǔn)測試。
- HumanEval:一個代碼生成基準(zhǔn),評估生成的合成函數(shù)的正確性,使用自動測試用例檢查。
我們將GLM-4的表現(xiàn)與原始GPT-4進行比較,結(jié)果如表2所示。可以看到,GLM-4在MMLU上達到了GPT-4準(zhǔn)確率的96.3%,并且在其他基準(zhǔn)測試中表現(xiàn)優(yōu)于GPT-4。總體而言,GLM-4的基本能力接近GPT-4 Turbo和Claude 3 Opus。
3.2 指令跟隨能力評估
我們使用最近引入的IFEval數(shù)據(jù)集評估了GLM-4在跟隨指令方面的能力。該數(shù)據(jù)集包含從25個不同指令中提取的541個提示,通過明確的標(biāo)準(zhǔn)進行驗證(例如,“請在郵件末尾寫上:P.S. 我確實喜歡這個蛋糕”可以通過字符串匹配來驗證)。我們遵循[61]中的方法,計算提示級別和指令級別的準(zhǔn)確率,分別在嚴(yán)格模式和寬松模式下進行評估。為了進一步評估模型在跟隨中文指令上的表現(xiàn),我們將原始提示翻譯成中文,刪除不適用于中文的指令(例如大寫規(guī)則),并調(diào)整評分腳本以適應(yīng)中文數(shù)據(jù)。
表3展示了GLM-4在IFEval上的表現(xiàn)。在寬松模式下,GLM-4的指令級別準(zhǔn)確率與GPT-4 Turbo在英文和中文中的表現(xiàn)相當(dāng)。在嚴(yán)格模式下,GLM-4在英文和中文中的指令級別準(zhǔn)確率分別達到了GPT-4 Turbo(2024-04-09)的99.0%和98.6%。
3.3 對齊能力評估
AlignBench通過一種自動的“語言模型即裁判”方法來評估大型語言模型在中文背景下的對齊能力。該基準(zhǔn)包含683個問題,涵蓋8個不同類別,并通過基于GPT-4的多維規(guī)則校準(zhǔn)的逐點參考打分方法對模型的響應(yīng)進行評判。我們在AlignBench-v1.1版本上進行評估,該版本更加細致地改進了參考生成的質(zhì)量,特別是在需要知識的問題上補充了從網(wǎng)頁中收集到的帶有URL的人類證據(jù),這類問題占總查詢的66.5%。在這個版本上,幾乎所有的語言模型得分都比之前的AlignBench有所下降。
表4展示了GLM-4在AlignBench上的表現(xiàn)。GLM-4在整體得分上超過了GPT-4 Turbo、Claude 3 Opus和Gemini 1.5 Pro,尤其在中文邏輯推理和語言理解方面表現(xiàn)優(yōu)異,顯著優(yōu)于其他強大的模型。這些結(jié)果表明其對中文語言和知識的掌握能力很強。
目前,GLM-4與GPT-4 Turbo(2024-04-09)之間的性能差距主要體現(xiàn)在數(shù)學(xué)維度上。我們已經(jīng)引入了ChatGLM-Math中的技術(shù)(如自我批評)來持續(xù)增強GLM模型的推理能力。
3.4 長上下文處理能力評估
為了評估GLM-4在長文本任務(wù)上的表現(xiàn),我們在LongBench-Chat上進行了評估。LongBench-Chat的上下文長度范圍從10K到100K,涵蓋了用戶常用的多種長文本場景,如文檔問答、摘要生成和代碼生成。為了更詳細地比較GLM-4在不同語言中的表現(xiàn),我們將LongBench-Chat按語言劃分為中文和英文兩部分。表5分別展示了兩種語言的結(jié)果,從中可以清楚地看到,GLM-4在英文提示上的表現(xiàn)與GPT-4 Turbo和Claude 3 Opus一致,而在中文提示上的表現(xiàn)甚至超過了最好的模型。
3.5 實際用戶提示下的代碼生成能力評估
雖然HumanEval已被廣泛用于評估代碼生成,但其中大部分問題都屬于入門級算法問題。然而,在實際中,真實用戶提出的問題往往更為復(fù)雜,超出了HumanEval的范疇。此外,之前的研究報告指出在訓(xùn)練數(shù)據(jù)中存在HumanEval污染的問題,使得HumanEval的評估結(jié)果相對不再可信。因此,除了HumanEval,我們還在NaturalCodeBench(NCB)上對GLM-4進行了評估,NCB是一個源于實際用戶提示的雙語代碼基準(zhǔn),反映了真實世界中的復(fù)雜代碼任務(wù)。表6展示了結(jié)果,GLM-4在實際場景中的代碼生成能力與Claude 3 Opus接近。
3.6 函數(shù)調(diào)用能力評估
為了評估GLM模型在函數(shù)調(diào)用方面的能力,我們在Berkeley函數(shù)調(diào)用排行榜上進行了評估。該基準(zhǔn)包含2,000個問題-函數(shù)-答案對,評估模型在三個類別上的函數(shù)調(diào)用能力:通過抽象語法樹(AST)評估、通過API執(zhí)行評估和相關(guān)性檢測。結(jié)果如表7所示。GLM-4 (0520) 在函數(shù)調(diào)用能力上與GPT-4 Turbo (2024-04-09) 表現(xiàn)一致。
3.7 智能體能力評估
大型語言模型(LLMs)作為智能體在多種環(huán)境和情境中表現(xiàn)出色,稱為“LLMs-as-Agents”。因此,我們在AgentBench上評估了GLM-4及其他對比模型在不同的實際環(huán)境中的表現(xiàn),包括代碼、游戲和網(wǎng)頁相關(guān)的任務(wù)。結(jié)果如表8所示,GLM-4系列模型在智能體任務(wù)上的表現(xiàn)令人印象深刻。
3.8 全工具能力評估
GLM-4進一步對齊以支持智能代理和用戶自定義GLMs功能,生成的模型版本為GLM-4 All Tools。表9顯示了GLM-4 All Tools在使用Python解釋器解決數(shù)學(xué)問題和網(wǎng)頁瀏覽器獲取信息方面的表現(xiàn),與GPT-4 All Tools表現(xiàn)相當(dāng)。
4 安全性與風(fēng)險
我們致力于確保GLM-4能夠作為一個安全、負責(zé)任且無偏見的模型運行。除了應(yīng)對常見的倫理和公平問題,我們還仔細評估并減輕模型在現(xiàn)實世界場景中可能對用戶造成的潛在傷害。
風(fēng)險緩解
在預(yù)訓(xùn)練階段,我們通過移除包含敏感關(guān)鍵詞和預(yù)定義黑名單網(wǎng)頁的文本,嚴(yán)格清理數(shù)據(jù)。在對齊階段,我們對每一個訓(xùn)練樣本進行安全性評估,并移除任何可能帶來潛在風(fēng)險的樣本。無害性也是在比較多個模型輸出時進行偏好對齊的重要標(biāo)準(zhǔn)之一。
我們有一個“紅隊”,其任務(wù)是不斷挑戰(zhàn)模型,提出一些棘手的問題,這些問題往往會引發(fā)不安全的回答。我們收集所有來自GLM-4的有害問題-回答對,并通過人工標(biāo)注進行改進,以便進一步對模型進行對齊。
安全性評估
我們使用SafetyBench數(shù)據(jù)集對GLM-4模型進行了評估,該數(shù)據(jù)集從7個維度評估了每個模型的能力:倫理與道德(不道德行為)、非法活動(基本法律知識)、心理健康(對心理健康的負面影響)、冒犯性(冒犯行為)、身體健康(可能導(dǎo)致身體傷害的危險行為)、隱私與財產(chǎn)(隱私泄露或財產(chǎn)損失)、不公平與偏見。我們在SafetyBench的中文子集中對不同模型進行評估,該子集通過刪除高度敏感的問題(這些問題容易被阻斷)來緩解不同API安全策略的干擾。
表10展示了GLM-4與現(xiàn)有最先進模型的安全性表現(xiàn)。在大多數(shù)維度上,GLM-4 (0520) 表現(xiàn)出有競爭力的安全性,并且整體上達到了與Claude 3 Opus相當(dāng)?shù)谋憩F(xiàn)。GLM-4略微落后于GPT-4家族的模型,特別是在“身體健康”維度上,該維度要求模型具備關(guān)于物理世界的常識,以避免潛在風(fēng)險。我們已在這一方向上投入了更多的精力,以開發(fā)更強大且更安全的GLM模型。
5 結(jié)論
在本報告中,我們介紹了從GLM-130B到GLM-4(全工具版)的ChatGLM系列大型語言模型。在過去一年半的時間里,我們在理解大型語言模型的各個方面取得了巨大進展,并獲得了寶貴的第一手經(jīng)驗。隨著每一代模型的開發(fā),團隊在模型預(yù)訓(xùn)練和對齊方面學(xué)習(xí)并應(yīng)用了更加有效和高效的策略。最近的ChatGLM模型——GLM-4 (0116, 0520)、GLM-4-Air (0605) 和 GLM-4 全工具版——展示了在執(zhí)行復(fù)雜任務(wù)時顯著的進步,它們能夠自主調(diào)用外部工具和功能。這些GLM-4模型在性能上達到了甚至在某些情況下超越了最先進的模型,如GPT-4 Turbo、Claude 3 Opus 和 Gemini 1.5 Pro,尤其是在處理與中文相關(guān)的任務(wù)時表現(xiàn)突出。
此外,我們致力于通過開源發(fā)布模型權(quán)重和在此過程中開發(fā)的技術(shù),推動大型語言模型的可訪問性和安全性。在2023年,我們開源的語言、代碼和視覺模型在Hugging Face上的下載量已超過1000萬次。目前,我們正在基于現(xiàn)有的經(jīng)驗教訓(xùn)開發(fā)更強大的模型。未來,我們將繼續(xù)通過開源推動最前沿的大型語言模型技術(shù)的發(fā)展,并致力于實現(xiàn)讓機器像人類一樣思考的目標(biāo)。
?
本文轉(zhuǎn)載自公眾號AIRoobt ,作者:AIRoobt
原文鏈接:??https://mp.weixin.qq.com/s/p-IDsEWdBPfW99w_4S4b8Q???
