파이토치 2.15, GPU 통신 새 백엔드 기본 적용

| 강이안 기자

파이토치 2.15가 10월 28일 공개되면서 분산 학습의 기본 NCCL 통신 백엔드가 재작성 버전으로 바뀌었다. 통신 연산이 멈추거나 시간 초과가 발생하면 진단 상태를 기록하는 ‘비행기록장치’ 기능도 제공한다.

이번 버전은 재작성한 NCCL 백엔드를 모든 nccl 프로세스 그룹의 기본값으로 삼았다고 크립토브리핑(Crypto Briefing)은 전했다.

인공지능 모델을 여러 GPU에서 학습할 때 각 장치는 작업을 나눠 맡고, 결과를 맞추기 위해 데이터를 주고받는다. 분산 학습에서는 이런 통신이 전체 작업의 진행에 영향을 준다.

엔비디아($NVDA)의 집단 통신 라이브러리 NCCL은 GPU 사이의 데이터 교환을 담당한다. 여러 장치가 모두 참여해야 하는 통신 연산은 ‘집합 통신(collective)’이라고 부른다.

새 백엔드는 파이토치의 모든 nccl 프로세스 그룹에 기본 적용된다. 프로세스 그룹은 특정 작업을 함께 수행하는 GPU들의 집합이다.

통신이 멈추는 상황은 원인을 찾기 어렵다. 프로세스는 살아 있어도 집합 통신이 진행되지 않으면 작업이 멎을 수 있고, 충돌 때처럼 뚜렷한 오류가 남지 않을 수 있다.

파이토치가 ‘비행기록장치(flight recorder)’라고 부르는 기능은 집합 통신이 멈추거나 시간 초과가 발생했을 때 진단 상태를 자동으로 기록한다. 운영팀은 이 기록을 살펴 통신이 막힌 지점을 분석할 수 있다.

기록 기능은 특정 통신 라이브러리에 한정되지 않는 백엔드 독립형이다. 이에 따라 엔비디아 이외의 하드웨어를 함께 쓰거나 혼합 환경을 운영하는 팀에도 적용할 수 있다.

새 NCCL 백엔드는 2.14에서 선택 기능으로 먼저 제공됐다. 2.15에서는 새 NCCL 백엔드가 기본 경로로 전환됐고, 집합 통신 장애 진단용 비행기록장치도 제공된다.

파이토치는 장애 뒤 학습 클러스터를 더 빠르게 재구성하는 경로도 추가했다. 이 기능은 통신 그룹을 다시 구성하는 데 걸리는 시간을 줄이는 데 쓰인다.

빠른 재구성 경로를 이용하려면 NCCL 2.29 이상이 필요하다. ROCm 환경에서는 RCCL 2.30.7이 장애 대응 재구성을 지원한다.

진단 기록과 작업 재구성은 별도 기능이다. 따라서 파이토치 2.15를 설치하는 것만으로 멈춘 학습 작업이 자동 재개되는 것은 아니다.

앞서 본지는 AMD와 메타가 파이토치에서 AMD GPU 연산을 최적화한 사례도 전했다. 이번 2.15 변경은 연산 최적화가 아니라 여러 GPU 사이의 통신 장애 진단과 재구성 경로에 초점을 맞췄다.

기존 동작으로 되돌리는 설정은 2.15에만 제공되며, 다음 릴리스에서 제거될 예정이다. 운영팀은 새 백엔드의 초기화·통신 동작과 필요한 라이브러리 버전을 실제 작업 환경에서 점검해야 한다.

본 기사는 시장 데이터 및 차트 분석을 바탕으로 작성되었으며, 특정 종목에 대한 투자 권유가 아닙니다.

Most Popular

지금 꼭 알아야 할 리포트