XProf를 사용한 관리형 프로파일링

ML Diagnostics 워크로드 모니터링, ML Diagnostics CLI 또는 ML Diagnostics SDK를 사용할 때 관리형 XProf 프로파일링을 사용할 수 있습니다. 관리형 XProf는 ML Diagnostics 플랫폼이Google Cloud 프로젝트에서 프로비저닝하고 관리하는 확장 가능한 백엔드가 있는 XProf 인스턴스인 반면, 자체 호스팅 XProf는 프로필을 보기 위해 자체 XProf 인스턴스를 수동으로 배포하고 유지관리해야 합니다.

XProf는 머신러닝(ML) 워크로드를 위한 오픈소스 프로파일링 및 성능 분석 도구이며 OpenXLA 생태계의 일부입니다. 자체 호스팅 XProf와 비교하여 관리형 XProf는 다음 기능을 제공합니다.

  • 설정 불필요: XProf 시각화 서버 또는 종속 항목을 수동으로 설치하거나 구성할 필요가 없습니다.
  • 중앙 집중식 다중 실행 프로필 세션 액세스: 프로젝트당 단일 관리형 XProf 인스턴스를 사용하여 여러 ML 실행에서 프로필 세션을 로드합니다.
  • 자동 확장 및 빠른 로드: 여러 사용자가 동시에 프로필을 볼 때 대규모 프로필의 로드를 가속화하고 백엔드 리소스를 자동으로 확장합니다.
  • 기본 제공 공동작업 및 보안: 보안 취약점으로부터 프로파일링 인스턴스를 보호하면서 프로필 세션에 대해 공유 가능한 링크를 생성합니다.
  • 여러 프로필 캡처 모드: 멀티 호스트 캡처, 주문형 프로파일링, 스냅샷 모드의 지속적 프로파일링, 워크로드 모니터링의 자동 프로필 캡처를 지원합니다.
  • 추가 인프라 비용 없음: XProf 인스턴스를 자체 호스팅하는 것과 달리 추가 비용 없이 관리형 XProf 컴퓨팅 리소스를 제공합니다.

배포 경로

ML Diagnostics SDK, 워크로드 모니터링 또는 ML Diagnostics CLI를 사용하여 관리형 XProf를 배포하고 사용 설정할 수 있습니다.

ML Diagnostics 플랫폼은 프로젝트당 확장 가능한 백엔드가 있는 관리형 XProf 인스턴스 하나를 배포합니다. 이 인스턴스를 사용하여 프로젝트의 모든 ML 실행에서 캡처된 모든 프로필 세션을 볼 수 있습니다. 프로필을 캡처하려면 캡처된 프로필 데이터를 저장하기 위해 ML 실행과 연결된 Cloud Storage 버킷도 필요합니다.

다음 방법 중 하나로 관리형 XProf를 사용 설정하고 Cloud Storage 버킷을 ML 실행과 연결할 수 있습니다.

  • ML Diagnostics SDK: SDK를 사용하여 첫 번째 ML 실행을 배포하면 ML Diagnostics 플랫폼이 프로젝트에서 관리형 XProf 인스턴스를 자동으로 사용 설정하고 배포합니다. SDK에서 ML 실행을 정의할 때 gcs_path 매개변수를 설정하여 프로필을 저장할 Cloud Storage 버킷을 지정합니다.
  • 워크로드 모니터링: 워크로드 모니터링은 기본적으로 관리형 XProf를 사용 설정하지 않습니다. 대신 자동 프로필 캡처가 프로젝트에서 프로필 세션을 처음 트리거할 때 ML Diagnostics 플랫폼이 관리형 XProf 인스턴스를 자동으로 프로비저닝하고 사용 설정합니다. 기본적으로 ML Diagnostics는 프로젝트에 리전 Cloud Storage 버킷도 프로비저닝합니다.
  • ML Diagnostics CLI: ML 실행을 업데이트하여 XProf 도구를 사용 설정할 수 있습니다. 이 도구는 프로젝트에 관리형 XProf 인스턴스를 배포하고 Cloud Storage 버킷을 ML 실행과 연결합니다.

프로필 캡처

ML 진단은 XProf 프로필을 캡처하는 네 가지 방법, 즉 프로그래매틱 캡처, 주문형 프로파일링, 스냅샷 모드의 지속적 프로파일링, 워크로드 모니터링의 자동 프로필 캡처를 지원합니다. 이러한 방법은 캡처가 트리거되는 방식과 기록되는 시간대가 다릅니다.

다음 표에서는 프로필 캡처 방법을 비교합니다.

캡처 방법 설명 지원되는 프레임워크
프로그래매틱 캡처

워크로드 코드에 프로파일링 명령어를 직접 삽입하여 지정된 학습 단계 또는 함수에서 프로필 데이터 기록을 시작하고 중지합니다.

알려진 학습 단계 또는 특정 코드 섹션의 재현 가능한 프로필을 원하는 경우 이 방법을 사용합니다.

JAX, vLLM, Tunix, TorchTPU
주문형 프로파일링

워크로드가 실행되는 동안 지정한 기간 동안 Google Cloud 콘솔 또는 gcloud CLI에서 실시간 프로필 캡처를 트리거합니다.

단계 범위를 수정하거나 워크로드를 다시 시작하지 않고 실행 중인 워크로드를 실시간으로 검사하려면 이 방법을 사용합니다.

JAX, vLLM, Tunix, TorchTPU
스냅샷 모드의 지속적 프로파일링(미리보기)

TPU 호스트의 순환 버퍼에 기기 trace의 2GB 프로필을 지속적으로 기록하고 스냅샷을 트리거할 때 최신 2GB 버퍼를 Cloud Storage 버킷에 저장합니다.

간헐적인 속도 저하나 이상이 발생하기 전까지의 워크로드 활동을 검사해야 하는 경우 이 방법을 사용합니다.

JAX, vLLM, Tunix
워크로드 모니터링에서 자동 프로필 캡처(프리뷰)

워크로드 모니터링 성능 저하 분석기가 "bad" 상태를 보고하면 XProf 프로필 캡처를 자동으로 트리거합니다. 온디맨드 캡처를 트리거하거나 지속적 프로파일링이 사용 설정된 경우 지속적 프로파일링 스냅샷을 트리거하도록 자동 프로필 캡처를 구성할 수 있습니다.

수동으로 캡처를 트리거할 때까지 기다리지 않고 성능이 저하되는 순간에 ML Diagnostics가 trace 데이터를 캡처하도록 하려면 이 메서드를 사용하세요.

JAX, vLLM, Tunix, TorchTPU

프로그래매틱 캡처

프로그래매틱 캡처를 사용하면 워크로드 코드에 프로파일링 명령어를 직접 삽입하여 프로필 데이터 기록을 시작하고 중지할 시점을 명시적으로 지정할 수 있습니다. ML 실행의 gcs_path 매개변수로 지정된 Cloud Storage 버킷에 기록된 모든 프로필은 프로젝트의 관리형 XProf 인스턴스에 프로필 세션으로 자동으로 표시되며, 이는Google Cloud 콘솔에서 또는 Google Cloud CLI를 사용하여 볼 수 있습니다.

다음 방법 중 하나로 프로그래매틱 캡처를 구성할 수 있습니다.

주문형 프로파일링

주문형 프로파일링을 사용하면 워크로드가 실행되는 동안 실시간으로 프로필 캡처를 트리거할 수 있습니다. 주문형 캡처를 트리거하면 지정한 기간 동안 프로필이 기록됩니다. 워크로드 코드에서 직접 또는 ML Diagnostics SDK를 사용하여 주문형 프로파일링을 사용 설정할 수 있습니다.

기본 요건

주문형 프로필을 캡처하기 전에 다음 설정 단계를 완료하세요.

  1. 워크로드의 포트 9999에서 XProf 서버를 시작하여 주문형 캡처 트리거에 응답합니다.

    • JAX에서 직접: 포트 9999에서 profiler.start_server 메서드를 호출합니다.

      profiler.start_server(port=9999)
      
    • ML Diagnostics SDK: ML 실행을 정의할 때 machinelearning_run에서 on_demand_xprof=True를 설정합니다.

  2. 클러스터 조정자 또는 컴퓨팅 환경을 구성합니다.

주문형 프로필 캡처

Google Cloud 콘솔 또는 gcloud CLI에서 주문형 프로필 캡처를 트리거할 수 있습니다. 캡처를 트리거할 때 다음 매개변수를 지정합니다.

  • Duration: 캡처 시간(밀리초 또는 초)입니다. 캡처할 수 있는 최대 기간은 워크로드 특성과 2GB 프로필 한도 내에 맞는 데이터 양에 따라 달라집니다.
  • 대상: 프로필을 캡처할 대상 노드입니다.
    • Google Cloud 콘솔: 워크로드를 실행하는 모든 노드가 자동으로 채워지며 모든 노드 또는 노드의 하위 집합을 선택할 수 있습니다.
    • gcloud CLI: 워크로드의 프로파일러 대상을 나열한 다음 이러한 대상의 전체 또는 하위 집합에 대한 캡처를 트리거합니다.
  • 기기, 호스트, Python 추적기 수준: 기기, 호스트, Python trace에 대해 캡처할 세부정보 수준입니다.

스냅샷 모드의 지속적 프로파일링

지속적 프로파일링이 사용 설정되면 ML 진단 플랫폼은 TPU 호스트의 순환 버퍼에 2GB 프로필을 지속적으로 기록합니다. 스냅샷을 트리거하면 ML Diagnostics는 버퍼의 최신 2GB 프로필을 Cloud Storage 버킷에 프로필 세션으로 저장합니다. 이 스냅샷을 사용하면 문제로 이어지는 워크로드 활동을 검사할 수 있습니다. 지속적 프로파일링은 기기 추적만 지원하며 호스트 또는 Python trace를 수집하지 않습니다.

기본 요건

지속적 프로파일링을 시작하기 전에 환경이 다음 요구사항을 충족하는지 확인하세요.

  • 지원되는 라이브러리 버전:
    • libtpu 버전 0.0.43 이상
    • jax 버전 0.11.0 이상
  • 클러스터 조정자 또는 컴퓨팅 환경 설정:

profiler.start_server(port=9999)를 호출하여 워크로드 코드에서 XProf 서버를 시작하거나 ML Diagnostics SDK를 사용할 때 machinelearning_run에서 on_demand_xprof=True를 설정합니다.

지속적 프로파일링 시작

gcloud CLI를 사용하거나 Google Cloud 콘솔에서 워크로드 코드에서 직접 지속적 프로파일링을 시작할 수 있습니다. 지속적 프로파일링이 시작되면 지정된 TPU 호스트의 순환 버퍼에 2GB 프로필이 기록됩니다.

gcloud CLI 또는Google Cloud 콘솔을 사용하여 지속적 프로파일링을 시작할 때 다음 매개변수를 지정합니다.

  • 대상: 지속적으로 프로파일링할 대상 노드:
    • Google Cloud 콘솔: 워크로드를 실행하는 모든 노드가 자동으로 채워지며 모든 노드 또는 노드의 하위 집합을 선택할 수 있습니다.
    • gcloud CLI: 워크로드의 프로파일러 대상을 나열한 다음 해당 대상의 전체 또는 하위 집합에 대해 지속적 프로파일링을 시작합니다.
  • 기기 추적기 수준: 지속적으로 캡처할 기기 추적 수준입니다. 지속적 프로파일링 중에는 호스트 및 Python 추적이 사용 중지됩니다.

Python 워크로드 코드, gcloud CLI 또는 Google Cloud 콘솔에서 직접 지속적 프로파일링을 시작할 수 있습니다.

Python 워크로드 코드

Python 워크로드 코드에서 직접 지속적 프로파일링을 시작하려면 start_continuous_profiling 함수를 호출합니다.

from xprof.api import continuous_profiling_snapshot
continuous_profiling_snapshot.start_continuous_profiling('localhost:9999', {})

자세한 내용은 XProf JAX 프로파일링을 참조하세요.

gcloud CLI

gcloud CLI에서 연속 프로파일링을 시작하려면 활성 프로파일러 대상을 나열하고 다음 명령어를 사용하여 해당 노드에서 연속 프로파일링을 시작합니다.

PROJECT_ID="PROJECT_ID"
LOCATION="LOCATION"
RUN_ID="RUN_ID"

# 1. Discover active ProfilerTarget IDs on the ML run:
TARGETS=$(gcloud alpha mldiagnostics profiler-target list \
  --machine-learning-run="${RUN_ID}" \
  --location="${LOCATION}" \
  --project="${PROJECT_ID}" \
  --format="csv[no-heading](name.basename())" | paste -sd, -)

# 2. Start continuous profiling across the target nodes:
gcloud alpha mldiagnostics machine-learning-run start-continuous-profiling \
  --machine-learning-run="${RUN_ID}" \
  --location="${LOCATION}" \
  --project="${PROJECT_ID}" \
  --targets="${TARGETS}" \
  --device-tracer-level=enabled

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • LOCATION: ML 실행이 있는 리전입니다.
  • RUN_ID: ML 실행의 ID입니다.
Google Cloud 콘솔

Google Cloud 콘솔에서 지속적 프로파일링을 시작하려면 다음 단계를 완료하세요.

  1. Google Cloud 콘솔에서 Cluster Director 또는 GKE > AI/ML > 진단 실행으로 이동하여 ML 실행을 선택합니다.
  2. 프로필 탭을 엽니다.
  3. 상단 작업 모음에서 연속 프로파일링 시작을 클릭합니다.
  4. 프로파일링할 노드와 기기 추적기 수준을 선택한 후 시작을 클릭합니다.

지속적 프로파일링이 시작되면 지속적 프로필 캡처 배너에 세션 시작 시간이 Since START_TIME로 표시되고 작업 모음에 스냅샷 만들기 및 지속적 프로파일링 중지가 표시됩니다.

스냅샷 캡처

지속적 프로파일링이 실행되는 동안 스냅샷을 캡처하여 순환 버퍼의 최신 2GB 프로필을 Cloud Storage 버킷에 프로필 세션으로 저장할 수 있습니다. gcloud CLI를 사용하거나 Google Cloud 콘솔에서 스냅샷을 캡처할 수 있습니다.

지속적 프로파일링 스냅샷을 캡처할 때 다음 매개변수를 지정합니다.

  • 대상: 연속 프로파일링이 실행되는 대상 노드의 전체 또는 하위 집합:
    • Google Cloud 콘솔: 지속적 프로파일링을 위해 구성된 모든 노드가 자동으로 채워지며, 모든 노드 또는 노드의 하위 집합을 선택할 수 있습니다.
    • gcloud CLI: 지속적 프로파일링이 실행 중인 프로파일러 대상의 전부 또는 하위 집합을 지정합니다.
  • Profiler 세션 이름: 캡처된 스냅샷 세션의 이름입니다.

gcloud CLI를 사용하거나Google Cloud 콘솔에서 스냅샷을 캡처할 수 있습니다.

gcloud CLI

gcloud CLI를 사용하여 연속 프로파일링 스냅샷을 캡처하려면 다음 명령어를 실행합니다.

PROJECT_ID="PROJECT_ID"
LOCATION="LOCATION"
RUN_ID="RUN_ID"

gcloud alpha mldiagnostics profiler-session capture "SNAPSHOT_NAME" \
  --machine-learning-run="${RUN_ID}" \
  --location="${LOCATION}" \
  --project="${PROJECT_ID}" \
  --targets="TARGET_NODES" \
  --kind=snapshot

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • LOCATION: ML 실행이 있는 리전입니다.
  • RUN_ID: ML 실행의 ID입니다.
  • SNAPSHOT_NAME: 캡처된 프로필 세션의 이름입니다.
  • TARGET_NODES: 캡처할 대상 노드의 쉼표로 구분된 목록입니다.
Google Cloud 콘솔

Google Cloud 콘솔에서 연속 프로파일링 스냅샷을 캡처하려면 다음 단계를 완료하세요.

  1. Google Cloud 콘솔에서 Cluster Director 또는 GKE > AI/ML > 진단 실행으로 이동하고 ML 실행을 선택한 후 프로필 탭을 엽니다.
  2. 상단 작업 모음에서 스냅샷 만들기를 클릭합니다.
  3. 지속적 프로파일링 스냅샷 캡처 창에서 프로필 이름을 입력하고 대상 노드를 선택한 후 제출을 클릭합니다.

스냅샷이 프로필 표에 표시됩니다. 링크가 즉시 표시되지 않으면 새로고침을 클릭합니다.

워크로드 모니터링에서 자동 프로필 캡처

워크로드 모니터링의 자동 프로필 캡처를 사용하면 ML 진단은 문제가 발생한 후 수동으로 주문형 캡처를 트리거할 때까지 기다리지 않고 성능 저하 분석기가 "bad" 상태를 보고할 때 XProf 프로필을 자동으로 캡처합니다. 주문형 캡처를 트리거하거나 지속적 프로파일링이 사용 설정된 경우 지속적 프로파일링 스냅샷을 트리거하도록 자동 프로필 캡처를 구성할 수 있습니다. 이 프로세스를 사용하면 이벤트 발생 시 캡처된 프로필을 사용하여 문제의 근본 원인을 진단할 수 있습니다.

설정 안내 및 기본 요건은 워크로드 모니터링 문서의 자동 프로필 캡처를 참조하세요.

에이전트 AI 프로필 분석

에이전트형 AI 프로필 분석은 TPU 워크로드에 대해 캡처된 XProf 성능 프로필을 자동으로 분석하고 원시 XProf trace 데이터에서 HTML 분석 보고서를 생성합니다. Vertex AI에서 Gemini 모델을 사용하는 분석 에이전트는 XProf 프로파일링 도구를 실행하고 성능 병목 현상을 요약하며 코드 또는 구성 변경사항을 추천합니다. 필수 API가 사용 설정되면 ML Diagnostics는 플랫폼에서 캡처된 모든 프로필에 대해 에이전트 AI 프로필 분석 보고서를 생성합니다.

에이전트형 AI 프로필 분석은 오픈소스 XProf 기술 저장소와 동일한 기본 도구 및 기능을 사용합니다. ML Diagnostics는 스킬 파일을 직접 사용하거나 오픈소스 스킬에 필요한 XProf CLI를 설치하는 대신 기본 XProf 도구 구현을 가져와 에이전트가 직접 호출할 수 있도록 합니다. 따라서 ML Diagnostics의 분석 출력은 로컬 xplane 파일에서 XProf CLI를 사용하여 오픈소스 XProf 기술을 실행하는 것과 같습니다.

기본 요건

에이전트형 AI 프로필 분석을 사용하기 전에 Google Cloud 프로젝트에서 다음 설정 단계를 완료하세요.

필요한 API 사용 설정

분석 에이전트가 프로젝트 내에서 Gemini 모델을 실행할 수 있도록 Vertex AI API(aiplatform.googleapis.com)를 사용 설정합니다.

  • Google Cloud 콘솔: API 라이브러리에서 Vertex AI API를 사용 설정합니다.
  • gcloud CLI: 다음 명령어를 실행합니다.

    gcloud services enable aiplatform.googleapis.com
    

IAM 역할 부여

사용자 계정에 다음 Identity and Access Management(IAM) 역할 중 하나를 부여합니다.

  • Cluster Director 뷰어(roles/hypercomputecluster.viewer): Google Cloud 콘솔의 진단 실행 > 프로필에서 생성된 분석 보고서를 포함하여 Cluster Director 및 ML 진단 리소스에 대한 읽기 전용 액세스 권한을 부여합니다.
  • 맞춤 역할(hypercomputecluster.locations.analysis): 맞춤 역할에 추가되면 Google Cloud 콘솔의 진단 실행 > 프로필에서 생성된 분석 보고서를 볼 수 있는 권한을 부여합니다.

작동 방식

프로그래매틱, 주문형, 연속 또는 자동 프로필 캡처가 완료되면 격리된 백그라운드 작업이 XProf 프로필에서 다음 분석 워크플로를 실행합니다.

  1. 광범위한 데이터 수집: 15개의 XProf 도구를 동시에 실행하여 단계 시간, 하드웨어 사용률, 메모리 사용량, 루프라인 경계, 가장 느린 작업, 컴파일러 비효율성을 포함하는 상태 스냅샷을 수집합니다. 이 단계에서는 학습 단계별 타이밍을 정규화하고 정상적인 작업을 병목 현상과 분리합니다.
  2. 집중 AI 조사: 수집된 상태 스냅샷을 검토합니다. 워크로드의 컴퓨팅 사용률이 높고, 유휴 및 통신 오버헤드가 낮고, 메모리 부족 위험이 낮은 경우 에이전트는 추가 도구 호출을 건너뛰고 OPTIMAL 보고서를 생성합니다. 병목 현상이 감지되면 에이전트는 가설을 세우고 추가 XProf 도구를 사용하여 최대 4개의 타겟팅된 후속 검사를 실행하여 연산 그래프의 주변 작업, 호스트 간 타임라인 지연, 커스텀 커널을 검사합니다.
  3. 보고서 생성: XProf의 측정항목을 AI 에이전트의 근본 원인 분석 및 권장 수정사항과 결합합니다. 생성된 summary.html 보고서는 Cloud Storage 버킷에 저장되고Google Cloud 콘솔의 진단 실행 > 프로필에 표시됩니다.

이 워크플로는 프로젝트 내에서 프로필 데이터와 분석을 비공개로 유지합니다. 원시 프로파일러 trace와 생성된 HTML 보고서는 Cloud Storage 버킷에 저장되며 모든 AI 모델 호출은 Google Cloud 프로젝트의 Vertex AI를 통해 실행됩니다.

XProf 도구

다음 표에서는 에이전트가 분석 중에 실행하는 XProf 도구를 설명합니다.

카테고리 XProf 도구 설명
워크로드 개요 및 단계 타이밍 get_xprof_overview, get_step_trace, get_kpi_metrics, get_device_information, get_hosts, get_utilization_viewer, get_smart_suggestions

이러한 도구는 광범위한 데이터 수집 중에 실행되며, get_hosts 도구는 집중적인 AI 조사 중에도 실행되어 다음을 확인합니다.

  • 하드웨어 유형, 호스트 및 칩 수, 최대 하드웨어 한도
  • 평균 단계 시간 및 컴퓨팅, 네트워크 통신, 호스트 또는 데이터 로드 유휴 시간 분석
  • 행렬 곱셈 단위(MXU), TensorCore, 메모리 대역폭 사용률, 기본 제공 XProf 추천
루프라인 및 가장 느린 작업 get_roofline_model, get_hlo_op_profile

이러한 도구는 광범위한 데이터 수집 및 집중적인 AI 조사 중에 실행되어 다음을 확인합니다.

  • 워크로드 또는 특정 작업이 컴퓨팅 또는 메모리 대역폭에 의해 제한되는지 여부
  • 행렬 곱셈, 어텐션, 집합 연산과 같은 작업 유형별로 소요된 시간 및 Python 소스 코드 줄 링크
컴파일러 비효율성 감지기 detect_layout_mismatch_copies, detect_unfused_reshapes, detect_unnecessary_convert_reduce, list_hlo_modules

이러한 도구는 광범위한 데이터 수집 중에 실행되어 다음을 확인합니다.

  • 작업 간 텐서 레이아웃 불일치로 인한 추가 데이터 복사
  • 메모리 대역폭을 낭비하는 융합되지 않은 reshape, transpose 또는 copy 작업
  • 축소 내에서 불필요한 정밀도 변환(예: bf16에서 f32로)
메모리 및 OOM 위험 get_memory_profile, get_peak_allocations

이러한 도구는 광범위한 데이터 수집 중에 실행되어 다음을 확인합니다.

  • 총 용량 및 메모리 단편화와 비교한 기기의 최대 고대역폭 메모리(HBM) 사용량
  • 메모리 부족(OOM) 위험이 LOW, MEDIUM 또는 HIGH인지 여부 및 메모리에서 가장 큰 텐서
계산 그래프 탐색기 get_hlo_neighborhood

이 도구는 집중 AI 조사 중에 실행되어 XLA 그래프에서 느린 작업 직전과 직후의 작업을 확인하고 컴파일러 퓨전을 차단하거나 데이터 이동을 강제하는 요소를 식별합니다.

타임라인 및 커널 타이밍 aggregate_xplane_events, get_kernel_stats

이러한 도구는 집중 AI 조사 중에 실행되어 다음을 확인합니다.

  • 네트워크 통신 지연과 데이터 로더 중단을 구분하기 위한 호스트 간 타임라인 통계
  • 개별 기기 커널의 실행 시간 및 호출 수
커스텀 커널 프로파일러 llo_load, llo_query

이러한 도구는 집중적인 AI 조사 중에 실행되어 표준 상위 수준 프로파일링에 불투명하게 표시되는 커스텀 커널(예: Pallas 또는 Mosaic)의 하위 수준 실행 trace를 확인합니다.

AI 프로필 분석 보고서

캡처된 프로필에 대한 분석이 완료되면 ML 진단은 생성된 summary.html 보고서를 Cloud Storage 버킷에 저장하고 Google Cloud 콘솔의 진단 실행 > 프로필에 표시합니다. 이 보고서를 사용하여 워크로드의 전반적인 상태를 검토하고, 상위 성능 병목 현상을 검사하고, 권장 코드 또는 구성 변경사항을 식별할 수 있습니다.

생성된 각 보고서에는 다음 섹션이 포함됩니다.

  • 분석 요약: OPTIMAL 또는 NEEDS_ATTENTION의 전반적인 상태, 3~5문장 요약, 단계 시간, 메모리 사용량, Roofline 효율성과 같은 주요 성능 측정항목을 표시합니다.
  • 우선순위가 지정된 병목 현상 및 실행 가능한 수정사항: 심각한 문제의 경우 P0부터 사소한 문제의 경우 P2까지 우선순위가 지정된 발견 항목을 나열합니다. 각 발견 항목에는 다음이 포함됩니다.
    • What's happening: 관련이 있는 경우 텐서 형태 및 레이아웃을 포함한 근본 원인에 대한 설명입니다.
    • 증거: 병목 현상이 측정된 XProf 측정항목 및 작업의 직접 인용입니다.
    • 예상 영향 및 수정: 영향을 받는 단계 시간 또는 메모리 양과 권장 프레임워크, 샤딩 또는 컴파일러 변경사항입니다.
  • 상세 XProf 도구 분석: 다음 분석에서 지원 데이터와 상세 분석을 제공합니다.
    • 루프라인 분석
    • 메모리 분석
    • 고수준 옵티마이저(HLO) 작업 프로필 분석
    • 커널 실행 통계
    • 커스텀 커널 및 하위 수준 옵티마이저 분석