원제: NeRF-XL: Scaling NeRFs with Multiple GPUs
논문 링크: https://research.nvidia.com/labs/toronto-ai/nerfxl/assets/nerfxl.pdf
프로젝트 링크: https:/ / /research.nvidia.com/labs/toronto-ai/nerfxl/
저자 소속: NVIDIA University of California, Berkeley
본 논문은 NeRF-XL을 제안하는 원리입니다. NeRF(신경선장)를 여러 GPU(그래픽 처리 장치)에 분산하여 임의의 대용량 NeRF 훈련 및 렌더링을 가능하게 하는 방법입니다. 이 논문에서는 먼저 대규모 장면을 독립적으로 훈련된 여러 NeRF로 분해하는 여러 가지 기존 GPU 방법을 검토하고 [9, 15, 17] 훈련을 위해 추가 컴퓨팅 리소스(GPU)를 사용할 때 문제가 되는 이러한 방법의 몇 가지 근본적인 문제를 식별하여 재구성 개선을 방해합니다. 품질. NeRF-XL은 이러한 문제를 해결하고 단순히 더 많은 하드웨어를 사용하여 다양한 매개변수를 가진 NeRF를 훈련하고 렌더링할 수 있도록 합니다. 우리 접근 방식의 핵심은 새로운 분산 훈련 및 렌더링 공식으로, 이는 고전적인 단일 GPU 사례와 수학적으로 동일하며 GPU 간의 통신을 최소화합니다. 임의로 많은 수의 매개변수로 NeRF의 잠금을 해제함으로써 우리의 방법은 NeRF의 GPU 스케일링 법칙을 최초로 공개하여 매개변수 수가 증가함에 따라 향상된 재구성 품질을 보여주고 더 많은 GPU를 사용할수록 속도가 증가합니다. 이 논문은 약 258K 이미지를 포함하고 25 평방 킬로미터의 도시 지역을 포괄하는 MatrixCity [5]를 포함한 다양한 데이터 세트에서 NeRF-XL의 효율성을 보여줍니다.
새로운 관점 합성의 최근 발전으로 NeRF(신경 방사선장)를 캡처하는 능력이 크게 향상되어 프로세스에 더 쉽게 접근할 수 있게 되었습니다. 이러한 발전을 통해 우리는 더 큰 장면과 그 안에서 더 미세한 세부 사항을 재구성할 수 있습니다. 공간 규모를 늘리거나(예: 도시의 수 킬로미터 캡처) 세부 수준을 높이거나(예: 들판의 풀잎 스캔) 캡처된 장면의 범위를 넓히려면 더 많은 양의 정보를 NeRF에 통합해야 합니다. 정확한 재구성을 달성합니다. 따라서 정보가 풍부한 장면의 경우 재구성에 필요한 훈련 가능한 매개변수 수가 단일 GPU의 메모리 용량을 초과할 수 있습니다.
이 논문에서는 여러 GPU에 걸쳐 신경 방사형 장면(NeRF)을 효율적으로 배포하기 위한 원칙적인 알고리즘인 NeRF-XL을 제안합니다. 이 기사의 방법을 사용하면 하드웨어 리소스를 늘리는 것만으로 정보 콘텐츠가 많은 장면(대규모 및 세부 기능이 포함된 장면 포함)을 캡처할 수 있습니다. NeRF-XL의 핵심은 일련의 분리된 공간 영역에 NeRF 매개변수를 할당하고 GPU에서 공동으로 훈련시키는 것입니다. 역방향 전파에서 기울기를 동기화하는 기존 분산 훈련 프로세스와 달리, 우리의 방법은 순방향 전파에서만 정보를 동기화하면 됩니다. 또한 분산 설정에서 방정식 및 관련 손실 항을 신중하게 렌더링함으로써 GPU 간에 필요한 데이터 전송을 크게 줄입니다. 이 새로운 재작성은 훈련 및 렌더링 효율성을 향상시킵니다. 이 방법의 유연성과 확장성을 통해 이 문서에서는 여러 GPU를 효율적으로 최적화하고 효율적인 성능 최적화를 위해 여러 GPU를 사용할 수 있습니다.
우리 작업은 독립적인 입체 NeRF 세트를 훈련하여 대규모 장면을 모델링하기 위해 GPU 알고리즘을 채택한 최근 접근 방식과 대조됩니다[9, 15, 17]. 이러한 방법에는 GPU 간의 통신이 필요하지 않지만 각 NeRF는 배경 영역을 포함한 전체 공간을 모델링해야 합니다. 결과적으로 GPU 수가 증가함에 따라 모델 용량의 중복성이 증가합니다. 또한 이러한 방법은 렌더링 시 NeRF의 혼합이 필요하므로 시각적 품질이 저하되고 겹치는 영역에 아티팩트가 발생합니다. 따라서 NeRF-XL과 달리 이러한 방법은 훈련에 더 많은 모델 매개변수(더 많은 GPU와 동일)를 사용하고 시각적 품질 향상에 실패합니다.
이 문서에서는 거리 스캔, 드론 비행, 객체 중심 비디오를 포함한 다양한 캡처 사례를 통해 우리 접근 방식의 효율성을 보여줍니다. 사례는 작은 장면(10제곱미터)부터 전체 도시(25제곱킬로미터)까지 다양합니다. 우리의 실험에 따르면 최적화 프로세스에 더 많은 컴퓨팅 리소스를 할당할수록 NeRF-XL은 향상된 시각적 품질(PSNR로 측정)과 렌더링 속도를 달성하기 시작합니다. 따라서 NeRF-XL을 사용하면 모든 공간 규모 및 세부 장면에서 임의의 용량으로 NeRF를 훈련할 수 있습니다.
그림 1: 이 기사의 원리 기반 다중 GPU 분산 훈련 알고리즘은 NeRF를 대규모로 확장할 수 있습니다.
그림 2: 독립적 훈련 및 다중 GPU 공동 훈련. 여러 NeRF [9, 15, 18]를 독립적으로 훈련하려면 각 NeRF가 초점 영역과 주변 환경을 모두 모델링해야 하므로 모델 용량이 중복됩니다. 대조적으로, 우리의 공동 훈련 방법은 중첩되지 않는 NeRF를 사용하므로 중복성이 없습니다.
그림 3: 독립적인 교육에는 새로운 관점이 종합될 때 혼합이 필요합니다. 블렌딩이 2D[9, 15] 또는 3D[18]에서 수행되는지 여부에 관계없이 렌더링에 흐림이 도입됩니다.
그림 4: 독립적인 교육으로 인해 다양한 카메라 최적화가 이루어집니다. NeRF에서는 부정확한 카메라 자체 또는 다른 모든 카메라와 기본 3D 장면을 변환하여 카메라 최적화를 달성할 수 있습니다. 따라서 카메라 최적화와 함께 여러 NeRF를 독립적으로 훈련하면 카메라 수정 및 장면 형상의 불일치가 발생하여 하이브리드 렌더링이 더 어려워질 수 있습니다.
그림 5: 3D 블렌딩으로 인해 발생할 수 있는 시각적 아티팩트. 왼쪽 이미지는 2개의 GPU를 사용하여 훈련된 MegaNeRF의 결과를 보여줍니다. 0% 중첩에서는 독립적인 훈련으로 인해 경계에 아티팩트가 나타나고, 15% 중첩에서는 3D 블렌딩으로 인해 심각한 아티팩트가 나타납니다. 오른쪽 이미지는 이 아티팩트의 원인을 보여줍니다. 독립적으로 훈련된 각 NeRF는 올바른 색상을 렌더링하지만 혼합된 NeRF는 올바른 색상 렌더링을 보장하지 않습니다.
그림 6: 이 기사의 훈련 과정. 우리의 방법은 모든 GPU에서 여러 NeRF를 공동으로 훈련하며, 각 NeRF는 분리된 공간 영역을 포함합니다. GPU 간의 통신은 순방향 패스에서만 발생하고 역방향 패스에서는 발생하지 않습니다(회색 화살표로 표시됨). (a) 이 논문은 각 NeRF를 평가하여 샘플 색상과 밀도를 얻은 다음 전역 볼륨 렌더링을 위해 이 값을 다른 모든 GPU에 브로드캐스팅하여 구현할 수 있습니다(섹션 4.2 참조). (b) 볼륨 렌더링 방정식을 다시 작성함으로써 이 논문은 데이터 전송량을 광선당 하나의 값으로 크게 줄여 효율성을 향상시킬 수 있습니다(섹션 4.3 참조).
그림 7: 정성적 비교. 이전 작업과 비교하여 우리의 방법은 다중 GPU 구성을 효과적으로 활용하고 모든 유형의 데이터에 대한 성능을 향상시킵니다.
그림 8: 정량적 비교. 독립적인 훈련을 기반으로 한 이전 작업은 추가 GPU를 추가하여 성능 향상을 달성하지 못한 반면, 우리의 방법은 훈련 리소스가 증가함에 따라 렌더링 품질과 속도가 향상됩니다.
그림 9: 이 문서에 있는 방법의 확장성. GPU가 많을수록 더 많은 학습 가능한 매개변수가 허용되므로 모델 용량이 늘어나고 품질이 향상됩니다.
그림 10: 대규모 캡처에서 더 많은 렌더링 결과. 이 문서에서는 더 많은 GPU를 사용하여 더 큰 캡처 데이터 세트에서 우리 방법의 견고성을 테스트합니다. 이러한 데이터에 대한 비디오 둘러보기는 이 기사의 웹페이지를 참조하세요.
그림 11: University4 데이터세트의 PyTorch DDP 비교. PyTorch DDP(Distributed Data Parallel)는 GPU 전체에 빛을 분산시켜 렌더링 속도를 높이도록 설계되었습니다. 이와 대조적으로 우리의 방법은 매개변수를 GPU 전체에 분산시켜 클러스터에 있는 단일 GPU의 메모리 제한을 극복하고 더 나은 품질을 위해 모델 용량을 확장할 수 있습니다.
그림 12: University4의 동기화 비용. 파티션 기반 볼륨 렌더링(섹션 4.3 참조)은 타일 기반 통신을 허용합니다. 이는 원래 샘플 기반 통신(섹션 4.2 참조)보다 훨씬 저렴하므로 더 빠른 렌더링이 가능합니다.
요약하자면, 이 논문은 대규모 장면을 독립적으로 훈련된 NeRF(Neural Radiation Fields)로 분해하는 기존 방법을 재검토하고 추가 컴퓨팅 리소스(GPU) 문제의 효과적인 활용을 방해하는 중요한 장벽을 발견합니다. 이는 대규모 NeRF 성능을 향상시키기 위해 다중 GPU 설정을 활용하려는 핵심 목표와 모순됩니다. 따라서 이 문서에서는 다중 GPU 설정을 효율적으로 활용하고 여러 개의 중첩되지 않는 NeRF를 공동으로 훈련하여 모든 규모에서 NeRF 성능을 향상시킬 수 있는 원리 알고리즘인 NeRF-XL을 소개합니다. 중요한 것은 우리의 방법이 어떠한 경험적 규칙에도 의존하지 않고 다중 GPU 설정에서 NeRF의 스케일링 법칙을 따르며 다양한 유형의 데이터에 적용 가능하다는 것입니다.
@misc{li2024nerfxl,title={NeRF-XL: Scaling NeRFs with Multiple GPUs}, author={Ruilong Li and Sanja Fidler and Angjoo Kanazawa and Francis Williams},year={2024},eprint={2404.16221},archivePrefix={arXiv},primaryClass={cs.CV}}
위 내용은 25km² 역사상 최대 규모 재건축! NeRF-XL: 멀티카드 합동훈련을 정말 효과적으로 활용!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!