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 容器化部署
  • 本地开发环境
  • 云端部署支持
  • 推理服务独立部署

相关资源