性能翻倍的Gemma 2, 讓同量級的Llama3怎麼玩?
AI賽道上,科技巨頭們激烈角逐。前腳有GPT-4o問世,後腳就出現了Claude 3.5 Sonnet。在如此激烈的爭鬥中,雖然谷歌發力較晚,但在短時間內就能有顯著的能力跟進,可見其技術發展與創新的潛力。 除了Gemini模型外,Gemma這一系列輕量級的SOTA開放模型似乎與我們距離更近。它基於與Gemini模型相同的研究和技術構建,旨在讓每個人都擁有構建AI的工具。谷歌持續擴展Gemma家族,包括CodeGemma、RecurrentGemma和PaliGemma——每個模型都為不同的AI任務提供獨特的能力,並且可以透過與Hugging Face、NVIDIA和Ollama等合作夥伴輕鬆存取。
現在,Gemma家族迎來新成員-Gemma 2,延續短小精悍傳統。 Gemma 2此次提供的90億(9B)和270億(27B)參數的兩個版本,其推理性能和效率均優於第一代,並具有顯著的安全性改進。事實上,270億參數版本可以與體積超過其兩倍的模型進行同等級別的競爭,並且提供了此前只有專有模型才能實現的性能,而這種性能現在可以在單個NVIDIA H100 Tensor Core GPU或TPU主機上實現,從而大大降低了部署成本。
谷歌團隊在重新設計的架構上構建了Gemma 2,使得這位Gemma家族的新成員既能提供卓越的性能,又具有高效的推理能力。簡要概括一下,性能、成本、推理是它的突出特點:
- 性能卓越:Gemma 2 27B模型在其同體積類別中提供了最佳性能,甚至可以與體積超過其兩倍的模型競爭。 9B Gemma 2模型在其同等體積類別中也表現出色,並超越了Llama 3 8B和其他同類開放模型。
- 高效率、低成本:27B Gemma 2模型設計用於在單一Google Cloud TPU主機、NVIDIA A100 80GB Tensor Core GPU或NVIDIA H100 Tensor Core GPU上以全精度高效運行推理,在保持高性能的同時大幅降低成本。這使得AI部署更加便利和經濟實惠。
- 超高速推理:Gemma 2經過最佳化,能夠在各種硬體上以驚人的速度運行,無論是強大的遊戲筆記本、高階桌上型電腦,還是基於雲端的設定。使用者可以在Google AI Studio上嘗試全精度運行Gemma 2,也可以在CPU上使用Gemma.cpp的量化版本解鎖本地性能,或者透過Hugging Face Transformers在家用電腦上使用NVIDIA RTX或GeForce RTX進行嘗試。
以上是 Gemma2 與 Llama3、Grok-1 的得分數據對比。
其實從各項得分資料來看,此次開源的 9B 大模型優勢並不是特別明顯。近1個月前智譜AI 開源的國產大模式 GLM-4-9B 更具優勢。
此外,Gemma 2不僅更強大,還設計得更易於整合到工作流程中。谷歌為開發者提供了更多的可能性,讓他們更輕鬆地建置和部署AI解決方案。
- 開放且易於存取:與原始Gemma模型一樣,Gemma 2允許開發者和研究人員分享和商業化創新成果。
- 廣泛的框架相容性:Gemma 2相容於主要的AI框架,如Hugging Face Transformers,以及透過Keras 3.0、vLLM、Gemma.cpp、Llama.cpp和Ollama原生支援的JAX、PyTorch和Tensor,使其能夠輕鬆與使用者偏好的工具和工作流程結合。此外,Gemma已通過NVIDIA TensorRT-LLM優化,可以在NVIDIA加速的基礎設施上運行,或作為NVIDIA NIM推理微服務運行,未來還將優化NVIDIA的NeMo,並且可以使用Keras和Hugging Face進行微調。除此之外,谷歌正在積極升級微調能力。
- 輕鬆部署:從下個月開始,Google Cloud客戶將能夠在Vertex AI上輕鬆部署和管理Gemma 2。
谷歌還提供了由一系列實用範例和指南構成的新Gemma Cookbook,旨在幫助建立用戶自己的應用程式並針對特定任務微調Gemma 2模型。 Gemma Cookbook連結:https://github.com/google-gemini/gemma-cookbook與此同時,谷歌前段時間也向開發者提供了谷歌前段時間在I/O上官Gemini 1.5 Pro的200萬上下文視窗存取權限、Gemini API的程式碼執行功能,並在Google AI Studio中新增了Gemma 2。
- 在最新的部落格中,Google宣布向所有開發者開放了Gemini 1.5 Pro的200萬token上下文視窗存取權限。但是,隨著上下文視窗的增加,輸入成本也可能增加。為了幫助開發者減少使用相同token的多prompt任務成本,Google貼心地在Gemini API中為Gemini 1.5 Pro和1.5 Flash推出了上下文快取功能。
- 為解決大型語言模型在處理數學或資料推理時需要產生和執行程式碼來提高準確性,Google在Gemini 1.5 Pro和1.5 Flash中啟用了程式碼執行功能。開啟後,模型可以動態產生並運行Python程式碼,並從結果中迭代學習,直到達到所需的最終輸出。執行沙盒不連接互聯網,並標配一些數值庫,開發者只需根據模型的輸出token進行計費。這是Google在模型功能中首次引入程式碼執行的步驟,今天即可透過Gemini API和Google AI Studio中的「進階設定」使用。
- 谷歌希望讓所有開發者都能接觸到AI,無論是透過API金鑰整合Gemini模型,或是使用開放模型Gemma 2。為了幫助開發者動手操作Gemma 2模型,Google團隊將在Google AI Studio中提供其用於實驗。
以下是Gemma2的技術實驗報告,我們可以從多個角度深度解析了技術細節。
-
論文網址:https://storage.googleapis.com/deepmind-media/gemma/gemma-2-report.pdfblog
- technology/developers/google-gemma-2/
與之前的Gemma表 1 總結了模型的主要參數和架構選擇。 部分結構要素與第一版 Gemma 模型相似,即上下文長度為 8192 個 token、使用旋轉位置嵌入(RoPE)和近似 GeGLU 非線性。 Gemma 1 和 Gemma 2 有一些不同之處,包括使用了更深的網路。主要差異摘要如下:
- 局部滑動視窗和全局注意力。研究團隊在每隔一層交替使用局部滑動視窗注意力和全局注意力。局部注意力層的滑動視窗大小設定為4096個token,而全域注意力層的跨距設定為8192個token。
- Logit軟封頂。根據Gemini 1.5的方法,研究團隊在每個注意力層和最終層限制logit,使得logit的值保持在−soft_cap和+soft_cap之間。
- 對於9B和27B模型,研究團隊將注意力對數封頂設定為50.0,最終對數封頂設定為30.0。截至本文發表時,注意力logit軟封頂與常見的FlashAttention實作不相容,因此他們已從使用FlashAttention的庫中移除了此功能。研究團隊對模型生成進行了有無注意力logit軟封頂的消融實驗,發現在大多數預訓練和後期評估中,生成品質幾乎不受影響。本文中的所有評估均使用包含注意力logit軟封頂的完整模型架構。然而,某些下游性能可能仍會受到此移除的輕微影響。
- 使用RMSNorm進行post-norm 和pre-norm。為了穩定訓練,研究團隊使用RMSNorm對每個變換子層、注意力層和前饋層的輸入和輸出進行歸一化。
- 分組查詢注意力。 27B和9B模型均使用GQA,num_groups = 2,基於消融實驗顯示在保持下游性能的同時提高了推理速度。
谷歌提供了預訓練部分不同於Gemma 1的簡要概述。 他們在主要為英文數據的13萬億token上對Gemma 2 27B進行了訓練,並對9B模型進行了8萬億token的訓練,對2.6B模型則進行了2萬億token的訓練。這些token來自各種資料來源,包括網頁文件、程式碼和科學文章。模型並不是多模態的,也沒有專門為最先進的多語言能力進行訓練。最終的數據混合是透過類似於Gemini 1.0的消融研究所確定。 研究團隊使用TPUv4、TPUv5e和TPUv5p進行模型訓練,細節如下方表3所示。 在後訓練中,Google將預訓練模型微調為指令調整模型。
- 首先,在混合的純文本、純英文合成和人工生成的prompt-響應對上應用監督微調(SFT)。
- 然後,在這些模型上應用基於獎勵模型(RLHF)的強化學習,獎勵模型訓練基於token的純英文偏好數據,策略則與SFT階段使用相同的prompt。
- 最後,透過平均每個階段獲得的模型以提高整體性能。最終的資料混合和訓練後方法,包括調優的超參數,都是基於在提高模型有用性的同時最小化與安全性和幻覺相關的模型危害來選擇的。
Gemma 2模型的微調採用了與Gemma 1模型不同的格式模式。谷歌使用了相同的控制token,具體如表4所述,表5中則提供了對話範例。 在表煉中可以發現,與從頭開始相比,從更大的模型中提煉出來了表現。需要注意的是,500B個token是2.6B模型最佳計算token數的10倍。研究團隊從7B模型進行蒸餾,以保持與從27B模型蒸餾到9B模型相似的比例。 在表7中,Google團隊測量了隨著模型規模增加進行蒸餾的影響。可以觀察到,隨著模型規模的擴大,這種增益仍然存在。在此消融實驗中,研究團隊保持教師模型的規模為7B,並訓練較小的模型以模擬最終教師和學生模型規模之間的差距。 此外,Google考慮到prompt/評估格式變化的影響,測量了在MMLU上的性能方差,如表11所示。 Gemma 2B模型在格式穩健性方面略遜於較大的模型。值得注意的是,Mistral 7B在穩健性方面顯著低於Gemma系列模型。 研究團隊也評估了在13萬億token上訓練的27B模型(未經過蒸餾)的性能,並與類似規模的Qwen1.5 34B模型以及規模大2.5倍的LLaMA-3 70B模型在HuggingFace評估套件上的表現進行了比較,在表12中列出了評估結果。模型的選擇依據是基於其在HuggingFace排行榜上的排名。整體來看,Gemma-2 27B模型在其規模類別中表現最佳,甚至可以與訓練時間較長的大模型進行同級競爭。 Gemma-2 27B和9B指令微調模型在Chatbot Arena中進行了盲測評估,由人類評估員與其他SOTA模型進行比較。研究團隊在圖1中報告了ELO評分。 除此之外,研究團隊透過讓人類評估員與模型進行對話,並遵循指定的場景進行測試,評估了Gemma 1.1 7B、Gemma 2 9B和27B模型的多輪對話能力。 谷歌使用了一個包含 500 個場景的多樣化保留集合,每個場景描述了對模型的一系列請求,包括頭腦風暴、制定計劃或學習新知識。用戶平均互動次數為8.4次。最終發現,與Gemma 1.1相比,使用者對Gemma 2模型的對話滿意度和對話目標實現率的評價顯著較高(見表15)。此外,Gemma 2模型在從對話開始到後續輪次中,相比於Gemma 1.1 7B能夠更好地保持高品質的回應。 以上是Google「誠意之作」,開源9B、27B版Gemma2,主打高效、經濟!的詳細內容。更多資訊請關注PHP中文網其他相關文章!