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를 복제하는 것이 아니라, 다음과 같은 기능을 갖춘 미래의 어시스턴트를 구축하는 것입니다.

  • 이메일 및 자기소개서 작성
  • 의미 있는 작업 수행
  • API 사용
  • 동적으로 정보 연구
  • 개인화 및 확장 지원

기술 방법

핵심 기술 스택

프로젝트의 주요 목표는 질문에 답변할 수 있는 챗봇을 보유하는 것이며, 대규모 언어 모델(LLM)을 적용하여 명령을 더 잘 따르도록 합니다. 이를 위해 프로젝트는 InstructGPT 논문에서 제시된 방법, 즉 인간 피드백 강화 학습(RLHF)을 사용합니다.

3단계 훈련 방법

프로젝트는 InstructGPT paper에 설명된 3단계 방법을 따릅니다.

1단계: 데이터 수집

  • 고품질의 인간이 생성한 명령어-완료 샘플(프롬프트+응답) 수집
  • 목표: 50,000개 이상의 샘플
  • 크라우드소싱 프로세스를 설계하여 프롬프트 수집 및 검토
  • 훈련 플러드 공격/유해/쓰레기/개인 정보 데이터 방지
  • 순위표를 통해 커뮤니티를 장려하고 진행 상황 및 가장 활발한 사용자 표시

2단계: 순위 수집

  • 수집된 각 프롬프트에 대해 여러 번 완료 샘플링
  • 사용자에게 프롬프트의 완료 결과를 무작위로 표시하여 순위 매기기 (최고에서 최악으로)
  • 신뢰할 수 없거나 악의적인 사용자를 크라우드소싱 방식으로 처리
  • 여러 독립적인 사용자의 투표를 수집하여 전체 일관성 측정
  • 수집된 순위 데이터를 사용하여 보상 모델 훈련

3단계: 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 컨테이너화 배포
  • 로컬 개발 환경
  • 클라우드 배포 지원
  • 추론 서비스 독립 배포

관련 자료