模型概述
模型特點
模型能力
使用案例
🚀 Cohere Labs Command R+模型卡
Cohere Labs Command R+ 是一款擁有 1040 億參數的模型,具備高度先進的能力,可用於檢索增強生成(RAG)和工具使用,以自動化完成複雜任務。該模型支持多語言,在推理、總結和問答等多種場景中表現出色。
🚀 快速開始
你可以在下載權重之前,在我們託管的 Hugging Face 空間 中試用 Cohere Labs Command R+。
請從包含此模型必要更改的源倉庫安裝 transformers
:
# pip install 'git+https://github.com/huggingface/transformers.git'
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "CohereLabs/c4ai-command-r-plus"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
# Format message with the command-r-plus chat template
messages = [{"role": "user", "content": "Hello, how are you?"}]
input_ids = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
## <BOS_TOKEN><|START_OF_TURN_TOKEN|><|USER_TOKEN|>Hello, how are you?<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>
gen_tokens = model.generate(
input_ids,
max_new_tokens=100,
do_sample=True,
temperature=0.3,
)
gen_text = tokenizer.decode(gen_tokens[0])
print(gen_text)
量化模型(通過 bitsandbytes,8 位精度)
# pip install 'git+https://github.com/huggingface/transformers.git' bitsandbytes accelerate
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
bnb_config = BitsAndBytesConfig(load_in_8bit=True)
model_id = "CohereLabs/c4ai-command-r-plus"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, quantization_config=bnb_config)
# Format message with the command-r-plus chat template
messages = [{"role": "user", "content": "Hello, how are you?"}]
input_ids = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
## <BOS_TOKEN><|START_OF_TURN_TOKEN|><|USER_TOKEN|>Hello, how are you?<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>
gen_tokens = model.generate(
input_ids,
max_new_tokens=100,
do_sample=True,
temperature=0.3,
)
gen_text = tokenizer.decode(gen_tokens[0])
print(gen_text)
量化模型(通過 bitsandbytes,4 位精度)
🚨 此模型是 Cohere Labs Command R+ 的非量化版本。你可以在 此處 找到使用 bitsandbytes 量化的 Cohere Labs Command R+ 版本。
✨ 主要特性
- 高度先進的能力:具備檢索增強生成(RAG)和工具使用功能,可自動化完成複雜任務。
- 多語言支持:在 10 種語言(英語、法語、西班牙語、意大利語、德語、巴西葡萄牙語、日語、韓語、阿拉伯語和簡體中文)上進行了性能評估。
- 優化多種用例:適用於推理、總結和問答等多種場景。
- 多步工具使用:允許模型在多個步驟中組合使用多個工具,以完成困難任務。
📚 詳細文檔
模型概述
Cohere Labs Command R+ 是一個擁有 1040 億參數的開放權重研究版本模型,具有高度先進的能力,包括檢索增強生成(RAG)和工具使用,以自動化完成複雜任務。該模型的工具使用功能支持多步工具使用,允許模型在多個步驟中組合使用多個工具,以完成困難任務。
Cohere Labs Command R+ 是一個多語言模型,在 10 種語言上進行了性能評估:英語、法語、西班牙語、意大利語、德語、巴西葡萄牙語、日語、韓語、阿拉伯語和簡體中文。Command R+ 針對多種用例進行了優化,包括推理、總結和問答。
Command R+ 是 Cohere Labs 和 Cohere 開放權重發布系列的一部分。我們的較小配套模型是 Cohere Labs Command R。
- 開發者:Cohere 和 Cohere Labs
- 聯繫方式:Cohere Labs
- 許可證:CC - BY - NC,還需遵守 Cohere Lab 的可接受使用政策
- 模型名稱:c4ai - command - r - plus
- 模型大小:1040 億參數
- 上下文長度:128K
評估
Command R+ 已提交至 Open LLM 排行榜。以下是評估結果,以及與當前 Hugging Face 上最強的開源權重模型的直接比較:
模型 | 平均得分 | Arc (Challenge) | Hella Swag | MMLU | Truthful QA | Winogrande | GSM8k |
---|---|---|---|---|---|---|---|
CohereLabs/c4ai - command - r - plus | 74.6 | 70.99 | 88.6 | 75.7 | 56.3 | 85.4 | 70.7 |
[DBRX Instruct](https://huggingface.co/databricks/dbrx - instruct) | 74.5 | 68.9 | 89 | 73.7 | 66.9 | 81.8 | 66.9 |
[Mixtral 8x7B - Instruct](https://huggingface.co/mistralai/Mixtral - 8x7B - Instruct - v0.1) | 72.7 | 70.1 | 87.6 | 71.4 | 65 | 81.1 | 61.1 |
[Mixtral 8x7B Chat](https://huggingface.co/mistralai/Mixtral - 8x7B - Instruct - v0.1) | 72.6 | 70.2 | 87.6 | 71.2 | 64.6 | 81.4 | 60.7 |
[CohereLabs/c4ai - command - r - v01](https://huggingface.co/CohereLabs/c4ai - command - r - v01) | 68.5 | 65.5 | 87 | 68.2 | 52.3 | 81.5 | 56.6 |
[Llama 2 70B](https://huggingface.co/meta - llama/Llama - 2 - 70b - hf) | 67.9 | 67.3 | 87.3 | 69.8 | 44.9 | 83.7 | 54.1 |
[Yi - 34B - Chat](https://huggingface.co/01 - ai/Yi - 34B - Chat) | 65.3 | 65.4 | 84.2 | 74.9 | 55.4 | 80.1 | 31.9 |
[Gemma - 7B](https://huggingface.co/google/gemma - 7b) | 63.8 | 61.1 | 82.2 | 64.6 | 44.8 | 79 | 50.9 |
[LLama 2 70B Chat](https://huggingface.co/meta - llama/Llama - 2 - 70b - chat - hf) | 62.4 | 64.6 | 85.9 | 63.9 | 52.8 | 80.5 | 26.7 |
[Mistral - 7B - v0.1](https://huggingface.co/mistralai/Mistral - 7B - v0.1) | 61 | 60 | 83.3 | 64.2 | 42.2 | 78.4 | 37.8 |
這些指標是應要求提供的,但請注意,這些指標並未涵蓋 RAG、多語言、工具使用性能或開放式生成的評估,我們認為 Command R+ 在這些方面處於領先水平。有關 RAG、多語言和工具使用的評估,請閱讀 [此處](https://txt.cohere.com/command - r - plus - microsoft - azure/) 的更多內容。對於開放式生成的評估,Command R+ 目前正在 聊天機器人競技場 上進行評估。
基於文檔的生成和 RAG 能力
Command R+ 經過專門訓練,具備基於文檔的生成能力。這意味著它可以根據提供的文檔片段列表生成響應,並在響應中包含引用跨度(引用),以指示信息的來源。這可用於實現基於文檔的總結和檢索增強生成(RAG)的最後一步。這種行為通過監督微調與偏好微調的混合方式訓練到模型中,使用特定的提示模板。偏離此提示模板可能會降低性能,但我們鼓勵進行實驗。
Command R+ 的基於文檔的生成行為將對話作為輸入(可選的用戶提供的系統前言,指示任務、上下文和所需的輸出風格),以及檢索到的文檔片段列表。文檔片段應為小塊,而不是長文檔,通常每個塊約 100 - 400 個單詞。文檔片段由鍵值對組成。鍵應為簡短的描述性字符串,值可以是文本或半結構化數據。
默認情況下,Command R+ 將通過首先預測哪些文檔相關,然後預測將引用哪些文檔,然後生成答案,最後在答案中插入引用跨度來生成基於文檔的響應。這稱為 accurate
基於文檔的生成。
模型還訓練了其他幾種回答模式,可以通過更改提示來選擇。分詞器支持 fast
引用模式,它將直接生成包含引用跨度的答案,而無需先完整寫出答案。這犧牲了一些引用準確性,以換取生成更少的標記。
有關使用 Command R+ 的基於文檔的生成提示模板的全面文檔,請參閱 [此處](https://docs.cohere.com/docs/prompting - command - r)。
單步工具使用能力(“函數調用”)
單步工具使用(或 “函數調用”)允許 Command R+ 與外部工具(如 API、數據庫或搜索引擎)進行交互。單步工具使用由兩個模型推理組成:
- 工具選擇:模型決定調用哪些工具以及使用什麼參數。然後由開發人員執行這些工具調用並獲取工具結果。
- 響應生成:模型根據工具結果生成最終響應。
你可以在我們的 [文檔](https://docs.cohere.com/docs/tool - use) 中瞭解更多關於單步工具使用的信息。
Command R+ 經過專門訓練,具備單步工具使用(或 “函數調用”)能力。這些能力通過監督微調與偏好微調的混合方式訓練到模型中,使用特定的提示模板。偏離此提示模板可能會降低性能。因此,我們建議使用以下描述的提示模板。
Command R+ 的單步工具使用功能將對話作為輸入(可選的用戶 - 系統前言),以及可用工具列表。然後,模型將生成一個 JSON 格式的操作列表,以在這些工具的子集上執行。Command R+ 可能會多次使用其提供的工具之一。
模型經過訓練,能夠識別特殊的 directly_answer
工具,它使用該工具來表示不想使用其他任何工具。在某些情況下,不調用特定工具的能力可能很有用,例如問候用戶或詢問澄清問題。我們建議包含 directly_answer
工具,但如果需要,可以將其刪除或重命名。
有關使用 Command R+ 的單步工具使用提示模板的全面文檔,請參閱 [此處](https://docs.cohere.com/docs/prompting - command - r#single - step - tool - use - with - command - rr - function - calling) 和 [此處](https://docs.cohere.com/docs/prompting - command - r#single - step - tool - use - with - command - rr - function - calling - 1)。
多步工具使用能力(“代理”)
多步工具使用適用於構建能夠使用多個工具規劃和執行一系列操作的代理。與單步工具使用不同,模型可以執行多個推理週期,通過行動 → 觀察 → 反思進行迭代,直到決定最終響應。有關更多詳細信息,請參閱我們的 [多步工具使用文檔](https://docs.cohere.com/docs/multi - step - tool - use)。
Command R+ 經過專門訓練,具備多步工具使用(或 “代理”)能力。這些能力通過監督微調與偏好微調的混合方式訓練到模型中,使用特定的提示模板。偏離此提示模板可能會降低性能。因此,我們建議使用以下描述的提示模板。
提示模板目前在 HuggingFace 分詞器中不可用。但是,有關使用 Command R+ 的多步工具使用提示模板的全面文檔,請參閱 [此處](https://docs.cohere.com/docs/prompting - command - r#multi - step - tool - use - with - command - rr - agents) 和 [此處](https://docs.cohere.com/docs/prompting - command - r#multihop - tool - use - with - command - rr - agents)。
代碼能力
Command R+ 經過優化,可與你的代碼進行交互,通過請求代碼片段、代碼解釋或代碼重寫。對於純代碼完成,它可能無法立即表現良好。為了獲得更好的性能,我們還建議對與代碼生成相關的指令使用低溫(甚至貪婪解碼)。
🔧 技術細節
輸入輸出
- 輸入:模型僅接受文本輸入。
- 輸出:模型僅生成文本輸出。
模型架構
這是一個自迴歸語言模型,使用優化的 Transformer 架構。預訓練後,該模型使用監督微調(SFT)和偏好訓練,使模型行為與人類對有用性和安全性的偏好保持一致。
支持語言
模型針對以下語言進行了優化:英語、法語、西班牙語、意大利語、德語、巴西葡萄牙語、日語、韓語、阿拉伯語和簡體中文。
預訓練數據還包括以下 13 種語言:俄語、波蘭語、土耳其語、越南語、荷蘭語、捷克語、印尼語、烏克蘭語、羅馬尼亞語、希臘語、印地語、希伯來語、波斯語。
上下文長度
Command R+ 支持 128K 的上下文長度。
📄 許可證
該模型受 [CC - BY - NC](https://cohere.com/c4ai - cc - by - nc - license) 許可證約束,並需遵守 [Cohere Lab 的可接受使用政策](https://docs.cohere.com/docs/c4ai - acceptable - use - policy)。
模型卡聯繫方式
如有此模型卡詳細信息的錯誤或其他問題,請聯繫 labs@cohere.com。
使用條款
我們希望通過向全球研究人員發佈這個高性能的 1040 億參數模型的權重,使基於社區的研究工作更加容易。該模型受 [CC - BY - NC](https://cohere.com/c4ai - cc - by - nc - license) 許可證約束,並需遵守 [Cohere Lab 的可接受使用政策](https://docs.cohere.com/docs/c4ai - acceptable - use - policy)。
試用聊天
你可以在 此處 的遊樂場中試用 Command R+ 聊天。你也可以在我們的專用 Hugging Face 空間 [此處](https://huggingface.co/spaces/CohereLabs/c4ai - command - r - plus) 中使用它。



