Home
Login

開源的基於聊天的AI助手,使用人類回饋強化學習訓練,旨在為所有人提供免費的大語言模型訪問

Apache-2.0Python 37.4kLAION-AI Last Updated: 2024-08-17

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 ...

本地訪問:

開發容器支持

項目提供標準化開發環境支持:

  • 本地 VSCode devcontainer
  • GitHub Codespaces 網頁瀏覽器環境
  • 配置文件位於 .devcontainer 文件夾

功能特性

聊天功能

  • 聊天前端已上線,用戶可以登錄並開始聊天
  • 支持對助手響應進行點贊或點踩反饋
  • 實時交互體驗

數據收集

  • 數據收集前端已上線,用戶可以登錄並開始執行任務
  • 通過提交、排名和標記模型提示和響應直接幫助改進 Open Assistant 能力
  • 眾包方式收集高質量數據

推理系統

項目包含完整的推理系統,支持:

  • 本地部署推理服務
  • 消費級硬件運行能力
  • 可擴展的架構設計

開源特性

社區參與

  • 項目由 LAION 和世界各地對將該技術帶給每個人感興趣的個人組織
  • 歡迎開發者貢獻代碼
  • 提供詳細的貢獻指南

項目狀態

重要提醒:OpenAssistant 項目已經完成並結束。雖然項目本身已經結束,但是:

  • 最終數據集 oasst2 在 HuggingFace 上可用
  • 代碼仍然開源可訪問
  • 社區可以繼續基於現有工作進行開發

技術要求

硬件需求

  • 項目願景是製作一個可以在單個高端消費級GPU上運行的大語言模型
  • 支持消費級硬件部署
  • 優化的推理性能

部署選項

  • Docker 容器化部署
  • 本地開發環境
  • 雲端部署支持
  • 推理服務獨立部署

相關資源