C4AI Command R 08-2024 是一个 350 亿参数高性能生成模型的研究版本。 Command R 08-2024 是一个大型语言模型,采用开放式权重,针对推理、总结和问题解答等各种用例进行了优化。 Command R 08-2024 具备多语言生成功能,曾在 23 种语言上进行过训练,并在 10 种语言上进行过评估,还具备高性能的 RAG 功能。
- Point of Contact: Cohere For AI: cohere.for.ai
- License: CC-BY-NC, requires also adhering to C4AI’s Acceptable Use Policy
- Model: c4ai-command-r-08-2024
- Model Size: 35 billion parameters
- Context length: 128K
C4AI Command R+ 08-2024 是一个 1040 亿参数模型的开放权重研究版本,具有非常先进的功能,包括检索增强生成(RAG)和工具使用,可自动完成复杂的任务。 该模型生成中的工具使用可实现多步骤工具使用,从而使模型能够在多个步骤中结合多个工具来完成困难的任务。 C4AI Command R+ 08-2024 是一个多语种模型,使用 23 种语言进行训练,并用 10 种语言进行评估。 Command R+ 08-2024 针对推理、总结和问题解答等各种使用情况进行了优化。
- Point of Contact: Cohere For AI: cohere.for.ai
- License: CC-BY-NC, requires also adhering to C4AI’s Acceptable Use Policy
- Model: c4ai-command-r-plus-08-2024
- Model Size: 104 billion parameters
- Context length: 128K
代码
# pip install 'transformers>=4.39.1'
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "CohereForAI/c4ai-command-r-08-2024"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
# Format message with the command-r-08-2024 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)
# pip install 'transformers>=4.39.1'
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "CohereForAI/c4ai-command-r-plus-08-2024"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
# Format message with the command-r-plus-08-2024 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)
模型详细信息
输入: 模型仅输入文本。
输出: 模型仅生成文本。
模型架构: 这是一个自动回归语言模型,使用优化的转换器架构。 经过预训练后,该模型使用监督微调(SFT)和偏好训练,使模型行为与人类对有用性和安全性的偏好保持一致。 我们使用分组查询关注(GQA)来提高推理速度。
涵盖语言: 该模型已在 23 种语言(英语、法语、西班牙语、意大利语、德语、葡萄牙语、日语、韩语、阿拉伯语、简体中文、俄语、波兰语、土耳其语、越南语、荷兰语、捷克语、印尼语、乌克兰语、罗马尼亚语、希腊语、印地语、希伯来语和波斯语)上进行了训练,并在 10 种语言(英语、法语、西班牙语、意大利语、德语、葡萄牙语、日语、韩语、阿拉伯语和简体中文)上进行了评估。
接地生成和 RAG 功能:R08-2024 指挥系统经过专门培训,具备接地生成功能。 这意味着它可以根据提供的文件片段列表生成响应,并在响应中包含标明信息来源的基础跨度(引文)。 这种行为是通过监督微调和偏好微调混合使用特定的提示模板训练到模型中的。 偏离该提示模板可能会降低性能,但我们鼓励尝试。
R 08-2024 命令的底层生成行为以对话为输入(可选择用户提供的系统前言,说明任务、上下文和所需的输出风格),以及检索到的文档片段列表。 文档片段应该是片段,而不是长文档,通常每个片段大约 100-400 字。 文档片段由键值对组成。
在默认情况下,Command R 08-2024 将通过以下方式生成接地响应:首先预测哪些文档是相关的,然后预测它将引用哪些文档,最后生成答案。 最后,它会在答案中插入接地跨度。 请看下面的示例。 这就是所谓的精确接地生成。
该模型在训练时还采用了其他一些答题模式,可通过更改提示来选择。 标记符号生成器支持快速引用模式,该模式将直接生成包含接地跨度的答案,而无需先将答案全文写出。 这样做会牺牲一些接地的准确性,而有利于生成更少的标记。
代码功能:Command R 08-2024 经过优化,可通过请求代码片段、代码解释或代码重写与您的代码进行交互。 对于纯粹的代码自动补全,它的性能可能不会很好。 为了获得更好的性能,我们还建议对代码生成相关指令使用低温(甚至是贪婪解码)。