開源大模型王座易主!谷歌Gemma殺入場(chǎng),筆記本可跑,可商用
剛剛,谷歌殺入開源大模型。
開源領(lǐng)域大模型,迎來(lái)了重磅新玩家。
谷歌推出了全新的開源模型系列「Gemma」。相比 Gemini,Gemma 更加輕量,同時(shí)保持免費(fèi)可用,模型權(quán)重也一并開源了,且允許商用。
Gemma 官方頁(yè)面:https://ai.google.dev/gemma/
本次發(fā)布包含兩種權(quán)重規(guī)模的模型:Gemma 2B 和 Gemma 7B。每種規(guī)模都有預(yù)訓(xùn)練和指令微調(diào)版本。想使用的人可以通過(guò) Kaggle、谷歌的 Colab Notebook 或通過(guò) Google Cloud 訪問(wèn)。
當(dāng)然,Gemma 也第一時(shí)間上線了 HuggingFace 和 HuggingChat,每個(gè)人都能試一下它的生成能力:
盡管體量較小,但谷歌表示 Gemma 模型已經(jīng)「在關(guān)鍵基準(zhǔn)測(cè)試中明顯超越了更大的模型」,對(duì)比的包括 Llama-2 7B 和 13B,以及風(fēng)頭正勁的 Mistral 7B。
而且 Gemma「能夠直接在開發(fā)人員的筆記本電腦或臺(tái)式電腦上運(yùn)行」。除了輕量級(jí)模型之外,谷歌還推出了鼓勵(lì)協(xié)作的工具以及負(fù)責(zé)任地使用這些模型的指南。
Keras 作者 Fran?ois Chollet 對(duì)此直接表示:最強(qiáng)開源大模型的位置現(xiàn)在易主了。
在 HuggingFace 的 LLM leaderboard 上,Gemma 的 2B 和 7B 模型已經(jīng)雙雙登頂。
新的 Responsible Generative AI Toolkit 為使用 Gemma 創(chuàng)建更安全的 AI 應(yīng)用程序提供指導(dǎo)和必備工具。谷歌還通過(guò)原生 Keras 3.0 兼容所有主流框架(JAX、PyTorch 和 TensorFlow),為 Gemma 提供推理和監(jiān)督微調(diào)(SFT)的工具鏈。
在各家大廠和人工智能研究機(jī)構(gòu)探索千億級(jí)多模態(tài)大模型的同時(shí),很多創(chuàng)業(yè)公司也正在致力于構(gòu)建體量在數(shù)十億級(jí)別的語(yǔ)言模型。而 Meta 去年推出的 Llama 系列震動(dòng)了行業(yè),并引發(fā)了人們對(duì)于生成式 AI 開源和閉源路線的討論。
谷歌表示,Gemma 采用了與構(gòu)建 Gemini 模型相同的研究和技術(shù)。不過(guò),Gemma 直接打入開源生態(tài)系統(tǒng)的出場(chǎng)方式,與 Gemini 截然不同。谷歌也并未遵守在去年定下的「不再開放核心技術(shù)」的策略。
雖然開發(fā)者可以在 Gemini 的基礎(chǔ)上進(jìn)行開發(fā),但要么通過(guò) API,要么在谷歌的 Vertex AI 平臺(tái)上進(jìn)行開發(fā),被認(rèn)為是一種封閉的模式。與同為閉源路線的 OpenAI 相比,未見(jiàn)優(yōu)勢(shì)。
但借助此次 Gemma 的開源,谷歌或許能夠吸引更多的人使用自己的 AI 模型,而不是直接投奔 Meta、Mistral 這樣的競(jìng)爭(zhēng)對(duì)手。
谷歌這次沒(méi)有預(yù)告的開源,或許是想搶在 Meta 的 Llama 3 之前一天,畢竟此前有消息稱 Llama 系列本周就要上新(讓我們期待第一時(shí)間的評(píng)測(cè)對(duì)比)。
雖然才發(fā)布幾個(gè)小時(shí),但 X 平臺(tái)上已經(jīng)有不少用戶曬出了使用體驗(yàn)。有位用戶表示,Gemma -7B 速度很快,輸出也很穩(wěn)定,好過(guò) Llama-2 13B。
在開源模型的同時(shí),谷歌還公布了有關(guān) Gemma 的性能、數(shù)據(jù)集組成和建模方法的詳細(xì)信息的技術(shù)報(bào)告。在技術(shù)報(bào)告中,其他研究者發(fā)現(xiàn)了一些亮點(diǎn),比如 Gemma 支持的詞匯表大小達(dá)到了 256K,這意味著它對(duì)英語(yǔ)之外的其他語(yǔ)言能夠更好、更快地提供支持。
以下是技術(shù)報(bào)告的細(xì)節(jié)。
Gemma 技術(shù)細(xì)節(jié)
總體來(lái)說(shuō),Gemma 是一個(gè)輕量級(jí)的 SOTA 開放模型系列,在語(yǔ)言理解、推理和安全方面表現(xiàn)出了強(qiáng)勁的性能。
技術(shù)報(bào)告鏈接:https://storage.googleapis.com/deepmind-media/gemma/gemma-report.pdf
谷歌發(fā)布了兩個(gè)版本的 Gemma 模型,分別是 20 億參數(shù)和 70 億參數(shù),并提供了預(yù)訓(xùn)練以及針對(duì)對(duì)話、指令遵循、有用性和安全性微調(diào)的 checkpoint。其中 70 億參數(shù)的模型用于 GPU 和 TPU 上的高效部署和開發(fā),20 億參數(shù)的模型用于 CPU 和端側(cè)應(yīng)用程序。不同的尺寸滿足不同的計(jì)算限制、應(yīng)用程序和開發(fā)人員要求。
Gemma 在 18 個(gè)基于文本的任務(wù)中的 11 個(gè)上優(yōu)于相似參數(shù)規(guī)模的開放模型,例如問(wèn)答、常識(shí)推理、數(shù)學(xué)和科學(xué)、編碼等任務(wù)。
下圖 1 為 Gemma(7B)與 LLaMA 2(7B)、LLaMA 2(13B)和 Mistral(7B)在問(wèn)答、推理、數(shù)學(xué)和科學(xué)、編碼等任務(wù)上的性能比較。可以看到,Gemma(7B)表現(xiàn)出了優(yōu)勢(shì)(除了在問(wèn)答任務(wù)上弱于 LLaMA 2(13B))。
接下來(lái)看 Gemma 的模型架構(gòu)、訓(xùn)練基礎(chǔ)設(shè)施、預(yù)訓(xùn)練和微調(diào)方法。
模型架構(gòu)
Gemma 模型架構(gòu)基于 Transformer 解碼器,表 1 總結(jié)了該架構(gòu)的核心參數(shù)。模型訓(xùn)練的上下文長(zhǎng)度為 8192 個(gè) token。
此外,谷歌還在原始 transformer 論文的基礎(chǔ)上進(jìn)行了改進(jìn),改進(jìn)的部分包括:
- 多查詢注意力:7B 模型使用多頭注意力,而 2B 檢查點(diǎn)使用多查詢注意力;
- RoPE 嵌入:Gemma 在每一層中使用旋轉(zhuǎn)位置嵌入,而不是使用絕對(duì)位置嵌入;此外,Gemma 還在輸入和輸出之間共享嵌入,以減少模型大?。?/span>
- GeGLU 激活:標(biāo)準(zhǔn) ReLU 非線性被 GeGLU 激活函數(shù)取代;
- Normalizer Location:Gemma 對(duì)每個(gè) transformer 子層的輸入和輸出進(jìn)行歸一化,這與僅對(duì)其中一個(gè)或另一個(gè)進(jìn)行歸一化的標(biāo)準(zhǔn)做法有所不同,RMSNorm 作為歸一化層。
訓(xùn)練基礎(chǔ)設(shè)施
谷歌使用了自研 AI 芯片 TPUv5e 來(lái)訓(xùn)練 Gemma 模型:TPUv5e 部署在由 256 個(gè)芯片組成的 pod 中,配置成由 16 x 16 個(gè)芯片組成的二維環(huán)形。
對(duì)于 7B 模型,谷歌在 16 個(gè) pod(共計(jì) 4096 個(gè) TPUv5e)上訓(xùn)練模型。他們通過(guò) 2 個(gè) pod 對(duì) 2B 模型進(jìn)行預(yù)訓(xùn)練,總計(jì) 512 TPUv5e。在一個(gè) pod 中,谷歌對(duì) 7B 模型使用 16 路模型分片和 16 路數(shù)據(jù)復(fù)制。對(duì)于 2B 模型,只需使用 256 路數(shù)據(jù)復(fù)制。優(yōu)化器狀態(tài)使用類似 ZeRO-3 的技術(shù)進(jìn)一步分片。在 pod 之外,谷歌使用了 Pathways 方法通過(guò)數(shù)據(jù)中心網(wǎng)絡(luò)執(zhí)行數(shù)據(jù)復(fù)制還原。
預(yù)訓(xùn)練
Gemma 2B 和 7B 分別在來(lái)自網(wǎng)絡(luò)文檔、數(shù)學(xué)和代碼的 2T 和 6T 主要英語(yǔ)數(shù)據(jù)上進(jìn)行訓(xùn)練。與 Gemini 不同的是,這些模型不是多模態(tài)的,也不是為了在多語(yǔ)言任務(wù)中獲得最先進(jìn)的性能而訓(xùn)練的。
為了兼容,谷歌使用了 Gemini 的 SentencePiece tokenizer 子集(Kudo 和 Richardson,2018 年)。它可以分割數(shù)字,不刪除多余的空白,并遵循(Chowdhery 等人,2022 年)和(Gemini 團(tuán)隊(duì),2023 年)所使用的技術(shù),對(duì)未知 token 進(jìn)行字節(jié)級(jí)編碼。詞匯量為 256k 個(gè) token。
指令調(diào)優(yōu)
谷歌通過(guò)在僅文本、僅英語(yǔ)合成和人類生成的 prompt 響應(yīng)對(duì)的混合數(shù)據(jù)上進(jìn)行監(jiān)督微調(diào)(SFT),以及利用在僅英語(yǔ)標(biāo)記的偏好數(shù)據(jù)和基于一系列高質(zhì)量 prompt 的策略上訓(xùn)練的獎(jiǎng)勵(lì)模型進(jìn)行人類反饋強(qiáng)化學(xué)習(xí)(RLHF),對(duì) Gemma 2B 和 Gemma 7B 模型進(jìn)行微調(diào)。
實(shí)驗(yàn)發(fā)現(xiàn),監(jiān)督微調(diào)和 RLHF 這兩個(gè)階段對(duì)于提高下游自動(dòng)評(píng)估和模型輸出的人類偏好評(píng)估性能都非常重要。
監(jiān)督微調(diào)
谷歌根據(jù)基于 LM 的并行評(píng)估結(jié)果來(lái)選擇自己的混合數(shù)據(jù),以進(jìn)行監(jiān)督微調(diào)。給定一組留出的(heldout) prompt, 谷歌從測(cè)試模型中生成響應(yīng),并從基線模型中生成相同 prompt 的響應(yīng),并要求規(guī)模更大的高性能模型來(lái)表達(dá)這兩個(gè)響應(yīng)之間的偏好。
谷歌還構(gòu)建不同的 prompt 集來(lái)突出特定的能力,例如指令遵循、真實(shí)性、創(chuàng)造性和安全性等。谷歌使用了不同的自動(dòng)化 LM「judges」,它們采用了多種技術(shù),比如思維鏈提示(chain-of-thought prompting)、對(duì)齊人類偏好等。
格式化
指令調(diào)優(yōu)模型使用特定的格式化器進(jìn)行訓(xùn)練, 該格式化器在訓(xùn)練和推理時(shí)使用額外的信息來(lái)標(biāo)注所有指令調(diào)優(yōu)示例。這樣做有以下兩個(gè)目的,1)指示對(duì)話中的角色,比如用戶角色;2)描述對(duì)話輪次,尤其是在多輪對(duì)話中。為了實(shí)現(xiàn)這兩個(gè)目的,谷歌在分詞器(tokenizer)中保留了特殊的控制 token。
下表 3 為相關(guān)格式化控制 token,表 4 為對(duì)話示例。
人類反饋強(qiáng)化學(xué)習(xí)(RLHF)
谷歌使用 RLHF 對(duì)監(jiān)督微調(diào)模型進(jìn)一步微調(diào),不僅從人類評(píng)分者那里收集了偏好對(duì),還在 Bradley-Terry 模型下訓(xùn)練了獎(jiǎng)勵(lì)函數(shù),這類似于 Gemini。該策略經(jīng)過(guò)訓(xùn)練,使用一個(gè)具有針對(duì)初始調(diào)優(yōu)模型的 Kullback–Leibler 正則化項(xiàng)的 REINFORCE 變體,對(duì)該獎(jiǎng)勵(lì)函數(shù)進(jìn)行優(yōu)化。
與監(jiān)督微調(diào)(SFT)階段一樣,為了進(jìn)行超參數(shù)調(diào)優(yōu),并額外減輕獎(jiǎng)勵(lì)黑客行為,谷歌依賴高容量模型作為自動(dòng)評(píng)估器,并計(jì)算與基線模型的比較結(jié)果。
評(píng)估
谷歌通過(guò)人類偏好、自動(dòng)基準(zhǔn)和記憶等指標(biāo),在廣泛的領(lǐng)域?qū)?Gemma 進(jìn)行了全面的評(píng)估。
人類偏好評(píng)估
除了在經(jīng)過(guò)微調(diào)的模型上運(yùn)行標(biāo)準(zhǔn)學(xué)術(shù)基準(zhǔn)之外,谷歌對(duì)最終發(fā)布的候選模型進(jìn)行了人類評(píng)估研究,以便與 Mistral v0.2 7B Instruct 模型進(jìn)行比較。
與 Mistral v0.2 7B Instruct 相比,Gemma 7B IT 的正勝率為 51.7%,Gemma 2B IT 的勝率為 41.6%。在測(cè)試基本安全協(xié)議的約 400 條 prompt 中,Gemma 7B IT 的勝率為 58%,而 Gemma 2B IT 的勝率為 56.5%。表 5 中報(bào)告了相應(yīng)的數(shù)字。
自動(dòng)基準(zhǔn)評(píng)估
谷歌還在一系列學(xué)術(shù)基準(zhǔn)上將 Gemma 2B 和 7B 模型與幾個(gè)外部開源 LLM 進(jìn)行了比較,如表 6 所示:
在 MMLU 上,Gemma 7B 的表現(xiàn)優(yōu)于相同或較小規(guī)模的所有開源模型,還優(yōu)于幾個(gè)較大的模型,包括 LLaMA2 13B。
然而,基準(zhǔn)作者對(duì)人類專家表現(xiàn)的評(píng)估結(jié)果是 89.8%, Gemini Ultra 是第一個(gè)超過(guò)這一閾值的模型,可以看到Gemma仍有很大的改進(jìn)空間,以達(dá)到Gemini和人類水平的性能。
但 Gemma 模型在數(shù)學(xué)和編碼基準(zhǔn)測(cè)試中表現(xiàn)比較突出。在數(shù)學(xué)任務(wù)上,Gemma 模型在 GSM8K 和更難的 MATH 基準(zhǔn)上的表現(xiàn)超過(guò)其他模型至少 10 分。同樣,它們?cè)?HumanEval 上的表現(xiàn)比其他開源模型至少高出 6 分。Gemma 在 MBPP 上的表現(xiàn)甚至超過(guò)了經(jīng)過(guò)代碼微調(diào)的 CodeLLaMA-7B 模型(CodeLLaMA 得分為 41.4%,而 Gemma 7B 得分為 44.4%)。
記憶評(píng)估
谷歌使用 Anil 等人采用的方法測(cè)試 Gemma 的記憶能力,具體而言,他們從每個(gè)語(yǔ)料庫(kù)中采樣 10000 個(gè)文檔,并使用前 50 個(gè) token 作為模型的 prompt。在此過(guò)程中,谷歌主要關(guān)注精準(zhǔn)記憶,如果模型生成的后續(xù) 50 個(gè) token 與文本中的真實(shí)后續(xù)文本完全匹配,則將該文本分類為已記憶。圖 2 將評(píng)估結(jié)果與同等規(guī)模的 PaLM 和 PaLM 2 模型進(jìn)行了比較,結(jié)果如下所示。
隱私數(shù)據(jù)
對(duì)大模型來(lái)說(shuō),隱私數(shù)據(jù)被記住的可能性是一件非常值得關(guān)注的事情。為了使 Gemma 預(yù)訓(xùn)練模型安全可靠,谷歌使用自動(dòng)方法從訓(xùn)練集中過(guò)濾掉某些隱私信息和其他敏感數(shù)據(jù)。
為了識(shí)別可能出現(xiàn)的隱私數(shù)據(jù),谷歌使用 Google Cloud 數(shù)據(jù)丟失防護(hù) (DLP) 工具。該工具根據(jù)隱私數(shù)據(jù)的類別(例如姓名、電子郵件等)輸出三個(gè)嚴(yán)重級(jí)別。谷歌將最高嚴(yán)重性分類為「敏感(sensitive)」,其余兩個(gè)分類為「隱私(personal)」,然后測(cè)量有多少存儲(chǔ)的輸出包含敏感或個(gè)人數(shù)據(jù)。
如下圖 3 所示,谷歌沒(méi)有觀察到存儲(chǔ)敏感數(shù)據(jù)的情況,但確實(shí)發(fā)現(xiàn) Gemma 模型會(huì)記住一些上述分類為潛在「隱私」的數(shù)據(jù)。值得注意的是,研究中使用的工具可能存在許多誤報(bào)(因?yàn)槠渲黄ヅ淠J蕉豢紤]上下文),這意味著實(shí)驗(yàn)結(jié)果可能高估了已識(shí)別的隱私數(shù)據(jù)量。
在記憶數(shù)據(jù)量方面,如下圖 4 所示,谷歌觀察到大約會(huì)多出 50% 的數(shù)據(jù)被記住,并且在數(shù)據(jù)集的每個(gè)不同子類別中幾乎是一致的。
最后,谷歌還通過(guò)標(biāo)準(zhǔn)化 AI 安全基準(zhǔn)評(píng)估了 Gemma 的安全性,結(jié)果如下表 8 所示。
參考鏈接:
https://www.theverge.com/2024/2/21/24078610/google-gemma-gemini-small-ai-model-open-source.