본문 바로가기
AI · 인공지능/AI 칼럼

오픈 소스 Sora가 왔습니다! 자신의 Sora 모델을 훈련합시다!

by 두우우부 2024. 4. 29.
반응형

 

 

00: 소개

현재까지, Sora에 가장 가까운 오픈 소스 모델은 Latte로, Sora와 같은 Vision Transformer 아키텍처를 채용하고 있다. 그럼 Vision Transformer의 무엇이 뛰어나는지, 지금까지의 방법과 어떻게 다른가?

Latte는 텍스트에서 동영상으로의 훈련에 관한 코드를 오픈 소스화하지 않았다. 우리는 논문을 읽고 텍스트에서 동영상으로의 훈련 코드를 복제하고 Sora의 대체 모델을 훈련하기 위해 누구나 사용할 수있게했습니다. 우리의 훈련은 어느 정도 효과적이었을까. 상세한 것은 후술한다.

01:3차원 U-Net에서 Vision Transformer로

이미지 생성은 매우 성숙하지만, UNet 모델 구조가 이미지 생성에 가장 많이 사용되고 있다.

2D UNet 아키텍처

U-Net이란, 입력 화상을 우선 압축·축소해, 서서히 복호·확대하는 네트워크 구조로, U의 자형을 하고 있다(※역주1). 초기 동영상 생성 모델은 동영상을 지원하기 위해 U-Net의 구조를 확장했다.

(※역주 1) U-Net은 2015년 5월 독일 프라이부르크 대학의 연구팀에 의해 발표되었다. 이 모델의 논문 에는 그 아키텍처를 해설하는데 다음과 같은 U자의 모식도를 게재하고 있다.

U-Net의 "U 자"아키텍처

이미지에서 동영상으로의 이행은 실제로는 매우 간단하고, 2D의 세로×가로 좌표에 시간차원을 추가하는 것으로 3D로 확장하고 있을 뿐이다.

이미지에서 동영상, 2D에서 3D

초기 동영상 생성 네트워크 구조는 시간 차원을 통합하여 2 차원 UNet을 3 차원 UNet으로 확장 한 것입니다.

이 시간 차원에 Transformer를 통합함으로써 모델은 주어진 시점, 예를 들어 n 프레임에서 이미지가 어떻게 보이는지 학습합니다.

원래 UNet은 프롬프트가 주어지면 하나의 이미지를 생성합니다. 3D UNet은 프롬프트가 주어지면 16 장의 이미지를 생성합니다.

3D UNet 구조의 문제는, Transformer가 UNet 안에서 밖에 기능하지 않고, (동영상의) 전체상을 볼 수 없다는 것에 있다. 이 때문에, 동영상의 연속하는 프레임간의 무결성이 나빠지는 경우가 많아, 모델도 큰 움직임이나 동작에 대해서 충분한 학습 능력이 부족한 것이다.

2D-UNet과 3D-UNet의 네트워크 구조에 대해 아직 혼란스럽다면 그리 복잡하지 않습니다. 네트워크 설계의 뒷면에는 그다지 많은 로직이 있는 것은 아니며, 딥 러닝에서 가장 중요한 일 중 하나를 생각해 주었으면 한다. 그것은 "레이어를 늘릴 뿐이다!"

레이어를 추가하기만 하면

(※역주 2) 이상의 화상은 예측 모델 개선에 있어서 의 통계적 학습과 신경 네트워크의 차이를 아이러니한 풍자화 이다. 이미지 상단은 통계적 학습 강의에서 “제군, 우리 커널의 VC 차원이 너무 높기 때문에 학습자가 너무 범화되고 있다. 사용을 검토한다.”라고 난해한 것을 말한다. 반대로 이미지 아래의 신경망 강의에서는 "더 레이어를 쌓아라"라고만 말하고 있다.

02: Vision Transformer

3D UNet Transformer는 UNet 내부에서만 작동하며 전체 이미지를 볼 수 없습니다. 한편, Vision Transformer는 Transformer가 동영상 생성을 전체적으로 지배할 수 있도록 한다.

Vision Transformer의 모델링 방법은 언어 모델의 그것과 유사하다. (Vision Transformer를 사용하면) 동영상을 직접 시퀀스로 생각할 수 있게 된다. 즉, 언어 모델의 시퀀스 내의 각 데이터 블록은 이미지의 작은 조각이 될 수 있습니다.

언어 모델의 토크 나이저가 (텍스트 시퀀스 내에서) 작동하는 것처럼 비디오는 시퀀스의 토큰으로 인코딩 될 수 있습니다.

일단 시퀀스가 ​​설정되면 Transformer를 직접 적용 할 수 있습니다.

동영상 패치화

수학적으로 Vision Transformer는 매우 간단합니다. 여기에는 언어 모델과 유사한 메커니즘이 적용됩니다. 동영상을 (이미지 조각으로 구성된) 토큰 시퀀스로 변환 한 다음 시퀀스에 여러 계층의 Transformer를 적극적으로 적용합니다.

이 심플한 디자인은 심플하고 총성적인 OpenAI 스타일에 잘 어울립니다.

OpenAI는 실제로 수학적으로 복잡하고 화려한 접근법을 좋아하지 않습니다. 이 회사가 창업해 얼마 지나지 않았을 무렵, 동사 개발의 GPT-2는, T5나 DeBerta와 같은 다양한 화려한 모델과 비교하면, 심플하고 너무 조잡하다고 하는 이유로, 약간 간과되고 있었다.

그러나 비교적 간단하고 조작성이 높은 모델 구조는 실제로 더 많은 양의 학습 데이터에 대해 모델을 안정적으로 확장하는 것을 용이하게합니다. OpenAI는 모델 구조로 승부하는 것이 아니라 데이터(양)로 승부하기로 했다.

그런 이유로 OpenAI는 페타바이트의 데이터와 수만 개의 GPU를 쌓아 올리는 것을 실행한 것이다.

나와 OpenAI의 차이는 수만 개의 GPU를 가지고 있는지 여부뿐입니다.

1000층의 Transformer에 10만개의 GPU를 투입

(※역주3) 이상의 이미지의 대사 부분은 "AI는 간단하다. 1000층의 Transformer에 10만개의 GPU에 투입할 뿐이다. 알았다?"라고 번역할 수 있다.

3D UNet과 비교하면 Vision Transformer는 모션 이미지의 패턴을 학습하는 데 모델을 집중시킨다.

보다 진폭이 큰 움직임과 긴 동영상 길이의 실현은 동영상 생성 모델에 있어서 항상 과제였다. Vision Transformer는 이러한 과제에 대해 능력을 대폭 향상시킨 것이다.

03: 오픈 소스 Sora 대체 모델, Latte 훈련

Latte는, 전술한 동영상 세단 시퀀스와 Vision Transformer의 기법을 채용하고 있다(※역주 4). 이 기술은 Sora에 대해 일반적으로 이해되는 것과 일치합니다.

(※역주 4) Latte는 2024년 1월 5일 중국·상하이 인공지능 연구소 등의 연구팀에 의해 발표되었다. 이 모델의 논문 에서는 텍스트 동영상 생성에 관해서 중국의 CRIPAC 등이 2023년 5월에 발표한 VideoFusion 과 NVIDIA 등의 연구팀이 2023년 4월에 발표한 VideoLDM 과 비교했다. 이러한 비교 결과는 이하의 화상과 같다.

"우주에 떠있는 우주 비행사 정장과 선글라스를 착용 한 개"라는 프롬프트에 관한 VideoFusion과 Latte의 비디오 프레임 이미지


비교 비교

Latte는 텍스트에서 비디오 모델로의 훈련 코드를 오픈 소스화하지 않았습니다. 우리는이 논문의 훈련 코드를 다음 GitHub에서 복제했습니다.
https://github.com/lyogavin/train_your_own_sora
이상을 자유롭게 사용하고 싶습니다.

훈련에는 다음과 같은 세 단계만 필요하다.

  1. 모델을 교육하기 위해 환경을 다운로드하고 설치합니다.
  2. 훈련 동영상을 준비합니다.
  3. 훈련을 수행한다.

(실행 명령은 이하)

./run_img_t2v_train.sh

자세한 내용은 github repo를 참조하십시오.

또한 훈련 과정에도 몇 가지 개선을 추가했다.

  1. 그라디언트 누적 지원을 추가하고 필요한 메모리를 줄였습니다.
  2. 훈련 중 검증 샘플을 추가하고 훈련 과정의 검증에 도움이 되었다.
  3. wandb 지원을 추가했습니다.
  4. 분류기를 사용하지 않는 지침 훈련 지원을 추가했습니다.

04: 모델 성능

우리가 만든 Latte의 복제본에 대한 공식 동영상은 다음과 같습니다.

공식 동영상은 특히 큰 움직임 측면에서 좋은 성능을 보여주는 것처럼 보인다.

또, 독자적인 훈련 데이터로 다양한 모델을 비교해 보았다. Latte는 확실히 좋은 성능을 하고 있지만, 가장 좋은 성능을 하고 있는 모델은 아니다. 더 나은 성능을 가진 오픈 소스 모델도 있습니다.

Latte는 효과적인 네트워크 구조를 채용하고 있지만, 그 규모가 크기 때문에, 유명한 스케일링 법칙 에 의하면, 학습 데이터의 양과 질의 점에서 보다 많은 것을 필요로 한다(※역주 5).

(※역주 5) ​​Latte의 논문에서는, 다른 사이즈를 개발한 데서 비교 실험이 행해졌다. 개발한 사이즈는 S, B, L, XL의 4종류가 있으며, 각각의 사양은 아래 표와 같다. 이 4개의 모델에 대해, 학습 횟수를 늘렸을 경우의 FVD (Fréchet Video Distance:프레셰트 동영상 거리, 동영상 품질의 지표)의 추이를 측정했다. 그 결과, 학습 횟수가 늘어날 때마다, 또한 모델 사이즈가 클수록 FDV가 저하 되는 것을 알 수 있었다(FDV가 작을수록 동영상 품질이 좋다). 이러한 실험에 의해 동영상 생성 모델에서도 스케일링 법칙이 성립 하는 것을 알 수 있다.

4종류의 Latte 모델의 사양


학습 횟수를 늘렸을 경우의 4종류의 Latte에서의 FVD의 추이

동영상 모델의 능력은 사전 학습된 이미지 모델의 성능에 크게 의존한다. 그러므로, Latte가 사용하고 있는 사전 학습 끝난 베이스 화상 모델도 강화할 필요가 있는 것 같다.

앞으로도 보다 성능이 좋은 모델을 소개해 나가기 때문에, 꼭 나의 블로그를 팔로우해 주었으면 한다.

05: 하드웨어 요구사항

Latte의 훈련에는 그 크기가 크기 때문에 80GB 메모리의 A100 또는 H100이 필요하다.

우리는 앞으로도 최신의 가장 멋진 AI 모델 알고리즘과 오픈 소스 기술을 공유할 것입니다.

이 블로그에 댓글을 남겨 팔로우하세요!


원문
『Open-Source SORA Has Arrived! Training Your Own SORA Model!』

Medium
Open-Source SORA Has Arrived! Training Your Own SORA Model!
To date, the open-source model that comes closest to SORA is Latte, which employs the same Vision Transformer architecture as SORA. What…

저자
가빈 리(Gavin Li)

반응형