模型简介
模型特点
模型能力
使用案例
🚀 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) 中使用它。



