Fireworks, ARCv3 가중치 압축기 출시
- •Fireworks가 강화학습 롤아웃용 BF16 가중치 업데이트 무손실 압축기 ARCv3를 출시했다.
- •운영 환경의 업데이트 차이 1,000건에서 ARCv3는 원본 크기의 평균 0.19%를 기록해 ARCv2의 0.36%보다 작았다.
- •ARCv3는 바뀌지 않은 가중치를 생략하고, 가수부 변경과 드문 지수부·부호 변경을 분리해 전송한다.
Fireworks AI가 강화학습 학습기에서 롤아웃 생성 장비로 보내는 데이터를 줄이는 BF16 모델 가중치 업데이트 무손실 압축기 ARCv3를 공개했다. 운영 환경에서 수집한 가중치 업데이트 차이 1,000건을 측정한 결과, ARCv3의 평균 전송량은 원래 BF16 가중치 크기의 0.19%였다. ARCv2의 0.36%보다 줄었으며, 복원된 가중치는 학습기의 원본과 비트 단위까지 동일하다. Fireworks Trainer SDK 사용 팀에는 ARCv3가 기본 적용된다. 자체 학습기를 쓰는 팀은 `fireworks-delta-compression` 패키지를 설치해 Fireworks 롤아웃과 함께 사용할 수 있다.
압축기는 학습 장비와 롤아웃 장비가 여러 지역에서 작동하는 지역 간 강화학습을 겨냥한다. Fireworks가 살펴본 작업에서는 연속된 체크포인트 사이에 BF16 가중치의 약 2%만 바뀌었다. 매 학습 단계마다 1 TB 체크포인트 전체를 보내는 대신 변경 사항을 간결하게 전송한다. 회사는 이를 통해 클러스터 사이에 전용 고대역폭 연결이 없어도 3개 또는 4개 지역의 학습 동기화를 유지할 수 있다고 밝혔다. 전송량이 적으면 롤아웃 장비가 더 빨리 업데이트돼 최신 정책에 가까이 머물 수 있으며, 큰 업데이트는 롤아웃 장비가 학습기를 뒤처지게 할 수 있다.
ARCv3는 변경된 BF16 가중치의 패턴을 활용한다. 단계마다 바뀌는 약 2%의 가중치 가운데 대부분은 가수부만 바뀌고, 지수부 변경은 드물며 부호 반전은 더 드물었다. 이에 따라 바뀌지 않은 값은 생략하고 가수부만 바뀐 경우 가수부 비트만 보내며, 지수부나 부호 변경은 별도로 묶어 전송한다. 수신 측은 이전 체크포인트에 변경 데이터들을 적용한 뒤 학습기의 원본 가중치와 대조한다. ARCv3는 모델 텐서마다 범용 압축 알고리즘 여러 개를 병렬 실행해 가장 작은 결과를 선택한다. 이 과정은 GPU가 학습하는 동안 추가 CPU를 사용한다.
Fireworks는 BF16 형식의 운영 환경 강화학습 가중치 업데이트 차이 1,000건에서 무손실 압축기 4종을 비교했다. ARCv3 전송량은 원본 가중치 크기의 0.19%였고, PULSESync는 0.35%, ARCv2는 0.36%, Hugging Face TRL의 초안 구현은 0.67%였다. 회사는 이 벤치마크에서 ARCv3 전송량이 다음으로 좋은 방식의 약 절반이었다고 밝혔다. 희소 패치를 사용하는 가중치 동기화 알고리즘인 PULSESync도 비교 대상에 포함됐다. Fireworks는 자체 학습기와 자사 롤아웃을 사용하는 팀에 Training API로 ARCv3를 제공하며, Trainer SDK에서는 기본 압축기로 사용한다. 회사는 전송량이 줄면 하나의 대형 집적 클러스터에 의존하는 대신 여러 지역의 컴퓨팅 자원을 활용하기 쉬워진다고 밝혔다.