AI VIDEO BRIEFING

강화학습 크로스 데이터센터 — 가중치 델타 전송으로 롤아웃을 전 세계 GPU에 분산하는 법

프런티어 규모 체크포인트는 500GB에 달해 리전 간 전송에만 수 분이 걸린다. 롤아웃이 실제로 보는 가중치는 스텝당 1%도 바뀌지 않는다는 관찰에서 출발해, 강화학습 후처리를 흩어진 GPU로 분산하는 설계를 정리했다.

500GB 체크포인트 대신 500MB만: 강화학습 롤아웃을 데이터센터 밖으로 영상 대표 이미지

핵심 메시지

  • 강화학습 후처리 루프에서 트레이너는 빠른 인터커넥트로 묶인 한 클러스터가 필요하지만, 롤아웃 워커들은 서로 전역 통신을 하지 않아 클러스터 밖으로 떼어낼 수 있다.
  • 옮길 수 없는 것은 역전파이고, 옮길 수 있는 단위는 하나의 정책 버전을 서빙하는 롤아웃 '섬'이다.
  • 발목을 잡는 것은 가중치 동기화다. 500GB짜리 전체 체크포인트를 매번 보내면 수 분에서 수 시간이 걸려 초 단위 갱신이 불가능해진다.
  • 아담 옵티마이저의 한 스텝 갱신 폭이 BF16 반올림 경계보다 1,000배 가까이 작아, 롤아웃이 실제로 서빙하는 가중치는 스텝마다 99% 안팎이 비트 단위로 동일하다.
  • 바뀐 비트만 담은 패치는 500MB 수준이라 리전을 넘어 초 단위로 보낼 수 있고, 롤아웃 엔진은 전체 체크포인트와 비트 단위로 같은 버전을 복원한다.

쉽게 이해하기

강화학습 후처리에 관한 논의는 대체로 알고리즘과 환경 샌드박스, 저정밀 학습, 결정적 커널 같은 주제에 쏠려 있다. 그런데 실험 규모를 키우면 문제의 성격이 물리적으로 바뀐다. GPU가 어디에 있는지, 같은 리전인지, 빠른 패브릭으로 묶여 있는지, 지금 당장 쓸 수 있는지가 실제 병목이 된다. 발표자는 이 네 조건을 동시에 만족하는 클러스터야말로 가장 구하기 어려운 자원이라고 지적한다.

표준 루프에서는 트레이너와 롤아웃이 같은 클러스터에 살고 RDMA로 가중치를 주고받는다. 동기화는 빠르지만 롤아웃 규모가 트레이너 클러스터 크기에 묶인다는 대가가 따른다. 학습은 매 스텝 집합 통신과 모델 병렬 통신을 하므로 빠른 패브릭이 반드시 필요하지만, 롤아웃은 궤적을 만들어 되돌려 보내는 서빙 잡의 집합일 뿐이어서 롤아웃끼리는 전역 통신이 없다.

그래서 옮길 대상은 역전파가 아니라 롤아웃이다. 정확히는 하나의 정책 버전을 서빙하는 엔드포인트 묶음, 즉 롤아웃 '섬'이 이동 단위가 된다. 섬 사이의 의존은 정책 버전이 들어가고 궤적과 메타데이터가 나오는 것뿐이라 매우 가볍다. 문제는 남은 연결 하나, 가중치 갱신이다. 여기서 전체 체크포인트를 통째로 보내면 설계 전체가 무너진다.

발표자의 베팅은 '롤아웃이 보는 가중치'가 버전 사이에 1% 미만만 바뀐다는 것이다. 여기서 말하는 가중치는 FP32 옵티마이저 상태가 아니라 롤아웃 엔진이 실제로 서빙하는 정밀도로 캐스팅된 값이다. 근거는 밀림과 바닥의 크기 비교다. BF16에서 값 크기가 1 근처일 때 표현 간격은 약 0.0078이고 반올림 경계는 그 절반인 0.0039 수준인데, 후처리 학습률에서 아담의 파라미터당 갱신은 100만분의 3 수준이다. 갱신이 경계를 넘지 못하니 서빙되는 값은 그대로 남는다.

흔한 오해와 달리 이것은 그래디언트가 희소해서가 아니다. 발표자가 인용한 측정에 따르면 그래디언트는 조밀하고 파라미터의 약 99%가 0이 아닌 값을 받으며, 마스터 가중치 갱신도 조밀하다. 다만 그 크기가 작을 뿐이다. 전송되는 패치는 바뀐 위치와 대체 비트, 메타데이터로 이뤄진 무손실 인코딩이라 부동소수점 덧셈이 아니고 따라서 델타가 누적되며 어긋나는 일도 없다. 트레이너가 불변 버전을 게시판에 올리면 클러스터 밖 롤아웃 엔진이 그 버전을 받아 비트 단위로 동일한 상태를 복원한다.

주요 인사이트

  • 서빙 정밀도가 낮을수록 유리하다. FP8이나 4비트 계열처럼 가수 비트가 적으면 가시성 바닥이 더 높아져 눈에 보이는 가중치 변화가 오히려 줄어든다.
  • 전체 파라미터 학습과 어댑터 학습은 같은 결론에 서로 다른 이유로 도달한다. 어댑터는 구조상 작고, 전체 파라미터는 갱신이 정밀도에 흡수되기 때문에 작다.
  • 발표에서 공개한 내부 실험에서는 FP8로 서빙할 때 학습률이 높은 첫 스텝에 0.15%가 바뀌었고, 학습이 안정된 뒤에는 스텝당 0.05% 수준에서 곡선이 평평해졌다.
  • 가중치 버전을 널리 쓰이는 세이프텐서 레이아웃으로 게시하면 특정 서빙 엔진이나 병렬화 방식, GPU 종류에 묶이지 않는다.
  • 요청 자체가 버전을 인지한다. 어떤 버전으로 보낼지와 어떤 버전까지 수용할지를 요청에 담고, 응답에는 실제 사용된 버전과 토큰·로그 확률 등이 함께 돌아온다.

자주 묻는 질문

롤아웃이 보는 가중치가 1%만 바뀐다는 건 학습이 진행되지 않는다는 뜻인가요?

아닙니다. 발표자는 마스터 가중치가 영원히 멈춰 있다는 뜻이 아니라고 분명히 말합니다. 옵티마이저는 계속 값을 갱신하지만, 그 갱신 폭이 서빙 정밀도의 반올림 경계보다 작아서 롤아웃 엔진이 내놓는 값이 그 스텝에는 바뀌지 않을 뿐입니다.

델타만 보내면 정밀도가 조금씩 어긋나지 않나요?

패치는 비트 수준의 교체이지 부동소수점 덧셈이 아닙니다. 위치와 대체 비트를 그대로 적용하는 무손실 인코딩이라 델타 누적에 따른 드리프트가 없고, 결과는 전체 체크포인트를 동기화했을 때와 비트 단위로 동일합니다.

롤아웃 엔진이 버전을 따라가지 못하면 어떻게 되나요?

엔진 앞단의 사이드카가 버전을 관리합니다. 이미 수용 가능한 버전이면 요청을 그대로 전달하고, 뒤처졌지만 따라잡을 수 있으면 빠진 전이를 적용하며, 그마저 불가능하면 준비되지 않았다고 응답합니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식

#강화학습#LLM 후처리#분산 학습#GPU 인프라#추론 서빙