kyegomez/Gemini

The open source implementation of Gemini, the model that will "eclipse ChatGPT" by Google

해결하는 문제

이 프로젝트는 Google의 Gemini를 영감으로 삼은 멀티모달 트랜스포머 모델의 오픈소스 구현을 제공합니다. 각각의 입력 모달리티(텍스트, 이미지, 오디오)를 별도의 인코더에 의존하지 않고, 단일 트랜스포머 아키텍처 내에서 처리하고 생성할 수 있는 시스템을 구축하는 것을 목표로 합니다.

작동 방식

모델은 텍스트, 오디오, 이미지, 비디오를 입력 시퀀스로 받아 토큰으로 변환합니다. 전통적인 시각 트랜스포머(ViT)와 달리, 이 구현은 이미지 임베딩을 직접 트랜스포머에 입력합니다. 입력 유형을 구분하기 위해 [IMG] 또는 [AUDIO]와 같은 특수 모달리티 토큰을 사용합니다. 아키텍처는 Flash Attention, QK norm, 그리고 회전 위치 임베딩(RoPE)과 같은 여러 최적화 기법을 포함하며, LongGemini 버전은 확장된 컨텍스트를 위해 링 어텐션(Ring Attention)을 사용합니다.

대상 사용자

텍스트, 이미지, 오디오 데이터를 혼합하여 처리할 수 있는 네이티브 멀티모달 AI 모델을 구축하거나 훈련하고자 하는 개발자 및 연구자.

주요 특징

  • 네이티브 멀티모달리티: 하나의 트랜스포머 내에서 텍스트, 이미지, 오디오를 동시에 처리.
  • 최적화된 성능: Flash Attention, QK norm, KV 캐싱을 구현하여 효율적인 추론을 제공.
  • 확장된 컨텍스트: 링 어텐션을 사용한 LongGemini 구현 포함.
  • 사용자 정의 토크나이저: Llama 토크나이저를 기반으로 하며, 모달리티별 토큰을 추가한 MultimodalSentencePieceTokenizer 제공.

관련

  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch