AI 및 ML 관점: 성능 최적화

Last reviewed 2024-10-11 UTC

아키텍처 프레임워크: AI 및 ML 관점의 이 문서에서는 Google Cloud에서 AI 및 ML 워크로드의 성능을 최적화하는 데 도움이 되는 원칙 및 권장사항을 간략히 설명합니다. 이 문서의 권장사항은 아키텍처 프레임워크의 성능 최적화 요소에 따라 작성되었습니다.

AI 및 ML 시스템을 통해 조직에 새로운 자동화 및 의사결정 기능을 구현할 수 있습니다. 이러한 시스템의 성능은 수익, 비용, 고객 만족도와 같은 비즈니스 요인에 직접적인 영향을 미칠 수 있습니다. AI 및 ML 시스템의 잠재력을 최대한 발휘하려면 비즈니스 목표와 기술 요구사항에 따라 성능을 최적화해야 합니다. 성능 최적화 프로세스에는 종종 특정 절충점이 포함됩니다. 예를 들어 필요한 성능을 제공하는 설계 선택사항으로 인해 비용이 더 많이 들 수 있습니다. 이 문서의 권장사항은 비용과 같은 다른 고려사항보다 성능을 우선시합니다.

AI 및 ML 성능을 최적화하려면 모델 아키텍처, 매개변수, 학습 전략과 같은 요소에 관해 결정을 내려야 합니다. 이러한 결정을 내릴 때는 AI 및 ML 시스템과 배포 환경의 전체 수명 주기를 고려하세요. 예를 들어 매우 큰 LLM은 대규모 학습 인프라에서 성능이 우수할 수 있지만, 매우 큰 모델은 휴대기기와 같이 용량이 제한된 환경에서는 성능이 좋지 않을 수 있습니다.

비즈니스 목표를 실적 목표로 전환

성능을 최적화하는 아키텍처 결정을 내리려면 명확한 비즈니스 목표를 설정하는 것으로 시작합니다. 비즈니스 목표와 우선순위를 지원하는 데 필요한 기술적 성능을 제공하는 AI 및 ML 시스템을 설계합니다. 기술팀은 실적 목표와 비즈니스 목표 간의 매핑을 이해해야 합니다.

다음 권장사항을 고려하세요.

  • 비즈니스 목표를 기술 요구사항으로 변환: AI 및 ML 시스템의 비즈니스 목표를 구체적인 기술적 성능 요구사항으로 변환하고 요구사항을 충족하지 못할 경우의 영향을 평가합니다. 예를 들어 고객 이탈을 예측하는 애플리케이션의 경우 ML 모델은 정확성, 재현율과 같은 표준 측정항목에서 우수한 성능을 발휘해야 하며 애플리케이션은 짧은 지연 시간과 같은 운영 요구사항을 충족해야 합니다.
  • 모델 수명 주기의 모든 단계에서 성능 모니터링: 모델 배포 후 실험 및 학습 중에 핵심성과지표 (KPI)를 모니터링하고 비즈니스 목표에서 벗어난 부분을 관찰합니다.
  • 재현 가능하고 표준화된 평가를 위해 평가 자동화: 실험 평가를 위한 표준화되고 비교 가능한 플랫폼과 방법론을 사용하면 엔지니어가 성능 개선 속도를 높일 수 있습니다.

빈번한 실험 실행 및 추적

혁신과 창의성을 실적 개선으로 전환하려면 실험을 지원하는 문화와 플랫폼이 필요합니다. AI 및 ML 기술은 지속적으로 빠르게 발전하고 있으므로 성능 개선은 지속적인 프로세스입니다. 빠르고 반복적인 프로세스를 유지하려면 실험 공간을 학습 및 게재 플랫폼과 분리해야 합니다. 표준화되고 강력한 실험 프로세스가 중요합니다.

다음 권장사항을 고려하세요.

  • 실험 환경 빌드: 성능을 개선하려면 ML 파이프라인의 실험 및 공동 개발을 지원하는 강력한 전용 대화형 환경이 필요합니다.
  • 실험을 문화로 삽입: 프로덕션 배포 전에 실험을 실행합니다. 새 버전을 반복적으로 출시하고 항상 성능 데이터를 수집합니다. 다양한 데이터 유형, 기능 변환, 알고리즘, 초매개변수를 실험해 보세요.

학습 및 서빙 서비스 빌드 및 자동화

AI 모델 학습 및 서빙은 AI 서비스의 핵심 구성요소입니다. AI 모델을 빠르고 안정적으로 생성, 배포, 제공하는 것을 지원하는 강력한 플랫폼과 관행이 필요합니다. 핵심 AI 학습 및 제공 작업을 위한 기반 플랫폼을 만드는 데 시간과 노력을 투자하세요. 이러한 기반 플랫폼을 사용하면 팀의 시간과 노력을 줄이고 중장기적으로 결과물의 품질을 개선할 수 있습니다.

다음 권장사항을 고려하세요.

  • 학습 서비스의 AI 전문 구성요소 사용: 이러한 구성요소에는 Feature Store, 모델 레지스트리, 메타데이터 저장소, 모델 성능 평가 서비스와 같은 고성능 컴퓨팅 및 MLOps 구성요소가 포함됩니다.
  • 예측 서비스의 AI 전문 구성요소 사용: 이러한 구성요소는 고성능 확장형 리소스를 제공하고, 기능 모니터링을 지원하며, 모델 성능 모니터링을 사용 설정합니다. 성능 저하를 방지하고 관리하려면 안정적인 배포 및 롤백 전략을 구현하세요.

설계 선택사항을 성능 요구사항에 맞추기

실적을 개선하기 위해 설계 선택사항을 선택할 때는 선택사항이 비즈니스 요구사항을 충족하는지 아니면 낭비적이고 비생산적인지 신중하게 평가하세요. 적절한 인프라, 모델 또는 구성을 선택하려면 성능 병목 현상을 파악하고 성능 측정항목과 연결되는 방식을 평가합니다. 예를 들어 매우 강력한 GPU 가속기에서도 스토리지 레이어의 데이터 I/O 문제 또는 모델 자체의 성능 제한으로 인해 학습 작업에 성능 병목 현상이 발생할 수 있습니다.

다음 권장사항을 고려하세요.

  • 성능 목표에 따라 하드웨어 소비 최적화: 성능 요구사항을 충족하는 ML 모델을 학습하고 제공하려면 컴퓨팅, 스토리지, 네트워크 레이어에서 인프라를 최적화해야 합니다. 실적 목표에 영향을 미치는 변수를 측정하고 이해해야 합니다. 이러한 변수는 학습과 추론에 따라 다릅니다.
  • 워크로드별 요구사항에 중점: AI 및 ML 워크로드의 고유한 요구사항에 성능 최적화 작업을 집중합니다. 기본 인프라의 성능을 위해 관리형 서비스를 사용합니다.
  • 적절한 학습 전략 선택: 선행 학습된 여러 기본 모델을 사용할 수 있으며, 이러한 모델이 자주 출시됩니다. 작업에 최적의 성능을 제공할 수 있는 학습 전략을 선택합니다. 자체 모델을 빌드할지, 데이터에서 선행 학습된 모델을 조정할지, 선행 학습된 모델 API를 사용할지 결정합니다.
  • 실적 최적화 전략의 수익률이 감소할 수 있음을 인식: 특정 실적 최적화 전략이 측정 가능한 비즈니스 가치를 제공하지 않는 경우 해당 전략을 중단합니다.

성능 문제를 혁신, 해결, 조사하려면 설계 선택사항과 성능 결과 간에 명확한 연결고리를 설정합니다. 실험 외에도 애셋, 배포, 모델 출력, 출력을 생성한 구성 및 입력의 계보를 안정적으로 기록해야 합니다.

다음 권장사항을 고려하세요.

  • 데이터 및 모델 계보 시스템 빌드: 배포된 모든 애셋과 해당 실적 측정항목은 배포된 시스템을 초래한 데이터, 구성, 코드, 선택사항에 다시 연결되어야 합니다. 또한 모델 출력은 특정 모델 버전 및 출력이 생성된 방식에 연결되어야 합니다.
  • 설명 가능성 도구를 사용하여 모델 성능 개선: 모델 탐색 및 설명 가능성을 위한 도구와 벤치마크를 채택하고 표준화합니다. 이러한 도구를 사용하면 ML 엔지니어가 모델 동작을 이해하고 성능을 개선하거나 편향을 제거할 수 있습니다.

참여자

저자:

기타 참여자: