Fine-Tune OpenChat with Ertas

    基於 Mistral 7B 微調的 70 億參數模型,使用條件強化學習微調(C-RLFT)技術,透過創新的混合品質資料訓練方法達到 GPT-3.5 級效能。

    7BOpenChat

    Overview

    OpenChat 3.5 是由 OpenChat 團隊開發的開源語言模型,基於 Mistral 7B 使用名為條件強化學習微調(C-RLFT)的創新訓練方法進行微調。於 2023 年 11 月發布,OpenChat 3.5 是首批在標準化基準測試上達到與 ChatGPT(GPT-3.5 Turbo)相當效能的 7B 模型之一,這對開源語言模型來說是一個重要里程碑。

    OpenChat 背後的關鍵創新是其處理混合品質訓練資料的方法。C-RLFT 不要求所有訓練資料都是高品質的(策劃成本高昂),也不將所有資料同等對待(這會降低品質),而是為不同的資料來源分配品質條件,並訓練模型生成以期望品質等級為條件的回應。在推論時,模型被條件設定為產生最高品質的輸出,有效地學習區分和產生優質回應。

    OpenChat 3.5 使用包括 ShareGPT 對話、開源指令資料集和程式碼資料集在內的資料混合進行訓練。C-RLFT 方法允許模型從所有這些資料中受益——即使是較低品質的範例——同時在使用適當的品質條件提示時仍能生成高品質輸出。

    模型使用 Mistral 7B 的架構,繼承了滑動視窗注意力、分組查詢注意力和 32K token 上下文視窗。以 Apache 2.0 授權發布,可自由用於商業用途。

    Key Features

    條件強化學習微調(C-RLFT)是 OpenChat 的核心方法論貢獻。該技術根據訓練範例的估計品質等級在前面加上品質條件 token。高品質範例(例如 GPT-4 生成的回應)獲得正面品質條件,而較低品質的範例獲得不同的條件。在訓練過程中,模型學習品質條件和回應品質之間的關聯。在推論時,始終使用正面品質條件可促使模型生成其最佳回應。

    這種方法解決了一個實際問題:高品質訓練資料稀缺且昂貴,但大量混合品質資料是readily可用的。C-RLFT 允許模型從所有可用資料中學習而不被較低品質範例污染,有效地增加了有用的訓練資料量而不犧牲輸出品質。

    OpenChat 3.5 在對話和推理基準測試上取得了特別強的效能。在 MT-Bench(多輪對話基準)上,它的得分與 GPT-3.5 具競爭力,顯著高於其他 7B 模型。模型在程式碼任務和數學推理方面也表現良好,受益於訓練混合中包含的程式碼和數學資料。

    Fine-Tuning with Ertas

    OpenChat 3.5 是 Ertas Studio 中微調的出色基礎模型。基於 Mistral 7B 構建,需要相同的適度資源:QLoRA 微調需要 8-10GB VRAM,可在 RTX 3080、RTX 4070 Ti 或搭載 16GB 統一記憶體的 Apple Silicon 等消費級 GPU 上實現。模型已有的高品質對齊意味著需要較少的微調資料即可達到良好效果。

    由於 OpenChat 已被訓練為產生高品質回應,在 Ertas Studio 中的特定領域微調是專業化而非對齊模型。上傳您的領域資料集,選擇 OpenChat 3.5 作為基礎模型,並配置 LoRA 參數。建議設定包括 LoRA rank 16-32、學習率 2e-4 和 2-3 個訓練週期。2,000-10,000 個範例的小型資料集通常能產生強大的結果。

    訓練後,匯出為 GGUF 透過 Ollama 或 llama.cpp 部署。OpenChat 的 7B 大小意味著生成的模型緊湊且快速——在 Q4_K_M 下約 4.4GB——適合在邊緣裝置、筆記型電腦和成本敏感的雲端實例上部署。GPT-3.5 級品質與 7B 級資源需求的結合使微調後的 OpenChat 模型具有卓越的成本效益。

    Use Cases

    OpenChat 作為成本效率重要的通用對話助手表現出色。其在 7B 級資源需求下的 GPT-3.5 級品質使其非常適合以前需要 API 存取專有模型的應用:面向客戶的聊天機器人、內容生成工具、電子郵件和寫作助手以及互動式幫助系統。

    模型特別適合想要部署對話式 AI 而無需持續 API 成本的新創公司和小型企業。透過 Ollama 在本地執行的微調 OpenChat 模型以零邊際成本提供無限推論,品質足以滿足大多數對話應用。

    OpenChat 也作為比較訓練方法的強大基準。C-RLFT 方法適用於其他基礎模型,研究人員在開發新的微調技術時使用 OpenChat 作為參考實作。模型的可重現訓練管線和清晰的文件使其對對齊和微調策略的學術研究很有價值。

    Hardware Requirements

    OpenChat 3.5 與 Mistral 7B 的硬體需求相同。在 Q4_K_M 量化下需要約 4.4GB RAM——可在配備 8GB RAM 的任何機器、配備 6GB 以上 VRAM 的任何 GPU 和搭載 8GB 統一記憶體的 Apple Silicon 上舒適執行。在 Q8_0 下預計約 7.7GB。完整 FP16 需要約 14.5GB VRAM。

    推論效能出色:RTX 4090 上每秒 50-70 個 token,RTX 4070 上每秒 20-35 個 token,M2 Pro 上每秒 15-25 個 token。現代硬體上的 CPU 推論每秒 5-12 個 token,使 OpenChat 在較輕工作負載下無需專用 GPU 也可使用。

    在 Ertas Studio 中使用 QLoRA 進行微調,8-10GB VRAM 即足夠。完整 LoRA 需要 16-18GB。模型的小巧規格使訓練迭代快速——在單張消費級 GPU 上,5,000-10,000 個範例的完整微調執行預計 30-90 分鐘。這種快速週轉支援迭代式開發工作流程,您可以多次改進資料集並重新訓練。

    Supported Quantizations

    Q4_0Q4_K_MQ5_K_MQ6_KQ8_0F16

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.