模型概述
模型特點
模型能力
使用案例
🚀 OPENCHAT
OPENCHAT 是一個基於混合質量數據推進的開源語言模型,在多個基準測試中表現優異,具備多種模式和新特性,能為用戶提供高效的文本生成服務。
🚀 快速開始
要使用此模型,強烈建議按照我們倉庫中的安裝指南安裝 OpenChat 包,並通過運行以下表格中的服務命令來使用與 OpenAI 兼容的 OpenChat API 服務器。該服務器使用 vLLM 進行了高吞吐量部署優化,可在具有 24GB 內存的消費級 GPU 上運行。若要啟用張量並行,可在服務命令後追加 --tensor-parallel-size N
。
服務器啟動後,會在 localhost:18888
監聽請求,並且與 OpenAI ChatCompletion API 規範兼容。請參考以下示例請求。此外,你還可以使用 OpenChat Web UI 獲得更友好的用戶體驗。
如果你想將服務器部署為在線服務,可以使用 --api-keys sk-KEY1 sk-KEY2 ...
指定允許的 API 密鑰,並使用 --disable-log-requests --disable-log-stats --log-file openchat.log
僅將日誌記錄到文件中。出於安全考慮,建議在服務器前使用 HTTPS 網關。
模型 | 規模 | 上下文長度 | 權重 | 服務命令 |
---|---|---|---|---|
OpenChat-3.5-0106 | 7B | 8192 | Huggingface | python -m ochat.serving.openai_api_server --model openchat/openchat-3.5-0106 --engine-use-ray --worker-use-ray |
示例請求(點擊展開)
💡 默認模式(GPT4 校正):最適合編碼、聊天和常規任務
curl http://localhost:18888/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "openchat_3.5",
"messages": [{"role": "user", "content": "You are a large language model named OpenChat. Write a poem to describe yourself"}]
}'
🧮 數學推理模式:專為解決數學問題而設計
curl http://localhost:18888/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "openchat_3.5",
"condition": "Math Correct",
"messages": [{"role": "user", "content": "10.3 − 7988.8133 = "}]
}'
對話模板
💡 默認模式(GPT4 校正):最適合編碼、聊天和常規任務
GPT4 Correct User: Hello<|end_of_turn|>GPT4 Correct Assistant: Hi<|end_of_turn|>GPT4 Correct User: How are you today?<|end_of_turn|>GPT4 Correct Assistant:
🧮 數學推理模式:專為解決數學問題而設計
Math Correct User: 10.3 − 7988.8133=<|end_of_turn|>Math Correct Assistant:
⚠️ 注意:請記得將 <|end_of_turn|>
設置為生成結束標記。
默認(GPT4 校正)模板也可以作為集成的 tokenizer.chat_template
使用,這樣就無需手動指定模板:
messages = [
{"role": "user", "content": "Hello"},
{"role": "assistant", "content": "Hi"},
{"role": "user", "content": "How are you today?"}
]
tokens = tokenizer.apply_chat_template(messages, add_generation_prompt=True)
assert tokens == [1, 420, 6316, 28781, 3198, 3123, 1247, 28747, 22557, 32000, 420, 6316, 28781, 3198, 3123, 21631, 28747, 15359, 32000, 420, 6316, 28781, 3198, 3123, 1247, 28747, 1602, 460, 368, 3154, 28804, 32000, 420, 6316, 28781, 3198, 3123, 21631, 28747]
✨ 主要特性
(實驗性)評估器/反饋功能
本次版本包含了評估器功能,旨在推動開源模型作為評估器的發展。你可以使用 默認模式(GPT4 校正)
和以下提示(與 Prometheus 相同)來評估響應。
###任務描述:
給定一個指令(可能包含輸入)、一個待評估的響應、一個得分為 5 的參考答案以及一個代表評估標準的評分規則。
1. 嚴格根據給定的評分規則,撰寫一份詳細的反饋,評估響應的質量,而非進行一般性評估。
2. 撰寫反饋後,給出一個 1 到 5 之間的整數分數。請參考評分規則。
3. 輸出格式應如下所示:"反饋: (針對標準撰寫的反饋) [結果] (1 到 5 之間的整數)"
4. 請不要生成任何其他開頭、結尾和解釋內容。
###待評估的指令:
{orig_instruction}
###待評估的響應:
{orig_response}
###參考答案(得分 5):
{orig_reference_answer}
###評分規則:
[{orig_criteria}]
得分 1: {orig_score1_description}
得分 2: {orig_score2_description}
得分 3: {orig_score3_description}
得分 4: {orig_score4_description}
得分 5: {orig_score5_description}
###反饋:
📚 詳細文檔
基準測試
模型 | 參數數量 | 平均分 | MT-Bench | HumanEval | BBH 多項選擇 | AGIEval | TruthfulQA | MMLU | GSM8K | BBH 思維鏈 |
---|---|---|---|---|---|---|---|---|---|---|
OpenChat-3.5-0106 | 7B | 64.5 | 7.8 | 71.3 | 51.5 | 49.1 | 61.0 | 65.8 | 77.4 | 62.2 |
OpenChat-3.5-1210 | 7B | 63.8 | 7.76 | 68.9 | 49.5 | 48.0 | 61.8 | 65.3 | 77.3 | 61.8 |
OpenChat-3.5 | 7B | 61.6 | 7.81 | 55.5 | 47.6 | 47.4 | 59.1 | 64.3 | 77.3 | 63.5 |
ChatGPT (March)* | ???B | 61.5 | 7.94 | 48.1 | 47.6 | 47.1 | 57.7 | 67.3 | 74.9 | 70.1 |
OpenHermes 2.5 | 7B | 59.3 | 7.54 | 48.2 | 49.4 | 46.5 | 57.5 | 63.8 | 73.5 | 59.9 |
OpenOrca Mistral | 7B | 52.7 | 6.86 | 38.4 | 49.4 | 42.9 | 45.9 | 59.3 | 59.1 | 58.1 |
Zephyr-β^ | 7B | 34.6 | 7.34 | 22.0 | 40.6 | 39.0 | 40.8 | 39.8 | 5.1 | 16.0 |
Mistral | 7B | - | 6.84 | 30.5 | 39.0 | 38.0 | - | 60.1 | 52.2 | - |
評估詳情(點擊展開)
*: ChatGPT (March) 的結果來自 GPT-4 技術報告、思維鏈中心和我們的評估。請注意,ChatGPT 不是一個固定的基準,會隨著時間快速發展。
^: Zephyr-β 通常無法遵循少樣本思維鏈指令,可能是因為它僅使用聊天數據進行對齊,而未在少樣本數據上進行訓練。
**: Mistral 和開源最優結果取自指令微調模型論文和官方倉庫中報告的結果。
所有模型均在聊天模式下進行評估(例如,應用各自的對話模板)。所有零樣本基準測試遵循與 AGIEval 論文和 Orca 論文相同的設置。思維鏈任務使用與思維鏈中心相同的配置,HumanEval 使用 EvalPlus 進行評估,MT-bench 使用 FastChat 運行。若要復現我們的結果,請遵循 我們的倉庫 中的說明。
HumanEval+
模型 | 規模 | HumanEval+ 通過率@1 |
---|---|---|
OpenChat-3.5-0106 | 7B | 65.9 |
ChatGPT (2023 年 12 月 12 日) | ???B | 64.6 |
WizardCoder-Python-34B-V1.0 | 34B | 64.6 |
OpenChat 3.5 1210 | 7B | 63.4 |
OpenHermes 2.5 | 7B | 41.5 |
OpenChat-3.5 與 Grok 對比
🔥 OpenChat-3.5-0106 (7B) 現在在 所有 4 項基準測試 中均優於 Grok-0 (33B),在平均分和 3/4 項基準測試 中優於 Grok-1 (???B)。
許可證 | 參數數量 | 平均分 | MMLU | HumanEval | MATH | GSM8k | |
---|---|---|---|---|---|---|---|
OpenChat-3.5-0106 | Apache-2.0 | 7B | 61.0 | 65.8 | 71.3 | 29.3 | 77.4 |
OpenChat-3.5-1210 | Apache-2.0 | 7B | 60.1 | 65.3 | 68.9 | 28.9 | 77.3 |
OpenChat-3.5 | Apache-2.0 | 7B | 56.4 | 64.3 | 55.5 | 28.6 | 77.3 |
Grok-0 | 專有許可證 | 33B | 44.5 | 65.7 | 39.7 | 15.7 | 56.8 |
Grok-1 | 專有許可證 | ???B | 55.8 | 73 | 63.2 | 23.9 | 62.9 |
*: Grok 的結果由 X.AI 報告。
🔧 技術細節
侷限性
基礎模型侷限性
儘管 OpenChat 具有先進的能力,但仍然受到其基礎模型固有侷限性的約束。這些侷限性可能會影響模型在以下領域的性能:
- 複雜推理
- 數學和算術任務
- 編程和編碼挑戰
生成不存在信息(幻覺)
OpenChat 有時可能會生成不存在或不準確的信息,即所謂的“幻覺”。用戶應意識到這種可能性,並對從模型獲得的任何關鍵信息進行驗證。
安全性
OpenChat 有時可能會生成有害、仇恨言論、有偏見的響應,或回答不安全的問題。在需要安全和經過審核的響應的用例中,應用額外的 AI 安全措施至關重要。
📄 許可證
我們的 OpenChat 3.5 代碼和模型遵循 Apache 許可證 2.0 進行分發。
📚 引用
@article{wang2023openchat,
title={OpenChat: Advancing Open-source Language Models with Mixed-Quality Data},
author={Wang, Guan and Cheng, Sijie and Zhan, Xianyuan and Li, Xiangang and Song, Sen and Liu, Yang},
journal={arXiv preprint arXiv:2309.11235},
year={2023}
}
💌 聯繫我們
我們期待聽到你的聲音,並希望在這個令人興奮的項目上進行合作!
項目負責人:
- 王觀 [imonenext at gmail dot com]
- Alpay Ariyak [aariyak at wpi dot edu]



