AI VIDEO BRIEFING
GPU 활용률 끌어올리는 스케줄링: 서울대 서지원 교수의 딥러닝 학습·LLM 추론 최적화 강연
서울대 AI 콜로퀴움에서 서지원 교수가 딥러닝 학습과 LLM 추론의 GPU 저활용 문제를 해부했다. 역전파 순서를 바꾸는 아웃오브오더 백프롭과, 토큰 지연시간 제약을 지키며 처리량을 최대화하는 추론 스케줄링을 소개한다.

핵심 메시지
쉽게 이해하기
서울대학교 AI연구원 콜로퀴움에서 서지원 교수가 머신러닝 학습과 대형 언어 모델 추론의 시스템 최적화를 주제로 강연했다. 발표자는 서울대 첨단융합학부와 전기정보공학부에 소속돼 있으며, 연구실에서는 머신러닝 시스템과 빅데이터 시스템을 함께 다룬다. 이날 다룬 두 축은 학습 스케줄링과 추론 스케줄링으로, 각각 시스템 분야 학회에 발표된 연구다.
출발점은 단순한 관찰이다. GPU 한 장으로 학습하든 여러 장으로 데이터 병렬이나 파이프라인 병렬을 쓰든, GPU 안의 병렬 연산 장치가 절반 가까이 놀고 있다는 것이다. 단일 GPU에서는 커널을 실제로 계산하는 시간보다 CPU가 그 커널을 준비해 내려보내는 시간이 더 걸리는 구간이 생기는데, 텐서를 할당하고 반납하는 비용과 연산별 사전 준비, 프레임워크가 커널마다 수행하는 방대한 오류 검사가 겹치기 때문이다. 여기에 커널 끝자락에서 스트리밍 멀티프로세서 대부분이 노는 이른바 테일 이펙트가 더해진다.
여러 장을 쓸 때는 원인이 달라진다. 데이터 병렬에서는 각 GPU가 계산한 그래디언트를 평균 내는 동기화 시간이 계산 시간보다 길어져, 동기화가 끝날 때까지 GPU가 대기한다. 파이프라인 병렬에서는 앞 구간 계산이 끝나야 뒤 구간을 계산할 수 있는 의존 관계 때문에 버블이 생기고, 발표자는 이 구간에서 30~40% 가량의 시간이 낭비된다고 설명했다. 기존 대응책들은 상황별로 따로 나왔지만, 발표자는 이 모두가 하나의 최적화 문제로 묶인다고 봤다.
핵심 아이디어인 아웃오브오더 백프롭은 역전파 계산을 두 갈래로 쪼개는 데서 나온다. 각 레이어의 역전파는 입력 뉴런에 대한 그래디언트와 가중치에 대한 그래디언트를 계산하는데, 앞쪽 레이어로 이어지는 것은 앞의 것뿐이고 가중치 그래디언트는 그다음 반복 전까지만 끝내면 된다. 그래서 임계 경로에 있는 계산은 메인 스트림에서 순서대로 돌리고 가중치 그래디언트와 파라미터 갱신은 서브 스트림으로 빼, 비어 있는 연산 자원을 메운다. 파이프라인 병렬에서는 연속된 레이어를 한 GPU에 몰아 주는 관행을 깨고 레이어를 GPU에 번갈아 배치해 버블을 줄여 1.5~1.6배를 얻었고, 전체적으로는 당시 최고 성능 시스템 대비 최대 두 배의 학습 처리량을 보였다.
후반부는 LLM 추론이다. 추론은 입력 전체를 한 번에 처리하는 프리필과 토큰을 하나씩 만들어 되먹이는 디코딩으로 나뉘는데, 두 단계의 연산량 차이가 커서 파이프라인 버블이 생기고 먼저 끝난 요청이 빠지면서 배치가 작아져 GPU를 못 채운다. 발표자는 애플리케이션마다 토큰 하나를 내놓는 데 허용되는 지연시간이 다르다는 점에 착안해, 그 제약을 지키면서 처리량을 최대화하는 문제로 다시 세웠다. 레이어를 라운드로빈으로 나눠 배치 크기를 크게 유지하는 방식과, 프리필용 GPU와 디코딩용 GPU를 아예 분리해 버블을 없애는 방식을 함께 제시했다.
주요 인사이트
- 이 최적화 문제는 1990년대 전후 마이크로아키텍처와 컴파일러가 다뤘던 명령어 수준 병렬성 문제와 구조가 같다. 당시 축적된 기법을 변형해 딥러닝 스케줄링에 가져올 여지가 있다는 지적이 이 연구의 출발점이다.
- 제안 기법은 계산 의존 관계를 지키므로 학습의 의미를 바꾸지 않는다. 그래서 끝까지 학습시키지 않고 처리량만 측정해도 유효한 비교가 되는데, 역전파가 끝나기 전에 다음 반복을 시작하는 부류의 기법과는 성격이 다르다.
- 프리필과 디코딩을 서로 다른 GPU에 분리하는 설계는 발표 시점에는 새로운 제안이었지만, 이후 여러 기업과 대학이 유사한 논문을 내면서 표준에 가까워졌다.
- 다만 분리 방식은 디코더 전용 모델에서 모델을 두 벌 올려야 해 메모리 압박이 커진다. 실제로 340B급 큰 모델 실험에서는 메모리 부족 오류가 나 이 방식을 쓰지 못했다.
- 발표자는 학계의 자원 제약도 솔직히 밝혔다. 실험 상당 부분을 AWS 클라우드에서 돌렸고 비용이 1억원 가까이 들었으며, 고용량 GPU는 비용을 지불해도 곧바로 할당받지 못해 두 번째 논문 제출 때에야 쓸 수 있었다고 한다.
자주 묻는 질문
아웃오브오더 백프롭은 학습 결과를 바꾸지 않나?
바꾸지 않는다. 계산 순서를 바꾸되 계산 의존 관계는 그대로 지키기 때문이다. 발표자는 역전파가 끝나기 전에 다음 반복의 순전파를 시작하는 부류의 기법은 학습 의미가 달라지지만, 이 기법은 그렇지 않다고 구분했다.
프리필과 디코딩을 GPU에 나눠 배치하면 항상 유리한가?
아니다. 각 GPU가 걸리는 시간을 맞춰 버블을 없앨 수 있지만, 디코더 전용 모델에서는 프리필용과 디코딩용으로 모델을 두 벌 올려야 해 메모리를 더 쓴다. 그만큼 배치 크기가 작아지고, 큰 모델에서는 메모리 부족으로 아예 쓰지 못하는 경우가 나왔다.
성능은 얼마나 개선됐나?
학습에서는 당시 각 방식의 최고 성능 시스템과 비교해 처리량이 최대 두 배까지 올랐고, 파이프라인 병렬에서는 1.5~1.6배 속도 향상이 있었다. 추론에서는 상대적으로 작은 모델에서 최대 다섯 배, 100B가 넘는 큰 모델에서는 지연시간 제약을 고려하지 않는 기존 라이브러리 대비 평균 세 배가량 빨랐다고 밝혔다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗