模型概述
模型特點
模型能力
使用案例
🚀 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。



