!원문 캡처 · gilesthomas.com

Giles Thomas는 GPT-2 스타일 모델에서 입력 임베딩과 출력 헤드의 어휘 행렬을 저랭크 행렬로 바꾸는 실험을 했다. 입력 임베딩에만 적용한 두 실험에서는 테스트 손실이 기준 모델보다 낮았지만, 차이는 두 개의 시드에서만 관찰됐고 한 실험의 개선 폭은 잡음 범위일 수 있다.

저랭크 분해는 큰 행렬 하나를 더 작은 행렬 두 개의 곱으로 대체하는 방식이다. 이번 글에서 Thomas는 이를 LoRE(저랭크 임베딩)라고 부른다. GPT-2 small 크기의 모델에서 어휘 크기 50,257, 임베딩 차원 768, 저랭크 폭 128을 사용했다. 기준 모델은 약 1억 6,301만 개의 매개변수를 가졌고, 입력 임베딩에만 LoRE를 적용한 모델은 약 1억 3,094만 개, 입력과 출력 양쪽에 적용한 모델은 약 9,888만 개를 가졌다.

실험에서 관찰된 점

입력 임베딩에만 LoRE를 적용한 모델의 테스트 손실은 시드 42에서 3.526610으로, 기준 모델의 3.599611보다 0.073 낮았다. 다른 시드 123에서도 3.584511로 기준 모델의 3.597584보다 0.013 낮았다. 다만 Thomas는 이전 실험에서 초기화 시드에 따라 손실이 최대 약 0.017 차이 났다며, 두 번째 결과는 잡음에 포함될 수 있다고 설명한다.

출력 헤드에만 LoRE를 적용한 세 실험에서는 테스트 손실이 기준 모델보다 0.115~0.186 높았다. 입력과 출력 양쪽에 적용한 결과는 대체로 입력만 적용했을 때의 개선과 출력만 적용했을 때의 악화가 합쳐진 값에 가까웠지만, 항상 정확히 더해지는 것은 아니었다.

LoRE 적용으로 학습 시간도 줄었다. 두 행렬에 모두 적용한 실험은 기준 모델보다 매개변수가 약 39% 적었고, 기록된 학습 시간은 약 14% 짧았다. 반면 입력 임베딩은 실제 계산에서 주로 조회 방식으로 처리돼, 입력 쪽만 줄였을 때 계산 시간 절감은 작았다. 이 수치는 작성자의 GPT-2 스타일 모델과 실험 조건에 한정된다.

초기화와 적용 한계

실험 중 Thomas는 출력 헤드의 저랭크 행렬 초기화 위치를 처음에 잘못 해석했다가 수정했다. 수정한 초기화는 수학적으로 더 적절하다고 판단했지만, 시드 42로만 시험한 결과에서는 기존의 잘못된 초기화보다 테스트 손실이 높았다. 따라서 이 비교도 일반적인 결론으로 보기 어렵다.

실험은 자체 GPT-2 스타일 모델에서 두 개의 시드로 진행됐다. 모델 구조와 학습 조건도 제한적이며, 학습 토큰 수를 늘리거나 저장한 매개변수를 더 깊거나 넓은 모델에 재투자했을 때의 효과는 검증하지 않았다. Thomas는 더 많은 시드와 학습 길이, 다른 모델 구조를 시험해야 한다고 강조한다. 따라서 입력 임베딩만 줄이면 손실이 개선된다고 단정하기보다, 어휘 행렬이 전체 매개변수에서 큰 비중을 차지하는 모델에서 추가 검증할 아이디어로 볼 수 있다.

실험 설정과 결과는 Giles Thomas의 원문과 실험 코드 저장소에서 확인할 수 있다. 저랭크 임베딩을 제안한 Andrew Thompson의 관련 논의도 참고할 수 있다.