“특정 연산 패턴과 메모리 구조에 집중한 모니터링” 필요
연산 단계별 트레이싱, 메모리·전력 사용 패턴 분석, AI병목 자동 탐지
계층 간 통합, 해석 ‘지능형 모니터링 프레임워크’도 중요

AI반도체 이미지. .이종 AI반도체에 대한 AI워크로드 모니터링이 필요하다는 분석이다. (출처=언스플레시)
AI반도체 이미지. .이종 AI반도체에 대한 AI워크로드 모니터링이 필요하다는 분석이다. (출처=언스플레시)

[애플경제 전윤미 기자] 이종 AI반도체에 대한 모니터링 기술은 수준별 혹은 계층별 기술뿐 아니다. AI 워크로드에 특화된 모니터링 기법도 중요하다.

다만 AI 워크로드는 특정 연산 패턴과 메모리 구조에 집중한 모니터링이 요구된다. 또한 딥러닝 모델은 연산 흐름이 계층적이고 반복되므로, 메모리 할당이 부단히 변동된다. 그 때문에 고정된 자원 측정 방식으로는 병목 현상을 정확히 파악하기 어렵다는 지적이다.

이런 개념을 바탕으로 전문가들은 다양한 AI 워크로드 모니터링 기법을 제시하고 있다. 특히 전자통신연구원은 크게 ▲연산 단계별 트레이싱(trace profiling), ▲메모리 사용 패턴 분석, ▲전력 사용 패턴 분석, ▲AI병목 자동 탐지 기법 등으로 구분하고 있다.

다양한 AI 워크로드 모니터링 기법

우선 ‘연산 단계별 트레이싱’은 모델의 포워드와 백워드 경로마다 각각의 레이어(layer)나 연산자(operator)의 실행 시간을 측정하고, 병목 구간을 시각적으로 표시, 모델 최적화를 기하는 것이다. 이를 위해 파이토치 프로파일러(PyTorch Profiler)와 텐서보드(TensorBoard) 등을 도구로 사용한다. 이는 UI를 기반으로 토치-텐서RT(Torch-TensorRT), TVM과 같은 컴파일러 기반 최적화 도구와 연계될 수 있다.

역시 세밀하게 병목을 분석, 시각화가 쉽다는게 장점이다. 그러나 오버헤드가 발생할 수 있고, 장시간 학습에 부담을 준다는 단점도 있다. 그럼에도 이는 모델 최적화와 병목 탐지엔 가장 이상적이란 평가다.

메모리 및 전력 사용 패턴을 심층 분석하는 것도 유용한 방법이다. 이는 GPU 메모리 사용량이 증가하는 패턴을 모니터링하고, ‘overrun’을 방지하는 것이다. ‘Batch size’나, ‘activation 저장 방식’을 통해 ‘mixed precision’를 시도하기도 한다. 메모리 효율성을 개선하고, 안정성을 확보할 수 있다는게 장점이다. 그러나 이를 위해선 세밀한 튜닝 지식이 필요하다. 대규모 모델학습이나, 메모리 제한 환경에 적합한 기법이다.

AI반도체 이미지. (출처=언스플레시)
AI반도체 이미지. (출처=언스플레시)

전력 사용 패턴을 분석하는 기법도 많이 쓰인다. 이는 칩 수준과 시스템 레벨 전력 정보(RAPL, IPMI 등)를 종합, 효율성을 평가한다. 에너지 효율을 개선하고, 발열을 관리할 수 있다. 다만 정확도와 해상도에선 한계가 있으며, 일부 플랫폼에 종속될 우려도 있다. 데이터센터나 전력이 제약을 받는 환경에서 유용한 기법이다.

AI 병목 자동 탐지(auto bottleneck detection) 기법도 본격 연구되고 있다. 이는 다양한 자원 사용 지표를 통합적으로 분석, 병목현상이 왜 생기는지를 자동으로 판단한다. 어떤 연산자나 자원이 전체적인 지연을 가져오는지 등을 자동으로 판단하는 방식이다.

이러한 기법은 AutoML, ‘Neural Architecture Search’(NAS), 모델 컴파일 최적화 등에 활용된다. 이는 자동화를 기하면서 반복 작업을 감소시키곤 한다. 다만 초기 설정과 학습이 필요하며, 정확도를 위해 노력을 해야 한다는게 단점이기도 하다. 이 기법은 복잡한 파이프라인이나, 자동화된 최적화 시스템에 적합하다.

통합 모니터링 프레임워크

AI 워크로드에 대한 모니터링과 함께 계층(수준) 간 데이터를 통합, 해석할 수 있는 ‘지능형 모니터링 프레임워크’도 날로 강조되고 있다.

실제로 현장에선 단일 수준(계층)의 모니터링으로는 부족하다는 지적이 많다. 즉 여러 계층의 데이터를 연계, 모니터링함으로써 통합 분석할 수 있는 프레임워크가 필수란 얘기다. 이에 따라 최근 주요 기업과 오픈소스 커뮤니티에선 이를 위한 다양한 ‘통합 모니터링’ 도구들이 개발되고 있다.

글로벌 기업 중 대표적으로 NVIDIA의 DCGM(Datacenter GPU Manager)가 있다. 이는 다중 GPU 환경에서 전력, 온도, 오류 로그, 처리량 등을 수집하고, 이를 클러스터 관리자나 쿠버네티스와 통합할 수 있도록 API와 익스포터(Exporter)를 제공한다. 또한 자동으로 워크로드 재배치를 하기도 한다.

AI반도체 이미지. (출처=언스플레시)
AI반도체 이미지. (출처=언스플레시)

인텔의 ‘oneAPI Metrics Library’도 지능형 통합 모니터링 기법으로 분류된다. CPU와 GPU를 포함한 다양한 인텔 하드웨어에 대해 통합된 성능 지표를 제공한다. 또한 AI 모델 실행에 맞춰 연산 지연, 메모리 활용률, 스레드 충돌 등을 종합적으로 분석할 수 있다.

메타도 자체 AI 플랫폼에서 사용하는 ATC(Async Trace Collector)를 공개했다. 이는 대규모 AI 학습 클러스터에서 발생하는 수천 개의 연산 트레이스를 비동기적으로 수집, 분석하는 분산형 모니터링 시스템이다.

구글은 클라우드 기반의 통합 벤치마크 플랫폼인 ‘PerfKit Benchmarker’와 클라우드 오퍼레이션 슈트(Cloud Operations Suite)를 활용하고 있다. 이를 통해 하이브리드 클라우드 기반의 AI 워크로드 상태를 실시간으로 감시하고, SLA(서비스 수준 계약) 기반의 경고 체계를 운영한다.

저작권자 © 애플경제 무단전재 및 재배포 금지