- σ-GPT는 데이터의 입력 순서와 자기회귀 생성 순서를 분리해, Transformer가 시퀀스를 임의로 섞인 순서로도 학습·생성할 수 있게 함
- 기존 자기회귀 모델은 텍스트의 왼쪽-오른쪽 순서나 이미지의 래스터 스캔 순서처럼 자연스러운 배열을 따르는 경우가 많지만, 두 순서가 반드시 같을 필요는 없음
- 샘플마다 임의의 셔플 순서 σ를 즉석에서 고르고, 입력·출력 순서에 대응하는 두 위치 인코딩을 붙여 자기회귀 과정을 일관되게 유지함
- 생성 중 어느 시점에서도 남은 토큰의 조건부 분포를 추정할 수 있어, 임의 위치 샘플링·임의 조건부 생성·인필링·버스트 샘플링으로 확장됨
- 커리큘럼 학습을 함께 쓰면 왼쪽-오른쪽 자기회귀 모델과 유사한 성능에 도달할 수 있고, 토큰 기반 거절 샘플링으로 여러 토큰을 버스트 단위로 생성할 수 있음
입력 순서와 생성 순서의 분리
- Transformer는 여러 모달리티에서 강한 자기회귀 성능을 보여 왔음
- 전통적인 자기회귀 방식은 데이터의 자연스러운 순서를 따름
- 텍스트는 보통 왼쪽에서 오른쪽으로 처리함
- 비전에서는 이미지를 래스터 스캔 순서로 펼쳐 얻은 시퀀스를 Transformer로 모델링함
- σ-GPT는 데이터의 입력 순서와 자기회귀 순서를 구분함
- 대부분의 응용에서는 두 순서가 정렬되어 있지만, 반드시 같을 필요는 없음
- 시퀀스를 임의로 섞은 순서로 학습하고 생성하는 방식을 탐구함
- 시퀀스 순서를 바꾸면 학습은 더 어려워지지만, 모델이 임의 위치 조건부 생성 같은 새로운 성질을 갖게 됨
σ-GPT 구조와 동작
- σ-GPT는 각 샘플마다 임의의 셔플 순서 σ를 즉석에서 선택할 수 있음
- 선택된 σ는 입력 순서
0, σ(1), σ(2), ...와 출력 순서σ(1), σ(2), σ(3), ...를 만듦- 입력에는 토큰 수를 일관되게 맞추기 위해 먼저
0패딩이 붙음 - 토큰은 해당 순서에 맞춰 섞임
- 입력에는 토큰 수를 일관되게 맞추기 위해 먼저
- 모델 입력에는 두 개의 위치 인코딩이 연결됨
- 하나는 입력 순서에 대응함
- 다른 하나는 출력 순서에 대응함
- 출력은 마지막에 실제 순서로 다시 되돌려짐
- 코드 공개: https://github.com/idiap/sigma-gpt
표준 GPT·확산 모델과의 비교
- σ-GPT는 표준 causal transformer encoder인 GPT 및 확산 모델과 비교됨
- 지원 기능은 다음과 같음
- 시퀀스의 임의 위치에서 토큰 샘플링
- 부분적으로 샘플링된 시퀀스에 따른 남은 밀도 모델링
- 임의 조건부 생성
- 인필링
- 여러 토큰을 한 번에 생성하는 버스트 샘플링
- 교차 엔트로피 기반 로그우도 학습
- 표준 GPT는 임의 조건부 생성과 로그우도 학습은 가능하지만, 임의 위치 샘플링·조건부 밀도 추정·인필링·버스트 샘플링은 지원하지 않는 것으로 비교됨
- 확산 모델은 버스트 샘플링을 지원하지만, 로그우도 학습은 지원하지 않는 것으로 비교됨
생성 중 조건부 분포와 거절 샘플링
- 표준 자기회귀 순서에서 벗어나면 모델은 특정 순서에 따라 토큰을 예측할 수 있음
- 이 방식에서는 생성 중 어느 시점에서도 남은 토큰의 조건부 분포를 예측할 수 있음
- 조건부 분포 추정은 특정 시점에서 가능한 생성 결과를 정량화하는 데 활용됨
- 이를 거절 샘플링에 적용하면 동적인 단계 수로 시퀀스를 버스트 단위 생성할 수 있음
평가 작업과 기여
- σ-GPT는 셔플 자기회귀를 도입하고, 커리큘럼 방법과 결합해 기반 모델 성능을 높일 수 있는지 평가함
- 평가 대상은 세 가지 주요 작업임
- 열린 텍스트 생성
- 경로 해결
- 항공기 수직 속도 예측
- 기여는 네 가지로 정리됨
- 입력 순서와 출력 순서에 각각 대응하는 두 위치 인코딩을 가진 σ-GPT 아키텍처 도입
- 커리큘럼 학습을 쓰면 왼쪽-오른쪽 자기회귀 모델과 유사한 성능에 도달할 수 있음을 보임
- 임의 순서 샘플 생성을 통해 시퀀스의 어느 부분에 대해서도 조건부 생성이 가능함을 보임
- 버스트 단위 샘플 생성을 위한 토큰 기반 거절 샘플링 방식 도입