模型简介
模型特点
模型能力
使用案例
🚀 C4AI Command R+ FP8
本项目由FriendliAI将c4ai-command-r-plus模型量化为FP8,在保持高精度的同时显著提高了推理效率。该模型支持多种语言,为多语言文本生成提供了强大的解决方案。
🚀 快速开始
前提条件
- 在开始之前,请确保您已经注册了 Friendli Suite。您可以免费使用Friendli容器四周。
- 按照 此指南 准备个人访问令牌。
- 按照 此指南 准备Friendli容器密钥。
- 使用
pip install -U "huggingface_hub[cli]"
安装Hugging Face CLI。
准备个人访问令牌
个人访问令牌(PAT)是用于登录我们的容器注册表的用户凭证。
- 登录 Friendli Suite。
- 转到 用户设置 > 令牌 并点击 '创建新令牌'。
- 保存您创建的令牌值。
拉取Friendli容器镜像
- 使用按照 此指南 创建的个人访问令牌登录到Docker客户端。
export FRIENDLI_PAT="YOUR PAT"
docker login registry.friendli.ai -u $YOUR_EMAIL -p $FRIENDLI_PAT
- 拉取镜像
docker pull registry.friendli.ai/trial
运行Friendli容器
准备好Friendli容器镜像后,您可以启动它以创建服务端点。
docker run \
--gpus '"device=0,1,2,3"' \
-p 8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
-e FRIENDLI_CONTAINER_SECRET="YOUR CONTAINER SECRET" \
registry.friendli.ai/trial \
--web-server-port 8000 \
--hf-model-name FriendliAI/c4ai-command-r-plus-fp8 \
--num-devices 4 # 使用张量并行度4
✨ 主要特性
- 高效推理:通过量化为FP8,显著提高了推理效率,同时保持高精度。
- 多语言支持:支持英语、法语、德语、西班牙语、意大利语、葡萄牙语、日语、韩语、中文和阿拉伯语等多种语言。
- 先进功能:具备检索增强生成(RAG)和工具使用能力,可自动化复杂任务。
- 长上下文支持:支持128K的上下文长度。
📦 安装指南
安装依赖
请从包含此模型必要更改的源仓库安装 transformers
。
# pip install 'git+https://github.com/huggingface/transformers.git'
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "CohereForAI/c4ai-command-r-plus"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
量化模型安装(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 = "CohereForAI/c4ai-command-r-plus"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, quantization_config=bnb_config)
💻 使用示例
基础用法
# pip install 'git+https://github.com/huggingface/transformers.git'
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "CohereForAI/c4ai-command-r-plus"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
# 使用command-r-plus聊天模板格式化消息
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)
高级用法(量化模型,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 = "CohereForAI/c4ai-command-r-plus"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, quantization_config=bnb_config)
# 使用command-r-plus聊天模板格式化消息
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)
📚 详细文档
模型概述
C4AI Command R+ 是一个拥有1040亿参数的模型的开放权重研究版本,具有高度先进的能力,包括检索增强生成(RAG)和工具使用,可自动化复杂任务。该模型支持多步工具使用,允许模型在多个步骤中组合多个工具以完成困难任务。C4AI Command R+ 是一个多语言模型,在10种语言中进行了性能评估:英语、法语、西班牙语、意大利语、德语、巴西葡萄牙语、日语、韩语、阿拉伯语和简体中文。Command R+ 针对各种用例进行了优化,包括推理、摘要和问答。
模型详情
属性 | 详情 |
---|---|
模型类型 | 自回归语言模型,使用优化的Transformer架构 |
训练数据 | 预训练数据包含英语、法语、西班牙语、意大利语、德语、巴西葡萄牙语、日语、韩语、简体中文、阿拉伯语等10种语言,以及俄语、波兰语、土耳其语等13种其他语言 |
上下文长度 | 128K |
评估结果
Command R+ 已提交至 Open LLM排行榜。以下是评估结果,以及与当前Hugging Face上可用的最强开源权重模型的直接比较。
模型 | 平均得分 | Arc (挑战) | Hella Swag | MMLU | Truthful QA | Winogrande | GSM8k |
---|---|---|---|---|---|---|---|
CohereForAI/c4ai-command-r-plus | 74.6 | 70.99 | 88.6 | 75.7 | 56.3 | 85.4 | 70.7 |
DBRX Instruct | 74.5 | 68.9 | 89 | 73.7 | 66.9 | 81.8 | 66.9 |
Mixtral 8x7B-Instruct | 72.7 | 70.1 | 87.6 | 71.4 | 65 | 81.1 | 61.1 |
Mixtral 8x7B Chat | 72.6 | 70.2 | 87.6 | 71.2 | 64.6 | 81.4 | 60.7 |
CohereForAI/c4ai-command-r-v01 | 68.5 | 65.5 | 87 | 68.2 | 52.3 | 81.5 | 56.6 |
Llama 2 70B | 67.9 | 67.3 | 87.3 | 69.8 | 44.9 | 83.7 | 54.1 |
Yi-34B-Chat | 65.3 | 65.4 | 84.2 | 74.9 | 55.4 | 80.1 | 31.9 |
Gemma-7B | 63.8 | 61.1 | 82.2 | 64.6 | 44.8 | 79 | 50.9 |
LLama 2 70B Chat | 62.4 | 64.6 | 85.9 | 63.9 | 52.8 | 80.5 | 26.7 |
Mistral-7B-v0.1 | 61 | 60 | 83.3 | 64.2 | 42.2 | 78.4 | 37.8 |
工具使用和多跳能力
Command R+ 经过专门训练,具备对话式工具使用能力。这些能力通过监督微调和平偏好微调的混合方式,使用特定的提示模板进行训练。偏离此提示模板可能会降低性能,但我们鼓励进行实验。
Command R+ 的工具使用功能将对话作为输入(可选的用户系统前言),以及可用工具列表。然后,模型将生成一个JSON格式的操作列表,以在这些工具的子集上执行。Command R+ 可能会多次使用其提供的工具之一。
该模型经过训练,能够识别特殊的 directly_answer
工具,用于表示它不想使用其他任何工具。在各种情况下,如问候用户或询问澄清问题时,不调用特定工具的能力可能会很有用。
我们建议包含 directly_answer
工具,但如果需要,可以删除或重命名。
有关使用Command R+ 的工具使用提示模板的详细文档,请参阅 此处。
基于文档生成和RAG能力
Command R+ 经过专门训练,具备基于文档生成的能力。这意味着它可以根据提供的文档片段列表生成响应,并在响应中包含引用范围(引用),指示信息的来源。这可用于实现基于文档的摘要和检索增强生成(RAG)的最后一步等行为。这种行为通过监督微调和平偏好微调的混合方式,使用特定的提示模板进行训练。偏离此提示模板可能会降低性能,但我们鼓励进行实验。
Command R+ 的基于文档生成行为将对话作为输入(可选的用户提供的系统前言,指示任务、上下文和所需的输出风格),以及检索到的文档片段列表。文档片段应该是小块,而不是长文档,通常每个块约100 - 400个单词。文档片段由键值对组成。键应该是简短的描述性字符串,值可以是文本或半结构化的。
默认情况下,Command R+ 将通过首先预测哪些文档相关,然后预测它将引用哪些文档,然后生成答案,最后在答案中插入引用范围来生成基于文档的响应。这称为 accurate
基于文档生成。
该模型还支持其他几种回答模式,可以通过更改提示来选择。分词器支持 fast
引用模式,该模式将直接生成包含引用范围的答案,而无需先完整写出答案。这牺牲了一些引用准确性,以换取生成更少的令牌。
有关使用Command R+ 的基于文档生成提示模板的详细文档,请参阅 此处。
代码能力
Command R+ 经过优化,可与您的代码进行交互,通过请求代码片段、代码解释或代码重写。对于纯代码完成,它可能无法立即表现出色。为了获得更好的性能,我们还建议在与代码生成相关的指令中使用较低的温度(甚至贪婪解码)。
🔧 技术细节
模型架构
C4AI Command R+ 是一个自回归语言模型,使用优化的Transformer架构。预训练后,该模型使用监督微调(SFT)和偏好训练,使模型行为与人类对有用性和安全性的偏好保持一致。
量化技术
FriendliAI将c4ai-command-r-plus模型量化为FP8,显著提高了推理效率。请注意,FP8仅受NVIDIA Ada、Hopper和Blackwell GPU架构支持。
📄 许可证
本模型受 CC-BY-NC 许可证约束,并附有可接受使用附录,同时需要遵守 C4AI的可接受使用政策。
模型试用
您可以在 此处 的游乐场中试用Command R+ 聊天。您也可以在我们的专用Hugging Face空间 此处 中使用它。
模型卡联系方式
如果您对本模型卡中的细节有错误或额外问题,请联系 info@for.ai。



