Open Assistant 項目詳細介紹
項目概述
Open Assistant 是由 LAION-AI 組織開發的開源聊天AI助手項目。該項目旨在為每個人提供優秀的基於聊天的大語言模型訪問權限,通過開源的方式創造語言技術的革新。
⚠️ 重要通知: OpenAssistant 項目已經完成,項目現已結束。最終發布的數據集可以在 HuggingFace 的 OpenAssistant/oasst2 找到。
項目願景
Open Assistant 相信通過開源協作可以在語言技術領域創造革命,就像 Stable Diffusion 幫助世界以新的方式創造藝術和圖像一樣。項目的最終目標不僅僅是複製 ChatGPT,而是要構建未來的助手,能夠:
- 撰寫郵件和求職信
- 執行有意義的工作
- 使用 APIs
- 動態研究信息
- 支持個性化和擴展
技術方法
核心技術棧
項目的主要目標是擁有一個能夠回答問題的聊天機器人,通過適配大語言模型(LLM)來更好地遵循指令。為此,項目使用了 InstructGPT 論文提出的方法,該方法基於人類反饋強化學習(RLHF)。
三步訓練方法
項目遵循 InstructGPT paper 中概述的三步方法:
第一步:數據收集
- 收集高質量的人類生成的指令-完成樣本(提示+響應)
- 目標:超過50,000個樣本
- 設計眾包流程來收集和審查提示
- 避免訓練洪水攻擊/有毒/垃圾/個人信息數據
- 通過排行榜激勵社區,展示進度和最活躍用戶
第二步:排名收集
- 對每個收集的提示進行多次完成採樣
- 隨機向用戶展示提示的完成結果進行排名(從最佳到最差)
- 眾包方式處理不可靠或惡意用戶
- 收集多個獨立用戶的投票來測量整體一致性
- 使用收集的排名數據訓練獎勵模型
第三步:RLHF訓練
- 基於提示和獎勵模型進行人類反饋強化學習訓練階段
- 可以使用結果模型繼續完成採樣步驟進行下一次迭代
項目架構
開發環境設置
項目支持完整的 Docker 棧部署,包括網站、後端和相關依賴服務。
基本啟動命令:
docker compose --profile ci up --build --attach-dependencies
MacOS M1 芯片用戶需要使用:
DB_PLATFORM=linux/x86_64 docker compose ...
本地訪問:
- 主網站:http://localhost:3000
- 郵件登錄鏈接:http://localhost:1080
開發容器支持
項目提供標準化開發環境支持:
- 本地 VSCode devcontainer
- GitHub Codespaces 網頁瀏覽器環境
- 配置文件位於
.devcontainer文件夾
功能特性
聊天功能
- 聊天前端已上線,用戶可以登錄並開始聊天
- 支持對助手響應進行點贊或點踩反饋
- 實時交互體驗
數據收集
- 數據收集前端已上線,用戶可以登錄並開始執行任務
- 通過提交、排名和標記模型提示和響應直接幫助改進 Open Assistant 能力
- 眾包方式收集高質量數據
推理系統
項目包含完整的推理系統,支持:
- 本地部署推理服務
- 消費級硬件運行能力
- 可擴展的架構設計
開源特性
社區參與
- 項目由 LAION 和世界各地對將該技術帶給每個人感興趣的個人組織
- 歡迎開發者貢獻代碼
- 提供詳細的貢獻指南
項目狀態
重要提醒:OpenAssistant 項目已經完成並結束。雖然項目本身已經結束,但是:
- 最終數據集 oasst2 在 HuggingFace 上可用
- 代碼仍然開源可訪問
- 社區可以繼續基於現有工作進行開發
技術要求
硬件需求
- 項目願景是製作一個可以在單個高端消費級GPU上運行的大語言模型
- 支持消費級硬件部署
- 優化的推理性能
部署選項
- Docker 容器化部署
- 本地開發環境
- 雲端部署支持
- 推理服務獨立部署
相關資源
- GitHub 倉庫: https://github.com/LAION-AI/Open-Assistant
- 數據集: HuggingFace OpenAssistant/oasst2
- 官方網站: https://open-assistant.io/
- 項目文檔: https://projects.laion.ai/Open-Assistant/
- 聊天界面: https://open-assistant.io/chat