AIP Evals와 평가 모음
AIP Evals는 AI를 사용하는 함수와 프롬프트의 동작을 평가하는 환경입니다. AIP Logic 함수, 함수로 게시한 AIP 챗봇, 코드로 작성한 함수 등을 대상으로 평가 사례와 기준을 구성하고 결과를 비교할 수 있습니다.
언어 모델을 사용하는 로직은 같은 입력에서도 결과가 달라질 수 있습니다. AIP Evals는 이러한 비결정성(non-determinism)을 고려하여 반복 실행의 차이를 살펴보고, 모델이나 함수 및 프롬프트의 변경이 결과에 미치는 영향을 조사하는 데 사용합니다.
평가 모음을 이루는 요소
평가 모음(Evaluation suite)은 평가 사례, 평가 대상 함수와 평가 함수를 묶은 구성입니다. 함수의 성능을 비교할 때 무엇을 실행하고 어떤 기준으로 결과를 판단할지를 함께 관리합니다.
| 구성 요소 | 의미 |
|---|---|
| 평가 대상 함수(Target function) | 동작을 평가할 함수 |
| 평가 함수(Evaluation function) | 실제 출력과 기대 출력 등을 비교하거나 결과의 성질을 평가하는 방법 |
| 평가 사례(Test case) | 실행에 사용할 입력과 기대 결과를 정의한 사례 |
| 평가 지표(Metric) | 평가 함수가 만들어 낸 결과 |
| 평가 실행 건 | 특정 구성으로 평가 모음을 수행한 실행 |
하나의 평가 모음에서 여러 평가 대상 함수를 함께 비교하도록 구성할 수 있습니다. 같은 문제에 대한 여러 구현이나 버전을 공통 사례에 적용하여 차이를 살펴보는 데 활용할 수 있습니다.
대상 함수와 평가 함수를 구분하기
평가 대상 함수는 실제 업무를 수행하는 함수입니다. 평가 함수는 그 결과를 어떻게 판단할지 정합니다.
가상의 고객 문의 분류 함수는 입력 문장을 받아 문의 범주를 반환합니다. 평가 함수는 반환한 범주가 기대 범주와 일치하는지 판단할 수 있습니다.
평가 결과가 좋지 않을 때에는 대상 함수의 입력과 출력뿐 아니라 평가 함수가 무엇을 측정하는지도 확인해야 합니다. 업무에 중요한 조건이 평가 기준에 빠져 있다면 점수가 높아도 그 조건에 대해 충분한 정보를 얻지 못합니다.
평가 사례의 입력과 기대 결과
다음은 분류 작업을 설명하기 위한 가상의 평가 사례입니다.
| 입력 | 기대 출력 |
|---|---|
배송 예정일이 지났는데 상품이 오지 않았어요. | 배송 문의 |
결제한 금액을 환불받고 싶어요. | 환불 문의 |
업무에서는 정상 입력, 경계 상황, 모호한 입력과 실패하기 쉬운 사례를 함께 고려하여 평가할 성질을 정합니다.
함수의 응답 전체를 그대로 비교할 수도 있고, 결과의 특정 성질을 측정하는 평가 함수를 사용할 수도 있습니다. 어떤 기준을 사용할지는 업무에서 기대하는 결과에 맞춰 정의해야 합니다.
지표를 개별 사례와 전체 실행에서 읽기
평가 함수의 결과는 사례별 지표로 생성됩니다. 개별 사례의 결과를 살펴보거나 여러 결과를 집계하여 실행 간 차이를 비교할 수 있습니다.
- 개별 사례는 어떤 입력에서 어떤 문제가 발생하는지 보여 줍니다.
- 집계 결과는 구성이나 버전의 변경이 전체 결과에 어떤 영향을 주는지 보여 줍니다.
집계 값만 보면 특정한 입력에서 발생한 문제가 가려질 수 있습니다. 반대로 한 사례의 결과만으로 전체 업무의 성능을 판단하기도 어렵습니다. 결과를 조사할 때에는 두 수준을 함께 사용합니다.
AIP Evals로 수행할 수 있는 작업
함수와 프롬프트 개선
평가 사례와 기준을 정한 뒤 실행 결과를 보면서 함수와 프롬프트를 수정할 수 있습니다. 수정 전후를 같은 사례로 비교하면 특정 변경이 결과에 미친 영향을 살펴보기 쉽습니다.
모델 비교
같은 함수의 목적과 사례를 유지하면서 모델을 바꾸어 비교할 수 있습니다. 모델별로 결과가 어떻게 달라지는지와 평가 기준을 어느 정도 충족하는지 조사합니다.
반복 실행의 차이 조사
여러 번 실행하여 결과의 변동을 볼 수 있습니다. 같은 입력에서 매번 다른 결과가 나오는지, 일부 사례에서만 변동이 큰지 등을 구분하면 LLM 기반 기능의 운영 조건을 판단하는 데 도움이 됩니다.
이전 버전과 비교
함수의 새 구현이나 프롬프트를 이전 버전의 결과와 비교할 수 있습니다. 새 버전에서 개선한 사례뿐 아니라 기존에 잘 처리하던 사례가 달라졌는지도 함께 확인합니다.
함수 종류에 따른 평가
| 대상 | 평가할 수 있는 내용의 예 |
|---|---|
| AIP Logic 함수 | 블록으로 구성한 AI 로직과 프롬프트의 결과 |
| 챗봇 함수 | 챗봇이 입력과 문맥 및 도구를 이용해 만든 결과 |
| 코드로 작성한 함수 | 코드 기반 처리의 결과와 설정 변화의 영향 |
AIP Logic을 이용한다면 Logic 함수의 구성과 실행을, 챗봇을 함수로 사용한다면 챗봇의 문맥과 도구를 함께 확인합니다.
AI FDE와의 연결
AIP Evals는 AI FDE에서도 통합 도구로 사용할 수 있습니다. 대화형 명령으로 평가 모음을 만들고 실행하는 작업을 수행할 수 있습니다.
어떤 화면에서 평가를 시작하더라도 평가 대상, 사례와 지표가 무엇인지 확인해야 합니다. 자동으로 구성한 사례나 제안받은 평가 기준도 업무의 실제 요구를 충분히 반영하는지 검토합니다.
운영 변경을 판단할 때
운영에 반영할 변경을 평가할 때는 입력 사례, 실행 권한 조건과 외부 시스템의 동작을 함께 검토해야 합니다.
평가에 사용한 사례와 기준, 비교한 대상 함수의 버전과 설정을 함께 살펴보고 어떤 조건에서 어떤 결과를 얻었는지 확인합니다.
구성과 실행 안내
- Logic 함수 평가 시작에서 사례와 문자열 일치 평가를 구성합니다.
- 평가 모음 구성은 여러 대상, 객체 집합 사례와 평가 함수별 비교 규칙을 설명합니다.
- 중간 출력 평가와 온톨로지 편집 평가로 최종 반환값 이외의 결과를 조사합니다.
- 실행 구성에서 권한, 보존, 반복과 병렬 실행 수를 정하고 실험에서 매개변수 조합을 비교합니다.
- 결과 분석, 지표 대시보드와 결과 데이터셋은 서로 다른 조사 및 공유 경로를 제공합니다.