AI 평가 가이드라인
다소 예측 가능하게 동작하는 전통적인 소프트웨어 시스템과 달리 AI 기반 시스템은 사소한 입력 변경으로도 크게 다른 출력이 생성될 수 있습니다. 중앙화된 평가 프레임워크(CEF)는 GitLab에서 AI 기능을 평가하기 위한 간소화된 통합 접근 방식을 제공합니다.
다소 예측 가능하게 동작하는 전통적인 소프트웨어 시스템과 달리 AI 기반 시스템은 사소한 입력 변경으로도 크게 다른 출력이 생성될 수 있습니다. 이러한 예측 불가능성은 AI 생성 응답의 비결정론적 특성에서 비롯됩니다. 전통적인 소프트웨어 테스트 방법은 이러한 변동성을 처리하도록 설계되지 않았기 때문에 AI 평가가 필수적이 되었습니다. AI 평가는 시스템 성능, 품질 및 신뢰성을 평가하기 위해 AI 출력을 분석하는 데이터 기반의 정량적 프로세스입니다.
중앙화된 평가 프레임워크(CEF)는 GitLab에서 AI 기능을 평가하기 위한 간소화된 통합 접근 방식을 제공합니다. 이는 AI 기반 기능의 품질을 보장하기 위한 전략에 필수적입니다.
개념적으로 평가에는 세 가지 부분이 있습니다:
- 데이터셋: 테스트 입력(및 선택적으로 예상 출력)의 모음.
- 대상: 평가의 대상. 예를 들어, 프롬프트, 에이전트, 도구, 기능, 시스템 컴포넌트 또는 애플리케이션 전체.
- 메트릭: AI 생성 출력을 평가하는 데 사용되는 측정 가능한 기준.
각 부분은 아래에 설명된 대로 평가 프로세스에서 역할을 합니다:
- 수용 기준 설정: 올바른 대상 동작을 나타내는 메트릭을 정의합니다.
- 평가 설계: 기준을 평가하기 위해 메트릭을 점수화하는 평가자와 시나리오를 설계합니다.
- 데이터셋 생성: 일반적인 사용 패턴, 엣지 케이스 및 오류 조건을 포함하는 대표적인 예시를 수집합니다.
- 실행: 데이터셋에 대해 대상 평가를 실행합니다.
- 결과 분석: 결과를 수용 기준과 비교하고 개선 영역을 식별합니다.
- 반복 및 개선: 평가 결과를 기반으로 필요한 조정을 합니다.
수용 기준 설정#
대상 AI 기능 또는 컴포넌트가 올바르게 작동하는 시기를 결정하는 메트릭을 정의합니다. 선택한 메트릭은 원하는 비즈니스 결과가 달성되었을 때를 결정하는 성공 메트릭과 일치해야 합니다.
메트릭 유형#
다음은 관련될 수 있는 메트릭의 예시입니다:
- 정확도: AI 예측이 얼마나 자주 정확한지 측정합니다.
- 정밀도와 재현율: 올바르게 식별된 긍정 결과와 실제 긍정 수 사이의 균형을 평가합니다.
- F1 점수: 정밀도와 재현율을 하나의 메트릭으로 결합합니다.
- 지연 시간: 응답을 생성하는 데 걸리는 시간을 측정합니다.
- 토큰 사용량: 토큰 소비 측면에서 모델의 효율성을 평가합니다.
- 간결성 및 일관성: AI 출력의 명확성과 논리적 일관성을 평가합니다.
일부 대상의 경우 여기에 나열된 일반 메트릭보다 도메인별 메트릭이 더 중요할 수 있습니다. 경우에 따라 올바른 메트릭을 선택하는 것은 여러 팀과 사용자의 피드백이 포함된 점진적이고 반복적인 발견 및 실험 프로세스입니다.
임계값 정의#
가능하면 최소 허용 성능과 같이 각 메트릭에 대한 명확한 임계값을 설정합니다. 예를 들어:
- 정확도: 설명의 85% 이상이 기술적으로 정확해야 함
- 지연 시간: 95번째 백분위수 응답 시간이 3초 이하여야 함
새로운 메트릭에 대한 임계값을 정의하는 것이 불가능할 수 있습니다. 이는 특히 도메인별 메트릭에 적용됩니다. 일반적으로 허용 가능한 성능의 임계값을 정의하기 위해 사용자 기대에 의존합니다. 경우에 따라 기능을 출시하기 전에 사용자가 기대하는 것을 알 수 있어 그에 따라 임계값을 정의할 수 있습니다. 다른 경우에는 설정할 임계값을 알기 전에 피드백을 기다려야 할 수 있습니다.
평가 설계#
평가를 설계할 때 수용 기준에 대한 대상 AI 기능 또는 컴포넌트 성능을 측정하는 방법을 정의합니다. 여기에는 올바른 평가자를 선택하는 것이 포함됩니다. 평가자는 특정 메트릭에 대한 대상 AI 성능을 점수화하는 함수입니다. 평가 설계에는 현실적인 조건에서 대상 AI 기능 또는 컴포넌트를 테스트하는 시나리오 생성도 포함될 수 있습니다. 데이터셋 예시의 별개 카테고리로 또는 평가가 대상 AI 기능 또는 컴포넌트를 호출하는 방식의 변형으로 다양한 시나리오를 구현할 수 있습니다.
고려할 시나리오:
- 기준선 비교: 새로운 모델이나 프롬프트를 기준선과 비교하여 개선 사항을 결정합니다.
- 나란히 평가: 다른 모델, 프롬프트 또는 구성을 직접 비교합니다.
- 커스텀 평가자: 애플리케이션 요구에 관련된 AI 성능의 특정 측면을 테스트하기 위한 커스텀 평가 함수를 구현합니다.
- 데이터셋 샘플링: 대상의 다른 측면에 초점을 맞추는 다양한 데이터셋 하위 집합을 샘플링합니다.
데이터셋 생성#
잘 구조화된 데이터셋은 다양한 시나리오와 사용 사례에 걸쳐 AI 시스템 또는 컴포넌트를 일관되게 테스트하고 검증할 수 있게 합니다.
CEF와 LangSmith에서 데이터셋 작업에 대한 개요는 데이터셋 관리 문서를 참조하세요.
평가를 위한 데이터셋 생성 및 준비에 대한 자세한 정보는 데이터셋 생성 가이드라인과 LangSmith에 데이터셋 업로드 지침을 참조하세요.
합성 프롬프트 평가 데이터셋 생성기#
프롬프트를 평가하는 경우 데이터셋 생성기를 사용하여 빠르게 시작할 수 있습니다. AI 게이트웨이 프롬프트 정의에서 직접 합성 평가 데이터셋을 생성합니다. 빠른 데모를 시청할 수 있습니다.
평가 실행#
평가가 실행되면 CEF는 평가 데이터셋의 각 입력 예시에 대해 대상 AI 기능 또는 컴포넌트를 최소 한 번 호출합니다. 그런 다음 프레임워크는 평가자를 호출하여 AI 출력을 점수화하고 평가 결과를 제공합니다.
머지 리퀘스트에서#
평가 러너를 사용하여 머지 리퀘스트의 CI 파이프라인에서 평가를 실행할 수 있습니다. 원격 환경에 새로운 GDK 인스턴스를 시작하고, CEF를 사용하여 평가를 실행하고, CI 작업 로그에 결과를 보고합니다. 평가 러너 사용 방법 가이드를 참조하세요.
로컬 머신에서#
CEF를 사용하여 평가를 수행하는 단계별 가이드를 참조하세요.
결과 분석#
CEF는 LangSmith를 사용하여 평가 결과를 저장하고 분석합니다. 실험 분석 방법에 대한 LangSmith 가이드를 참조하세요.
특정 기능에 대한 지침은 로컬에서 평가 실행에 대한 기능별 문서의 결과 분석 섹션을 참조하세요. GitLab Duo Chat 평가 문서에서 평가 메트릭 해석에 대한 정보를 찾을 수도 있습니다.
기존 평가 파이프라인의 실행 및 결과 해석에 대한 문서를 업데이트하고 있습니다(#671 참조).
반복 및 개선#
AI 기능 개발 프로세스와 유사하게 평가를 반복한다는 것은 평가 결과가 나타내는 이전 단계로 돌아가는 것을 의미합니다. 프롬프트 엔지니어링은 이 단계의 핵심입니다. 그러나 데이터셋에 예시를 추가하거나, 기존 예시를 편집하거나, 평가 설계를 조정하거나, 메트릭과 성공 기준을 검토하고 수정하는 것도 포함될 수 있습니다.
추가 자료#
- AI 평가 도구: GitLab에서 사용하는 AI 평가 도구를 포함하는 그룹.
- LangSmith 평가 YouTube 플레이리스트: LangSmith로 평가에 대한 심층 분석.
- LangSmith 평가 쿡북: 다양한 평가 시나리오와 예시 포함.
- LangSmith 방법 가이드: 다양한 방법 안내 포함.
- GitLab Duo Chat 문서: 채팅 평가를 위한 LangSmith 설정 및 사용에 대한 종합 가이드.
- 프롬프트 및 AI 기능 평가 설정 및 워크플로우: 평가를 위한 전반적인 워크플로우 및 설정에 대한 세부 정보.
