생성 AI 애플리케이션을 위한 모델 모니터링(미리 보기)
프로덕션 시 모델을 모니터링하는 것은 AI 수명 주기의 필수적인 부분입니다. 데이터 및 소비자 동작의 변화는 시간이 지나면서 생성 AI 애플리케이션에 영향을 줄 수 있으며, 이로 인해 비즈니스 결과에 부정적인 영향을 주고 조직이 규정 준수, 경제적 위험 및 평판 위험에 노출되는 오래된 시스템이 생성될 수 있습니다.
Important
생성 AI 애플리케이션을 위한 모델 모니터링은 현재 공개 미리 보기로 제공됩니다. 이러한 미리 보기는 서비스 수준 약정 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
생성 AI 애플리케이션에 대한 Azure Machine Learning 모델 모니터링을 사용하면 프로덕션 시 LLM 애플리케이션을 보다 쉽게 모니터링하여 비즈니스에 최대한의 영향을 줄 수 있도록 안전성과 품질을 제공할 수 있습니다. 모니터링은 궁극적으로 생성 AI 애플리케이션의 품질과 안전성을 유지하는 데 도움이 됩니다. 기능 및 통합에는 다음이 포함됩니다.
- 모델 데이터 수집기를 사용하여 프로덕션 데이터를 수집합니다.
- Azure Machine Learning 프롬프트 흐름 평가 메트릭 상호 운용이 가능한 근거, 일관성, 유창성, 관련성 및 유사성과 같은 책임 있는 AI 평가 메트릭.
- 조직 대상에 따라 위반에 대한 경고를 구성하고 반복적으로 모니터링을 실행하는 기능
- Azure Machine Learning 스튜디오의 작업 영역 내 풍부한 대시보드에서 결과를 사용합니다.
- Azure Machine Learning 프롬프트 흐름 평가 메트릭과의 통합, 수집된 프로덕션 데이터를 분석하여 적시에 경고 제공, 시간에 따른 메트릭 시각화.
전체 모델 모니터링 기본 개념은 Azure Machine Learning을 사용한 모델 모니터링(미리 보기)을 참조하세요. 이 문서에서는 관리되는 온라인 엔드포인트에서 지원되는 생성 AI 애플리케이션을 모니터링하는 방법을 알아봅니다. 수행할 단계는 다음과 같습니다.
평가 메트릭
메트릭은 시퀀스-시퀀스 작업에 대한 평가기 모델 역할을 하는 특정 평가 지침(프롬프트 템플릿)으로 구성된 다음과 같은 최신 GPT 언어 모델에 의해 생성됩니다. 이 기술은 표준 생성 AI 평가 메트릭과 비교할 때 강력한 경험적 결과 및 인간의 판단과의 높은 상관 관계를 보여 줍니다. 프롬프트 흐름 평가에 대한 자세한 내용은 대량 테스트 제출 및 흐름 평가(미리 보기)를 참조하세요.
다음과 같은 GPT 모델이 지원되며 Azure OpenAI 리소스로 구성될 예정입니다.
- GPT-3.5 Turbo
- GPT-4
- GPT-4-32k
지원되는 메트릭은 다음과 같습니다. 각 메트릭에 대한 자세한 내용은 모니터링 평가 메트릭 설명 및 사용 사례를 참조하세요.
- 근거성: 모델의 생성된 답변이 입력 소스의 정보와 얼마나 잘 일치하는지 평가합니다.
- 관련성: 모델의 생성된 응답이 관련되어 있고 지정된 질문과 직접 연결된 정도를 평가합니다.
- 일관성: 언어 모델이 출력 흐름을 얼마나 원활하게 생성하고, 자연스럽게 읽고, 인간과 유사하게 언어를 모방할 수 있는지 평가합니다.
- 유창성: 생성된 AI의 예측 답변에 대한 언어 숙련도를 평가합니다. 생성된 텍스트가 문법 규칙, 구문 구조 및 어휘의 적절한 사용을 얼마나 잘 준수하는지 평가하여 언어적으로 정확하고 자연스러운 응답을 생성합니다.
- 유사성: 참값(ground truth) 문장(또는 문서)과 AI 모델에서 생성된 예측 문장 간의 유사성을 평가합니다.
메트릭 구성 요구 사항
생성 안전성 및 품질을 측정하려면 다음 입력(데이터 열 이름)이 필요합니다.
- 프롬프트 텍스트 - 지정된 원래 프롬프트("입력" 또는 "질문"라고도 함)
- 완료 텍스트 - API 호출에서 반환되는 최종 완성("출력" 또는 "응답"이라고도 함)
- 컨텍스트 텍스트 - 원래 프롬프트와 함께 API 호출로 전송되는 모든 컨텍스트 데이터. 예를 들어 특정 인증된 정보 소스/웹 사이트에서만 검색 결과를 얻으려면 평가 단계에서 정의할 수 있습니다. 프롬프트 흐름을 통해 구성할 수 있는 선택적 단계입니다.
- 참값(ground truth) 텍스트 - "진실의 소스"로 사용자 정의된 텍스트(선택 사항)
다음 표에 따라 생성할 수 있는 메트릭은 데이터 자산에 구성된 매개 변수를 기준으로 결정됩니다.
메트릭 | 프롬프트 | Completion | Context | 참값 |
---|---|---|---|---|
일관성 | Required | Required | - | - |
유창성 | Required | Required | - | - |
접지 | Required | 필수 | Required | - |
정확도 | Required | 필수 | Required | - |
유사성 | Required | 필수 | - | Required |
필수 조건
- Azure OpenAI 리소스: 충분한 할당량으로 만든 Azure OpenAI 리소스가 있어야 합니다. 이 리소스는 평가 엔드포인트로 사용됩니다.
- 관리 ID: 다음 단계에서 정의된 대로 CLI v2를 사용하여 사용자가 할당한 관리 ID 연결의 지침을 사용하여 충분한 역할 액세스 권한으로 UAI(사용자가 할당한 관리 ID)를 만들고 작업 영역에 연결합니다.
- 역할 액세스 필요한 권한이 있는 역할을 할당하려면 리소스에 대해 소유자 또는 Microsoft.Authorization/roleAssignments/write 권한이 있어야 합니다. 연결 및 사용 권한을 업데이트하는 데는 몇 분 정도 걸릴 수 있습니다. 다음과 같은 추가 역할이 UAI에 할당되어야 합니다.
- 리소스: 작업 영역
- 역할: Azure Machine Learning 데이터 과학자
- 작업 영역 연결: 이 지침에 따라 모니터링 메트릭을 계산하는 데 사용되는 Azure OpenAI 엔드포인트에 대한 자격 증명을 나타내는 관리 ID를 사용합니다. 연결이 흐름에 사용되면 삭제하지 마세요.
- API 버전: 2023-03-15-preview
- 프롬프트 흐름 배포: 이 지침에 따라 프롬프트 흐름 런타임을 만들고, 흐름을 실행하고, 이 문서를 가이드로 사용하여 배포가 구성되었는지 확인합니다.
- 흐름 입력 및 출력: 흐름 출력의 이름을 적절하게 지정하고 모니터를 만들 때 이러한 열 이름을 기억해야 합니다. 이 문서에서는 다음을 사용합니다.
- 입력(필수): "prompt"
- 출력(필수): "completion"
- 출력(선택 사항): "context" | "ground truth"
- 데이터 수집: "배포"(프롬프트 흐름 배포 마법사의 2단계)에서 모델 데이터 수집기를 사용하여 '유추 데이터 수집' 토글을 사용하도록 설정해야 합니다.
- 출력: 출력(프롬프트 흐름 배포 마법사의 3단계)에서 메트릭 구성 요구 사항을 충족하는 위에 나열된 필수 출력(예: completion | context | ground_truth)을 선택했는지 확인합니다.
- 흐름 입력 및 출력: 흐름 출력의 이름을 적절하게 지정하고 모니터를 만들 때 이러한 열 이름을 기억해야 합니다. 이 문서에서는 다음을 사용합니다.
참고 항목
컴퓨팅 인스턴스가 VNet 뒤에 있는 경우 프롬프트 흐름에서 네트워크 격리를 참조하세요.
모니터 만들기
기본 모니터링 설정 구성
모니터링 만들기 마법사에서 스크린샷에 표시된 (A)처럼 model task type을 prompt & completion으로 변경합니다.
데이터 자산 구성
모델 데이터 수집기를 사용한 경우 두 개의 데이터 자산(입력 및 출력)을 선택합니다.
모니터링 신호 선택
- 스크린샷에서 작업 영역 연결(A)을 구성합니다.
- Azure OpenAI 평가기 배포 이름(B)을 입력합니다.
- (선택 사항) 프로덕션 데이터 입력 및 출력 조인: 프로덕션 모델 입력 및 출력은 모니터링 서비스(C)에 의해 자동으로 조인됩니다. 필요한 경우 사용자 지정할 수 있지만 어떤 작업도 수행할 필요가 없습니다. 기본적으로 조인 열은 correlationid입니다.
- (선택 사항) 메트릭 임계값 구성: 허용되는 인스턴스당 점수는 3/5로 고정됩니다. 범위 [1,99]% 사이에서 허용되는 전체 통과율(%)을 조정할 수 있습니다.
프롬프트 흐름(E)에서 열 이름을 수동으로 입력합니다. 표준 이름은 ("prompt" | "completion" | "context" | "ground_truth")이지만 데이터 자산에 따라 구성할 수 있습니다.
(선택 사항) 샘플링 속도(F)를 설정합니다.
알림 구성
사용자가 조치할 필요는 없습니다. 필요한 경우 더 많은 수신자를 구성할 수 있습니다.
모니터링 신호 구성 확인
모니터링 상태 확인
성공적으로 구성된 경우 모니터링 파이프라인 작업이 다음과 같이 표시됩니다.
결과 사용
모니터링 개요 페이지
모니터 개요는 신호 성능에 대한 개요를 제공합니다. 자세한 내용은 신호 세부 정보 페이지에서 확인할 수 있습니다.
신호 세부 정보 페이지
신호 세부 정보 페이지를 사용하면 시간에 따른 메트릭(A)과 배포 히스토그램(B)을 볼 수 있습니다.
경고 해결
신호 임계값만 조정할 수 있습니다. 허용되는 점수는 3/5로 고정되며 'acceptable overall % passing rate' 필드를 조정하는 것만 가능합니다.