XProf: 액셀러레이터 성능 분석

XProf는 머신러닝을 위한 프로파일링 및 성능 분석 도구입니다.

기능

  • 하드웨어 이벤트 및 카운터, 컴파일러 메타데이터를 기반으로 한 고품질 프로필 정보
  • 수집 오버헤드가 낮습니다. 일반적으로 프로파일링 기간 동안 TPU에서는 1% 미만이고 GPU에서는 5% 미만입니다.
  • 워크로드를 심층적으로 이해할 수 있는 다양한 도구 모음:
    • 개요 페이지: 하드웨어 리소스 활용도를 비롯하여 프로필 실행 중 모델의 성능에 대한 집계된 최상위 뷰를 확인합니다.
    • Trace Viewer: 발생한 이벤트의 자세한 타임라인과 시스템의 어느 부분이 이를 실행했는지 시각화합니다 (예: CPU, TPU 또는 GPU)
    • 그래프 뷰어: XLA 프로그램의 그래프 구조를 시각화합니다. 여기에는 대략적인 작업 (HLO) 그래프가 표시됩니다.
    • 메모리 뷰어: 프로그램 전체 기간 동안의 메모리 사용량을 시각화하고 최고 메모리 사용 시점의 메모리 콘텐츠 세부정보를 살펴봅니다.
    • 메모리 프로필: 프로그램 실행 중 액셀러레이터의 동적 메모리 사용량을 시각화합니다.
    • HLO 작업 프로필: 프로그램에서 실행하는 다양한 카테고리의 높은 수준 작업 (HLO) 작업에 대한 하드웨어 성능을 파악합니다.
    • HLO 작업 통계: 프로그램에서 실행된 HLO(High Level Optimizer) 작업의 성능 통계를 확인하고 HLO 그래프에서 가장 시간이 많이 걸리는 작업을 식별합니다.
    • 프레임워크 작업 통계: 프레임워크 수준 작업의 성능 통계를 확인합니다 (예: JAX, TensorFlow 또는 PyTorch/XLA)를 호스트와 액셀러레이터에서 실행합니다.
    • 루프라인 분석: 프로그램의 성능에 영향을 미치는 내재된 하드웨어 제한을 보여주는 직관적인 시각적 성능 모델을 확인하여 메모리 제한인지 컴퓨팅 제한인지 나타냅니다.
    • 메가스케일 통계: 데이터 센터 네트워크 (DCN)를 통해 통신하는 여러 TPU 슬라이스에 걸쳐 있는 워크로드의 슬라이스 간 통신 성능을 분석합니다.
    • GPU 커널 통계: 프로그램의 모든 GPU 가속 커널의 성능 통계와 원래 프레임워크 작업을 확인합니다.

시작하기

설치 안내는 XProf 빠른 시작을 참고하세요.

Google Cloud를 사용하여 워크로드를 실행하는 경우 xprofiler 도구를 사용하는 것이 좋습니다. XProf를 실행하는 VM을 사용하여 간소화된 프로필 수집 및 보기 환경을 제공합니다.

XProf 기능의 빠른 데모를 보려면 데모 노트북을 사용해 보세요.

Tensorboard 통합

이전에는 Tensorboard를 사용하여 XProf를 설치하고 사용하는 방법만 있었습니다. 이를 tensorboard 플러그인 프로필이라고 합니다. 일부 이전 문서에서는 여전히 이 용어를 사용할 수 있습니다. 이제 이 통합은 선택사항입니다. Tensorboard는 XProf 도구 모음의 컨테이너로 생각할 수 있으며, 동일한 동작으로 독립형으로 설치하고 사용할 수도 있습니다.