模型概述
模型特點
模型能力
使用案例
🚀 RecurrentGemma模型卡片
RecurrentGemma是基於新型循環架構開發的語言模型,具有高效推理和低內存佔用的特點,適用於多種文本生成任務。
🚀 快速開始
要快速開始運行該模型,可參考以下代碼片段。首先,確保執行 pip install transformers
命令,然後根據你的具體用例複製相應的代碼片段。
在單GPU或多GPU上運行模型
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("google/recurrentgemma-9b-it")
model = AutoModelForCausalLM.from_pretrained("google/recurrentgemma-9b-it", device_map="auto")
input_text = "Write me a poem about Machine Learning."
input_ids = tokenizer(input_text, return_tensors="pt").to("cuda")
outputs = model.generate(**input_ids)
print(tokenizer.decode(outputs[0]))
聊天模板
經過指令微調的模型使用了一種聊天模板,在進行對話時必須遵循該模板。最簡單的應用方式是使用分詞器內置的聊天模板,如下述代碼片段所示。
讓我們加載模型並將聊天模板應用於對話。在這個示例中,我們從一次用戶交互開始:
from transformers import AutoTokenizer, AutoModelForCausalLM
import transformers
import torch
tokenizer = AutoTokenizer.from_pretrained("google/recurrentgemma-9b-it")
model = AutoModelForCausalLM.from_pretrained(
"google/recurrentgemma-9b-it",
device_map="auto"
torch_dtype=dtype,
)
chat = [
{ "role": "user", "content": "Write a hello world program" },
]
prompt = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
此時,提示包含以下文本:
<bos><start_of_turn>user
Write a hello world program<end_of_turn>
<start_of_turn>model
如你所見,每個回合都以 <start_of_turn>
分隔符開頭,然後是實體的角色(user
表示用戶提供的內容,model
表示大語言模型的響應)。回合以 <end_of_turn>
標記結束。
如果你需要在不使用分詞器聊天模板的情況下手動構建提示,也可以遵循此格式。
提示準備好後,可以按如下方式進行生成:
inputs = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
outputs = model.generate(input_ids=inputs.to(model.device), max_new_tokens=150)
print(tokenizer.decode(outputs[0]))
✨ 主要特性
- 新型架構:基於谷歌開發的新型循環架構,推理速度更快,內存佔用更低。
- 多任務支持:適用於多種文本生成任務,如問答、摘要生成和推理等。
- 高質量輸出:在多個基準測試中表現出色,提供高質量的英文文本生成。
📦 安裝指南
確保你已經安裝了 transformers
庫,可以使用以下命令進行安裝:
pip install transformers
📚 詳細文檔
模型信息
本模型卡片對應RecurrentGemma模型的9B指令版本。你也可以訪問 9B基礎模型 的模型卡片。
資源和技術文檔:
使用條款:條款
作者:Google
模型數據
訓練數據集和數據處理
RecurrentGemma使用與Gemma模型家族相同的訓練數據和數據處理方法。完整描述可在 Gemma模型卡片 中找到。
實現信息
訓練期間使用的硬件和框架
與 Gemma 一樣,RecurrentGemma在 TPUv5e 上進行訓練,使用了 JAX 和 ML Pathways。
評估信息
基準測試結果
評估方法
這些模型針對大量不同的數據集和指標進行了評估,以涵蓋文本生成的不同方面。
評估結果
基準測試 | 指標 | RecurrentGemma 9B |
---|---|---|
[MMLU] | 5-shot, top-1 | 60.5 |
[HellaSwag] | 0-shot | 80.4 |
[PIQA] | 0-shot | 81.3 |
[SocialIQA] | 0-shot | 52.3 |
[BoolQ] | 0-shot | 80.3 |
[WinoGrande] | partial score | 73.6 |
[CommonsenseQA] | 7-shot | 73.2 |
[OpenBookQA] | 51.8 | |
[ARC-e][ARC-c] | 78.8 | |
[ARC-c] | 52.0 | |
[TriviaQA] | 5-shot | 70.5 |
[Natural Questions] | 5-shot | 21.7 |
[HumanEval] | pass@1 | 31.1 |
[MBPP] | 3-shot | 42.0 |
[GSM8K] | maj@1 | 42.6 |
[MATH] | 4-shot | 23.8 |
[AGIEval] | 39.3 | |
[BIG-Bench] | 55.2 | |
平均 | 56.1 |
推理速度結果
RecurrentGemma提供了更高的採樣速度,特別是在處理長序列或大批次時。我們將RecurrentGemma-9B與Gemma-7B的採樣速度進行了比較。請注意,Gemma-7B使用多頭注意力機制,與使用多查詢注意力機制的變壓器模型相比,速度提升會較小。
吞吐量
我們評估了RecurrentGemma-9B與Gemma-7B在預填充2K令牌時的吞吐量,即每秒產生的最大令牌數。
延遲
我們還比較了RecurrentGemma-9B與Gemma-7B在預填充4K令牌並使用批次大小為1的情況下采樣長序列時的端到端加速情況。
採樣令牌數 | Gemma-7B (秒) | RecurrentGemma-9B (秒) | 提升百分比 |
---|---|---|---|
128 | 3.1 | 2.8 | 9.2% |
256 | 5.9 | 5.4 | 9.7% |
512 | 11.6 | 10.5 | 10.7% |
1024 | 23.5 | 20.6 | 14.2% |
2048 | 48.2 | 40.9 | 17.7% |
4096 | 101.9 | 81.5 | 25.0% |
8192 | OOM | 162.8 | - |
16384 | OOM | 325.2 | - |
倫理和安全
倫理和安全評估
評估方法
我們的評估方法包括結構化評估和對相關內容政策的內部紅隊測試。紅隊測試由多個不同的團隊進行,每個團隊都有不同的目標和人工評估指標。這些模型針對多個與倫理和安全相關的類別進行了評估,包括:
- 文本到文本內容安全:對涵蓋安全政策(如兒童性虐待和剝削、騷擾、暴力和血腥、仇恨言論)的提示進行人工評估。
- 文本到文本代表性危害:針對相關學術數據集(如WinoBias和BBQ數據集)進行基準測試。
- 記憶:對訓練數據的記憶進行自動評估,包括個人身份信息暴露的風險。
- 大規模危害:測試“危險能力”,如化學、生物、放射和核(CBRN)風險;以及說服和欺騙、網絡安全和自主複製的測試。
評估結果
倫理和安全評估的結果在符合 內部政策 的可接受閾值範圍內,涉及兒童安全、內容安全、代表性危害、記憶、大規模危害等類別。除了嚴格的內部評估外,還展示了一些知名安全基準測試(如BBQ、Winogender、Winobias、RealToxicity和TruthfulQA)的結果。
基準測試 | 指標 | RecurrentGemma 9B | RecurrentGemma 9B IT |
---|---|---|---|
[RealToxicity] | avg | 10.3 | 8.8 |
[BOLD] | 39.8 | 47.9 | |
[CrowS-Pairs] | top-1 | 38.7 | 39.5 |
[BBQ Ambig][BBQ] | top-1 | 95.9 | 67.1 |
[BBQ Disambig][BBQ] | top-1 | 78.6 | 78.9 |
[Winogender] | top-1 | 59.0 | 64.0 |
[TruthfulQA] | 38.6 | 47.7 | |
[Winobias 1_2][Winobias] | 61.5 | 60.6 | |
[Winobias 2_2][Winobias] | 90.2 | 90.3 | |
[Toxigen] | 58.8 | 64.5 |
模型使用和限制
已知限制
用戶應瞭解這些模型存在的某些限制:
- 訓練數據
- 訓練數據的質量和多樣性會顯著影響模型的能力。訓練數據中的偏差或差距可能導致模型響應的侷限性。
- 訓練數據集的範圍決定了模型能夠有效處理的主題領域。
- 上下文和任務複雜性
- 大語言模型更擅長可以用明確提示和指令構建的任務。開放式或高度複雜的任務可能具有挑戰性。
- 模型的性能可能會受到提供的上下文量的影響(在一定程度上,更長的上下文通常會導致更好的輸出)。
- 語言歧義與細微差別
- 自然語言本質上是複雜的。大語言模型可能難以理解微妙的細微差別、諷刺或比喻語言。
- 事實準確性
- 大語言模型根據從訓練數據中學到的信息生成響應,但它們不是知識庫。它們可能會生成不正確或過時的事實陳述。
- 常識
- 大語言模型依賴於語言中的統計模式。它們可能在某些情況下缺乏應用常識推理的能力。
倫理考量和風險
大型語言模型(LLM)的開發引發了一些倫理問題。在創建開放模型時,我們仔細考慮了以下方面:
- 偏差與公平性
- 在大規模真實世界文本數據上訓練的大語言模型可能反映訓練材料中嵌入的社會文化偏差。這些模型經過了仔細審查,輸入數據進行了預處理,並在本卡片中報告了後續評估結果。
- 錯誤信息與濫用
- 大語言模型可能被濫用來生成虛假、誤導或有害的文本。
- 提供了模型負責任使用的指南,請參閱 負責任的生成式AI工具包。
- 透明度與問責制
- 本模型卡片總結了模型的架構、能力、限制和評估過程的詳細信息。
- 負責任開發的開放模型為整個AI生態系統的開發者和研究人員提供了共享創新的機會,使大語言模型技術更易於獲取。
已識別的風險及緩解措施:
- 偏差的延續:鼓勵在模型訓練、微調及其他用例中進行持續監控(使用評估指標、人工審查),並探索去偏差技術。
- 有害內容的生成:內容安全機制和指南至關重要。鼓勵開發者根據其特定的產品政策和應用用例謹慎行事,並實施適當的內容安全保障措施。
- 惡意用途的濫用:技術限制以及對開發者和最終用戶的教育有助於減輕大語言模型的惡意應用。提供了教育資源和用戶舉報濫用行為的機制。Gemma模型的禁止使用情況在我們的 使用條款 中進行了概述。
- 隱私侵犯:模型在經過過濾以去除個人身份信息(PII)的數據上進行訓練。鼓勵開發者遵循隱私法規並採用隱私保護技術。
預期用途
應用場景
開放大型語言模型(LLM)在各個行業和領域都有廣泛的應用。以下潛在用途列表並非詳盡無遺。列出此列表的目的是提供有關模型創建者在模型訓練和開發過程中考慮的可能用例的上下文信息。
- 內容創作與溝通
- 文本生成:這些模型可用於生成創意文本格式,如詩歌、腳本、代碼、營銷文案、電子郵件草稿等。
- 聊天機器人和對話式AI:為客戶服務、虛擬助手或交互式應用程序提供對話界面。
- 文本摘要:生成文本語料庫、研究論文或報告的簡潔摘要。
- 研究與教育
- 自然語言處理(NLP)研究:這些模型可以為研究人員提供基礎,用於實驗NLP技術、開發算法並推動該領域的發展。
- 語言學習工具:支持交互式語言學習體驗,輔助語法糾正或提供寫作練習。
- 知識探索:通過生成摘要或回答特定主題的問題,幫助研究人員探索大量文本。
優勢
在發佈時,與同等規模的模型相比,這個模型家族提供了高性能的開放大型語言模型實現,從底層設計就考慮了負責任的AI開發。
使用本文檔中描述的基準評估指標,這些模型表現出優於其他同等規模開放模型的性能。
特別是,RecurrentGemma模型與Gemma模型具有相當的性能,但在推理時更快,並且需要更少的內存,尤其是在處理長序列時。
引用信息
@article{recurrentgemma_2024,
title={RecurrentGemma},
url={},
DOI={},
publisher={Kaggle},
author={Griffin Team, Soham De, Samuel L Smith, Anushan Fernando, Alex Botev, George-Christian Muraru, Ruba Haroun, Leonard Berrada et al.},
year={2024}
}
📄 許可證
本模型的許可證為gemma。
⚠️ 重要提示
要在Hugging Face上訪問RecurrentGemma,你需要審查並同意Google的使用許可。為此,請確保你已登錄Hugging Face並點擊下方按鈕。請求將立即處理。
💡 使用建議
點擊下方按鈕以確認許可:[確認許可](Acknowledge license)



