lucidrains/transfusion-pytorch
Pytorch implementation of Transfusion, "Predict the Next Token and Diffuse Images with One Multi-Modal Model", from MetaAI
해결하는 문제
Transfusion-pytorch는 단일 다중 모달 모델이 다음 텍스트 토큰을 예측(자기회귀적)하고, 확산 유사한 과정을 사용하여 이미지나 기타 모달리티를 생성할 수 있도록 해주는 Transfusion 아키텍처의 PyTorch 구현을 제공합니다. 서로 다른 모달리티에 대해 별도의 모델을 사용해야 하는 문제를 해결하며, 이를 하나의 트랜스포머 기반 프레임워크로 통합합니다.
작동 방식
이 프로젝트는 텐서의 타입에 따라 다른 데이터 유형을 처리하는 통합 트랜스포머를 구현합니다: torch.long은 텍스트 토큰용, torch.float는 연속적 모달리티용입니다. 원본 논문의 확산 과정 대신, 생성 품질을 향상시키기 위해 흐름 매칭(flow matching)을 사용합니다. 모델은 이미지와 같은 원시 모달리티 데이터와 트랜스포머가 작동하는 잠재 공간 간의 변환을 처리하기 위해 사용자 정의 인코더와 디코더를 구성할 수 있습니다.
대상 사용자
텍스트와 연속 데이터(예: 이미지, 오디오, 로봇 동작 등)를 하나의 모델 내에서 교차하여 생성해야 하는 연구자 및 개발자.
주요 특징
- 통합 아키텍처: 텍스트의 다음 토큰 예측과 연속 모달리티의 흐름 매칭을 하나의 모델에 통합.
- 다중 모달리티 지원: 이미지에 그치지 않고, 서로 다른 잠재 차원을 가진 임의의 수의 모달리티를 지원.
- 효율적인 샘플링: KV 캐시와 통합 ODE 궤적을 사용하여 병렬 배치 디코딩을 통해 텍스트와 모달리티를 교차하여 생성하는
sample_many포함. - 사용자 정의 가능: 사용자 정의 모달리티 인코더와 디코더의 통합을 지원.
- 유연한 생성: 생성 시작 시 특정 모달리티를 강제하여 텍스트 디코딩을 건너뛸 수 있음.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트