평가(Evaluations)
개요
평가(Evaluation)란 무엇인가요?
평가는 AI 워크플로우가 신뢰할 수 있고 안정적으로 작동하도록 보장하는 핵심 기법입니다. 이는 귀하의 AI 제품이 취약한 개념 검증(PoC, Proof of Concept) 단계에 머무를지, 아니면 안정적으로 운영 가능한 프로덕션급 워크플로우로 발전할지를 결정합니다. 워크플로우 구축 단계뿐 아니라 프로덕션 환경에 배포된 이후에도 평가는 매우 중요합니다.
평가의 핵심은 여러 테스트 케이스로 구성된 테스트 데이터셋을 워크플로우에 입력하는 것입니다. 각 테스트 케이스는 일반적으로 워크플로우의 샘플 입력과 함께 기대 출력(expected output)도 포함하는 경우가 일반적입니다.
평가를 통해 다음과 같은 이점을 얻을 수 있습니다:
- 다양한 입력으로 워크플로우를 테스트하여 경계 조건(edge case)에서의 동작을 파악
- 수정할 때도 안심하고 변경할 수 있음 — 실수로 다른 기능에 영향을 줄 염려 없이 개발 가능
- 모델 또는 프롬프트(prompt) 간 성능 비교
다음 영상은 평가가 무엇인지, 왜 유용한지, 그리고 어떻게 작동하는지를 설명합니다:
왜 평가가 필요한가요?
AI 모델은 일반적인 코드와 본질적으로 다릅니다. 일반 코드는 결정론적이며(deterministic) 그 동작을 추론할 수 있습니다. 반면, 대형 언어 모델(LLM)은 일종의 "블랙박스"이기 때문에 추론이 어렵습니다. 따라서 LLM의 성능을 측정하기 위해서는 실제로 데이터를 입력하고 그 출력을 관찰해야 합니다.
모델이 프로덕션 환경에서 발생할 수 있는 모든 경계 조건을 충분히 반영한 다양한 입력으로 테스트된 후에야, 해당 모델의 안정성에 대한 신뢰를 가질 수 있습니다.
두 가지 평가 유형
배포 전 경량 평가(Lightweight Evaluation)
깨끗하고 포괄적인 데이터셋을 만드는 것은 어렵습니다. 초기 구축 단계에서는 소수의 예시만 생성해도 충분한 경우가 많습니다. 이러한 예시들은 워크플로우를 출시 가능한 상태(또는 개념 검증(PoC) 단계)까지 반복적으로 개선하는 데 도움이 됩니다. 이때는 공식적인 평가 지표 없이도 결과를 직관적으로 비교해 워크플로우의 품질을 대략 가늠할 수 있습니다.
배포 후 지표 기반 평가(Metric-based Evaluation)
워크플로우가 배포된 후에는 프로덕션 실행 기록으로부터 더 풍부하고 대표성 있는 데이터셋을 쉽게 구축할 수 있습니다. 버그를 발견하면 해당 버그를 유발한 입력을 데이터셋에 추가할 수 있습니다. 버그를 수정할 때는 전체 데이터셋에 대해 워크플로우를 다시 실행하는 것이 매우 중요합니다. 이는 회귀 테스트의 일종으로, 수정 사항이 다른 기능에 의도치 않은 영향을 미치지 않았는지를 검증합니다.
테스트 케이스가 너무 많아 하나하나 확인하기 어려울 경우, 평가는 출력 품질을 측정하기 위해 특정 특성을 수치화한 '지표(metric)'를 사용합니다. 이를 통해 여러 번의 실행 사이에서 품질 변화를 추적할 수도 있습니다.
두 가지 평가 유형 비교
| 배포 전 경량 평가 | 배포 후 지표 기반 평가 | |
|---|---|---|
| 반복마다 기대되는 성능 개선 폭 | 큼 | 작음 |
| 데이터셋 크기 | 작음 | 큼 |
| 데이터셋 출처 | 수동 생성 / AI 생성 / 기타 | 프로덕션 실행 기록 / AI 생성 / 기타 |
| 실제 출력 | 필수 | 필수 |
| 기대 출력 | 선택 사항 | 일반적으로 필수 |
| 평가 지표 | 선택 사항 | 필수 |
더 알아보기
- 경량 평가: 개발 단계에서 직접 선별한 테스트 케이스로 AI 워크플로우를 평가하기에 매우 적합합니다.
- 지표 기반 평가: 대규모 데이터셋에서 점수와 지표를 활용해 프로덕션 환경의 성능 및 정확성을 유지하는 고급 평가 방식입니다.
- 팁과 자주 발생하는 문제: 특정 평가 시나리오를 설정하는 방법과 일반적인 문제를 피하는 방법을 알아보세요.