일괄 실행 제출 및 흐름 평가
Important
이 문서에 표시된 항목(미리 보기)은 현재 퍼블릭 미리 보기에서 확인할 수 있습니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
대규모 데이터 세트에서 흐름이 얼마나 잘 수행되는지 평가하려면 일괄 실행을 제출하고 프롬프트 흐름에서 평가 방법을 사용하면 됩니다.
이 문서에서는 다음을 설명합니다.
- 일괄 실행 제출 및 평가 방법 사용
- 평가 결과 및 메트릭 보기
- 새로운 평가 라운드 시작
- 일괄 처리 실행 기록 확인 및 메트릭 비교
- 기본 제공 평가 방법 이해
- 흐름 성능을 개선하는 방법
필수 조건
일괄 실행을 수행하고 평가 방법을 사용하려면 다음을 준비해야 합니다.
- 일괄 처리 실행을 위한 테스트 데이터 세트. 데이터 세트는
.csv
,.tsv
또는.jsonl
형식 중 하나여야 합니다. 데이터에는 흐름의 입력 이름과 일치하는 헤더도 포함되어야 합니다. 흐름 입력에 목록 또는 사전과 같은 복잡한 구조가 포함된 경우jsonl
형식을 사용하여 데이터를 나타냅니다. - 일괄 처리를 실행하는 데 사용할 수 있는 컴퓨팅 세션입니다. 컴퓨팅 세션은 흐름을 실행하고 출력을 생성하는 클라우드 기반 리소스입니다. 컴퓨팅 세션에 대한 자세한 내용은 컴퓨팅 세션을 참조하세요.
일괄 실행 제출 및 평가 방법 사용
일괄 처리 실행을 사용하면 대규모 데이터 세트로 흐름을 실행하고 각 데이터 행에 대한 출력을 생성할 수 있습니다. 또한 흐름의 출력을 특정 기준 및 목표와 비교하는 평가 방법을 선택할 수도 있습니다. 평가 방법은 다양한 측면을 기반으로 흐름 출력에 대한 메트릭을 계산하는 특수한 형식의 흐름입니다. 평가 실행을 일괄 실행과 함께 제출하면 메트릭을 계산하기 위해 평가 실행이 수행됩니다.
평가와 함께 일괄 실행을 시작하려면 평가단추 - 사용자 지정 평가에서 선택할 수 있습니다. 사용자 지정 평가를 선택하면 평가 방법이 있는 일괄 실행을 제출하거나 흐름에 대한 평가 없이 일괄 실행을 제출할 수 있습니다.
첫째, 일괄 처리 실행에 대한 구체적이고 알아보기 쉬운 이름을 지정하라는 메시지가 표시됩니다. 설명을 작성하고 일괄 처리 실행에 태그(키-값 쌍)를 추가할 수도 있습니다. 구성을 마친 후 계속하려면 다음을 선택합니다.
둘째, 흐름을 테스트할 데이터 세트를 선택하거나 업로드해야 합니다. 이 일괄 처리 실행을 수행하는 데 사용할 수 있는 컴퓨팅 세션도 선택해야 합니다.
프롬프트 흐름은 흐름 입력을 데이터 세트의 특정 데이터 열에 매핑하는 것도 지원합니다. 즉, 열을 특정 입력에 할당할 수 있습니다. ${data.XXX}
형식으로 참조하여 열을 입력에 할당할 수 있습니다. 입력에 상수 값을 할당하려면 해당 값을 직접 입력하면 됩니다.
그러면 다음 단계에서 평가 방법을 사용하여 이 실행의 성능을 즉시 또는 나중에 확인할 수 있습니다. 평가 방법을 적용하거나 메트릭을 계산하지 않으려면 다음 단추를 직접 선택하여 이 단계를 건너뛸 수 있습니다. 또는 지금 평가와 함께 일괄 실행을 실행하려는 경우 하나 이상의 평가 방법을 선택할 수 있습니다. 일괄 실행이 완료된 후 평가가 시작됩니다. 일괄 실행이 완료된 후 다른 평가 라운드를 시작할 수도 있습니다. 새 평가 라운드를 시작하는 방법에 대한 자세한 내용은 새 평가 라운드 시작을 참조하세요.
다음 단계의 입력 매핑 섹션에서는 평가 방법에 필요한 입력 데이터의 원본을 지정해야 합니다. 예를 들어 실측 자료 열의 출처가 데이터 세트일 수 있습니다. 기본적으로 평가에서는 테스트 실행에 제공된 테스트 데이터 세트와 동일한 데이터 세트를 사용합니다. 그러나 해당 레이블이나 대상 참조 자료 값이 다른 데이터 세트에 있는 경우 해당 데이터 세트로 쉽게 전환할 수 있습니다.
- 데이터 원본의 출처가 실행 출력인 경우 원본은 ${run.output.[OutputName]}으로 표시됩니다.
- 데이터 원본의 출처가 테스트 데이터 세트인 경우 원본은 ${data.[ColumnName]}으로 표시됩니다.
참고 항목
평가에 데이터 세트의 데이터가 필요하지 않은 경우 입력 매핑 섹션에서 데이터 세트 열을 참조할 필요가 없습니다. 이는 데이터 세트 선택이 선택적 구성임을 나타냅니다. 데이터 세트 선택은 평가 결과에 영향을 미치지 않습니다.
평가 방법에서 LLM(대규모 언어 모델)을 사용하여 흐름 응답의 성능을 측정하는 경우 평가 방법에서 LLM 노드에 대한 연결도 설정해야 합니다.
그런 다음 다음을 선택하여 설정을 검토하고 제출을 선택하여 평가와 함께 일괄 실행을 시작할 수 있습니다.
평가 결과 및 메트릭 보기
제출 후에는 프롬프트 흐름 페이지의 실행 목록 탭에서 제출된 일괄 처리 실행을 찾을 수 있습니다. 실행을 선택하여 실행 결과 페이지로 이동합니다.
실행 세부 정보 페이지에서 세부 정보를 선택하여 이 일괄 처리 실행의 세부 정보를 확인할 수 있습니다.
출력
기본 결과 및 추적
그러면 먼저 입출력을 한 줄씩 볼 수 있는 출력 탭으로 이동됩니다. 출력 탭 페이지에는 라인 ID, 입력, 출력, 상태, 시스템 메트릭 및 만든 시간을 포함한 결과 테이블 목록이 표시됩니다.
각 행에 대해 추적 보기를 선택하면 추적 세부 정보 페이지에서 특정 테스트 사례를 관찰하고 디버깅할 수 있습니다.
평가 결과 및 추적 추가
평가 결과 추가를 선택하면 관련 평가 실행을 선택할 수 있으며 각 데이터 행에 대한 평가 결과를 표시하는 표 끝에 추가된 열이 표시됩니다. 비교를 위해 여러 평가 출력을 추가할 수 있습니다.
왼쪽 개요 패널에서 최신 평가 메트릭을 확인할 수 있습니다.
필수 개요
오른쪽의 개요는 데이터 포인트당 실행 횟수, 총 토큰, 실행 기간 등 실행에 대한 전반적인 정보를 제공합니다.
여기에는 기본적으로 최신 평가 실행 집계 메트릭이 표시되며, 평가 실행 보기를 선택하여 점프하여 평가 실행 자체를 볼 수 있습니다.
여기에서 개요를 확장하거나 축소할 수 있으며 전체 정보 보기를 선택하면 출력 탭 옆에 있는 개요 탭으로 이동하여 이 실행에 대한 자세한 정보를 확인할 수 있습니다.
새로운 평가 라운드 시작
일괄 처리 실행을 이미 완료한 경우 또 다른 평가 라운드를 시작하여 새 평가 실행을 제출하고 흐름 재실행 없이 출력의 메트릭을 계산할 수 있습니다. 이는 유용하며 다음과 같은 경우 흐름을 다시 실행하는 데 드는 비용을 절약할 수 있습니다.
- 일괄 처리 실행을 제출할 때 메트릭을 계산하기 위한 평가 방법을 선택하지 않았는데, 지금 선택하기로 결정했습니다.
- 메트릭을 계산하기 위해 이미 평가 방법을 사용했습니다. 또 다른 평가 라운드를 시작하여 다른 메트릭을 계산할 수 있습니다.
- 평가 실행이 실패했지만 흐름이 성공적으로 출력을 생성했습니다. 평가서를 다시 제출할 수 있습니다.
프롬프트 흐름 실행 탭으로 이동하면 됩니다. 그런 다음 일괄 실행 세부 정보 페이지로 이동하여 평가를 선택하여 다른 평가 라운드를 시작합니다.
구성을 설정한 후 새로운 평가 라운드에 대해 "제출"을 선택할 수 있습니다. 제출 후에는 프롬프트 흐름 실행 목록에서 새 레코드를 볼 수 있습니다. 평가 실행이 완료되면 마찬가지로 일괄 처리 실행 세부 정보 패널의 "출력" 탭에서 평가 결과를 확인할 수 있습니다. 결과를 보려면 새 평가 실행을 선택해야 합니다.
기본 제공 평가 방법으로 계산된 메트릭에 대해 자세히 알아보려면 기본 제공 평가 방법 이해를 참조하세요.
개요
개요 탭을 선택하면 실행 속성, 입력 데이터 세트, 출력 데이터 세트, 태그 및 설명을 포함하여 실행에 대한 포괄적인 정보가 표시됩니다.
로그
로그 탭을 선택하면 실행 로그를 볼 수 있으며, 이는 실행 오류를 자세히 디버깅하는 데 유용할 수 있습니다. 로그 파일을 로컬 컴퓨터에 다운로드할 수 있습니다.
스냅샷
스냅샷 탭을 선택하면 실행 스냅샷이 표시됩니다. 흐름의 DAG를 볼 수 있습니다. 또한 이를 복제하여 새 흐름을 만들 수 있는 옵션도 있습니다. 온라인 엔드포인트로 배포할 수도 있습니다.
일괄 처리 실행 기록 확인 및 메트릭 비교
일부 시나리오에서는 흐름을 수정하여 성능을 개선합니다. 일괄 처리 실행을 여러 개 제출하여 흐름 성능을 다른 버전과 비교할 수 있습니다. 또한 다양한 평가 방법으로 계산된 메트릭을 비교하여 어떤 방법이 흐름에 더 적합한지 확인할 수도 있습니다.
흐름의 일괄 실행 기록을 확인하려면 흐름 페이지의 일괄 실행 보기 단추를 선택합니다. 그러면 이 흐름에 대해 제출한 일괄 실행 목록이 표시됩니다.
각 일괄 처리 실행을 선택하여 세부 정보를 확인할 수 있습니다. 또한 일괄 실행을 여러 개 선택하고 출력 시각화를 선택하면 메트릭과 일괄 실행의 출력을 비교할 수 있습니다.
"출력 시각화" 패널의 실행 & 메트릭 표에는 선택한 실행의 정보가 강조 표시된 상태로 제공됩니다. 선택한 실행의 출력을 입력으로 사용하는 다른 실행도 나열됩니다.
"출력" 표에서, 선택한 일괄 처리 실행을 샘플의 한 줄씩 비교할 수 있습니다. "실행 & 메트릭" 표에서 "눈 시각화" 아이콘을 선택하면 해당 실행의 출력이 해당하는 기본 실행에 추가됩니다.
기본 제공 평가 방법 이해
프롬프트 흐름에서는 흐름 출력의 성능을 측정하는 데 도움이 되는 여러 기본 제공 평가 방법을 제공합니다. 각 평가 방법은 서로 다른 메트릭을 계산합니다. 기본 제공 평가 방법 및 해당 설명 목록은 다음 표를 참조하세요.
평가 방법 | 메트릭 | 설명 | 연결 필요 | 필수 입력 | 점수 값 |
---|---|---|---|---|---|
분류 정확도 평가 | 정확도 | 출력을 참조 자료와 비교하여 분류 시스템의 성능을 측정합니다. | 아니요 | 예측, 참조 자료 | [0, 1] 범위에 있습니다. |
QnA 관련성 점수 쌍별 평가 | 득점, 승/패 | 질문 답변 시스템에서 생성된 답변의 품질을 평가합니다. 여기에는 사용자 질문과 얼마나 잘 일치하는지에 따라 각 답변에 관련성 점수를 할당하고, 다양한 답변을 기본 답변과 비교하고, 결과를 집계하여 평균 승률 및 관련성 점수와 같은 메트릭을 생성하는 작업이 포함됩니다. | 예 | 질문, 답변(참조 자료 또는 컨텍스트 없음) | 점수: 0-100, 승/패: 1/0 |
QnA 접지 평가 | 접지 | 모델의 예측 답변이 입력 원본에 얼마나 근거가 있는지 측정합니다. LLM의 응답이 사실이더라도 원본에 대해 확인할 수 없다면 근거가 없는 것입니다. | 예 | 질문, 답변, 컨텍스트(참조 자료 없음) | 1부터 5까지이며, 1이 최악이고 5가 최고입니다. |
QnA GPT 유사성 평가 | GPT 유사성 | GPT 모델을 사용하여 사용자가 제공한 실측 자료 답변과 모델이 예측한 답변 간의 유사성을 측정합니다. | 예 | 질문, 답변, 참조 자료(컨텍스트가 필요하지 않음) | [0, 1] 범위에 있습니다. |
QnA 관련성 평가 | 정확도 | 모델의 예측 답변이 질문과 얼마나 관련성이 있는지 측정합니다. | 예 | 질문, 답변, 컨텍스트(참조 자료 없음) | 1부터 5까지이며, 1이 최악이고 5가 최고입니다. |
QnA 일관성 평가 | 일관성 | 모델의 예측 답변에 포함된 모든 문장의 품질과 문장이 자연스럽게 어떻게 어울리는지 측정합니다. | 예 | 질문, 답변(참조 자료 또는 컨텍스트 없음) | 1부터 5까지이며, 1이 최악이고 5가 최고입니다. |
QnA 유창성 평가 | 유창성 | 모델의 예측 답변이 문법적으로나 언어적으로 얼마나 정확한지 측정합니다. | 예 | 질문, 답변(참조 자료 또는 컨텍스트 없음) | 1부터 5까지(1이 가장 나쁨, 5가 가장 좋음) |
QnA f1 점수 평가 | F1 점수 | 모델 예측과 참조 자료 간의 공유 단어 수의 비율을 측정합니다. | 아니요 | 질문, 답변, 참조 자료(컨텍스트가 필요하지 않음) | [0, 1] 범위에 있습니다. |
QnA Ada 유사성 평가 | Ada 유사성 | 참조 자료과 예측 모두에 Ada 포함 API를 사용하여 문장(문서) 수준 포함을 계산합니다. 그런 다음 이들 사이의 코사인 유사성을 계산합니다(부동 소수점 숫자 1개). | 예 | 질문, 답변, 참조 자료(컨텍스트가 필요하지 않음) | [0, 1] 범위에 있습니다. |
흐름 성능을 개선하는 방법
평가에서 기본 제공 방법을 확인한 후 다음을 통해 흐름 성능을 개선해 볼 수 있습니다.
- 출력 데이터를 확인하여 흐름의 잠재적인 실패를 디버깅합니다.
- 성능을 개선하려면 흐름을 수정합니다. 여기에는 다음이 포함되지만 이에 국한되지는 않습니다.
- 프롬프트 수정
- 시스템 메시지 수정
- 흐름의 매개 변수 수정
- 흐름 논리 수정
목표를 달성할 수 있는 프롬프트를 생성하는 방법에 대한 자세한 내용은 프롬프트 엔지니어링 소개, 프롬프트 엔지니어링 기술 및 LLM(대규모 언어 모델)에 대한 시스템 메시지 프레임워크 및 템플릿 권장 사항을 참조하세요.
이 문서에서는 일괄 처리 실행을 제출하고 기본 제공 평가 방법을 사용하여 흐름 출력의 품질을 측정하는 방법을 알아보았습니다. 또한 평가 결과 및 메트릭을 보는 방법과 다른 방법 또는 변형 하위 집합을 사용하여 새로운 평가 라운드를 시작하는 방법도 알아보았습니다. 이 문서가 흐름 성능을 개선하고 프롬프트 흐름을 통해 목표를 달성하는 데 도움이 되기를 바랍니다.