이 출시되었습니다! 11월의 새로운 기능 및 수정 사항을 읽어보세요.

모델, 프롬프트 및 에이전트 평가

모델, 프롬프트 및 에이전트는 출력을 기준 데이터와 비교하고 평가 메트릭을 계산하여 평가할 수 있습니다. AI Toolkit은 이 프로세스를 간소화합니다. 최소한의 노력으로 데이터 세트를 업로드하고 포괄적인 평가를 실행합니다.

Screenshot showing the start of an evaluation in AI Toolkit.

프롬프트 및 에이전트 평가

Agent Builder에서 Evaluation 탭을 선택하여 프롬프트 및 에이전트를 평가할 수 있습니다. 평가하기 전에 데이터 세트에 대해 프롬프트 또는 에이전트를 실행합니다. 데이터 세트 작업 방법을 알아보려면 Bulk run에 대해 더 알아보세요.

프롬프트 또는 에이전트를 평가하려면

  1. Agent Builder에서 Evaluation 탭을 선택합니다.
  2. 평가하려는 데이터 세트를 추가하고 실행합니다.
  3. 좋아요와 싫어요 아이콘을 사용하여 응답을 평가하고 수동 평가 기록을 유지합니다.
  4. 평가자를 추가하려면 New Evaluation을 선택합니다.
  5. F1 점수, 관련성, 일관성 또는 유사성과 같은 내장 평가자 목록에서 평가자를 선택합니다.
    참고

    평가를 실행하기 위해 GitHub 호스팅 모델을 사용할 때 Rate limits가 적용될 수 있습니다.

  6. 필요한 경우 평가의 심사 모델로 사용할 모델을 선택합니다.
  7. Run Evaluation을 선택하여 평가 작업을 시작합니다.

Screenshot showing the Evaluation tab in Agent Builder with options to select evaluators, judging models, and run evaluation against a dataset.

버전 관리 및 평가 비교

AI Toolkit은 프롬프트 및 에이전트의 버전 관리를 지원하므로 다른 버전의 성능을 비교할 수 있습니다. 새 버전을 만들 때 평가를 실행하고 이전 버전과 결과를 비교할 수 있습니다.

프롬프트 또는 에이전트의 새 버전을 저장하려면

  1. Agent Builder에서 시스템 또는 사용자 프롬프트를 정의하고 변수 및 도구를 추가합니다.
  2. 에이전트를 실행하거나 Evaluate 탭으로 전환하고 평가할 데이터 세트를 추가합니다.
  3. 프롬프트 또는 에이전트에 만족하면 도구 모음에서 Save as New Version을 선택합니다.
  4. 선택적으로 버전 이름을 제공하고 Enter 키를 누릅니다.

버전 기록 보기

Agent Builder에서 프롬프트 또는 에이전트의 버전 기록을 볼 수 있습니다. 버전 기록은 각 버전에 대한 평가 결과를 포함한 모든 버전을 보여줍니다.

Screenshot showing the Version History dialog with a list of saved versions of a prompt or agent.

버전 기록 보기에서 다음을 수행할 수 있습니다.

  • 버전 이름 옆의 연필 아이콘을 선택하여 버전을 다시 이름 지정합니다.
  • 휴지통 아이콘을 선택하여 버전을 삭제합니다.
  • 버전 이름을 선택하여 해당 버전으로 전환합니다.

버전 간 평가 결과 비교

Agent Builder에서 다른 버전의 평가 결과를 비교할 수 있습니다. 결과는 각 평가자의 점수와 각 버전의 전체 점수를 보여주는 테이블로 표시됩니다.

버전 간 평가 결과를 비교하려면

  1. Agent Builder에서 Evaluation 탭을 선택합니다.
  2. 평가 도구 모음에서 Compare를 선택합니다.
  3. 비교하려는 버전을 목록에서 선택합니다.
    참고

    비교 기능은 평가 결과의 가시성을 높이기 위해 Agent Builder의 전체 화면 모드에서만 사용할 수 있습니다. Prompt 섹션을 확장하여 모델 및 프롬프트 세부 정보를 볼 수 있습니다.

  4. 선택한 버전에 대한 평가 결과는 테이블로 표시되어 각 평가자의 점수와 각 버전의 전체 점수를 비교할 수 있습니다.

Screenshot showing the Evaluation tab in Agent Builder with the interface for comparing evaluation results between different versions.

내장 평가자

AI Toolkit은 모델, 프롬프트 및 에이전트의 성능을 측정하기 위한 내장 평가자 세트를 제공합니다. 이러한 평가자는 모델 출력 및 기준 데이터에 따라 다양한 메트릭을 계산합니다.

에이전트의 경우

  • Intent Resolution: 에이전트가 사용자 의도를 얼마나 정확하게 식별하고 해결하는지 측정합니다.
  • Task Adherence: 에이전트가 식별된 작업을 얼마나 잘 이행하는지 측정합니다.
  • Tool Call Accuracy: 에이전트가 올바른 도구를 얼마나 잘 선택하고 호출하는지 측정합니다.

일반 목적의 경우

  • Coherence: 응답의 논리적 일관성과 흐름을 측정합니다.
  • Fluency: 자연어 품질과 가독성을 측정합니다.

RAG (검색 증강 생성)의 경우

  • Retrieval: 시스템이 관련 정보를 얼마나 효과적으로 검색하는지 측정합니다.

텍스트 유사성의 경우

  • Similarity: AI 지원 텍스트 유사성 측정.
  • F1 Score: 응답과 기준 데이터 간의 토큰 중복에서 정밀도와 재현율의 조화 평균입니다.
  • BLEU: 번역 품질을 위한 Bilingual Evaluation Understudy 점수; 응답과 기준 데이터 간의 n-그램 중복을 측정합니다.
  • GLEU: 문장 수준 평가를 위한 Google-BLEU 변형; 응답과 기준 데이터 간의 n-그램 중복을 측정합니다.
  • METEOR: 명시적 순서가 있는 번역 평가 지표; 응답과 기준 데이터 간의 n-그램 중복을 측정합니다.

AI Toolkit의 평가자는 Azure Evaluation SDK를 기반으로 합니다. 생성 AI 모델의 관찰 가능성에 대해 자세히 알아보려면 Microsoft Foundry 설명서를 참조하세요.

독립 실행형 평가 작업 시작

  1. AI Toolkit 보기에서 TOOLS > Evaluation을 선택하여 평가 보기로 이동합니다.

  2. Create Evaluation을 선택한 다음 다음 정보를 제공합니다.

    • Evaluation job name: 기본값을 사용하거나 사용자 지정 이름을 입력합니다.
    • Evaluator: 내장 또는 사용자 지정 평가자 중에서 선택합니다.
    • Judging model: 필요한 경우 심사 모델로 사용할 모델을 선택합니다.
    • Dataset: 학습을 위한 샘플 데이터 세트를 선택하거나 query, responseground truth 필드가 있는 JSONL 파일을 가져옵니다.
  3. 새 평가 작업이 생성됩니다. 평가 작업 세부 정보를 열 것이라는 메시지가 표시됩니다.

    Screenshot showing the Open Evaluation dialog in AI Toolkit.

  4. 데이터 세트를 확인하고 Run Evaluation을 선택하여 평가를 시작합니다.

    Screenshot showing the Run Evaluation dialog in AI Toolkit.

평가 작업 모니터링

평가 작업을 시작한 후 평가 작업 보기에서 상태를 볼 수 있습니다.

Screenshot showing a running evaluation in AI Toolkit.

각 평가 작업에는 사용된 데이터 세트에 대한 링크, 평가 프로세스의 로그, 타임스탬프 및 평가 세부 정보에 대한 링크가 포함됩니다.

평가 결과 찾기

평가 작업 세부 정보 보기에는 선택한 각 평가자에 대한 결과 테이블이 표시됩니다. 일부 결과에는 집계 값이 포함될 수 있습니다.

Open In Data Wrangler를 선택하여 Data Wrangler 확장으로 데이터를 열 수도 있습니다.

Screenshot showing the Data Wrangler extension with evaluation results.

사용자 지정 평가자 만들기

사용자 지정 평가자를 만들어 AI Toolkit의 내장 평가 기능을 확장할 수 있습니다. 사용자 지정 평가자를 사용하면 자체 평가 논리 및 메트릭을 정의할 수 있습니다.

Screenshot showing the custom evaluator creation interface in AI Toolkit.

사용자 지정 평가자를 만들려면

  1. Evaluation 보기에서 Evaluators 탭을 선택합니다.

  2. Create Evaluator를 선택하여 생성 양식을 엽니다.

    Screenshot showing the form to create a new custom evaluator.

  3. 필요한 정보 제공

    • Name: 사용자 지정 평가자의 이름을 입력합니다.
    • Description: 평가자가 수행하는 작업을 설명합니다.
    • Type: 평가자 유형을 선택합니다: LLM 기반 또는 코드 기반(Python).
  4. 선택한 유형에 대한 지침을 따라 설정을 완료합니다.

  5. Save를 선택하여 사용자 지정 평가자를 만듭니다.

  6. 사용자 지정 평가자를 만든 후 새 평가 작업을 만들 때 선택할 수 있는 평가자 목록에 나타납니다.

LLM 기반 평가자

LLM 기반 평가자의 경우 자연어 프롬프트를 사용하여 평가 논리를 정의합니다.

특정 품질을 평가하는 데 평가자를 안내하는 프롬프트를 작성합니다. 기준을 정의하고, 예제를 제공하고, 유연성을 위해 또는 와 같은 변수를 사용합니다. 필요한 경우 척도 또는 피드백 스타일을 사용자 지정합니다.

LLM이 JSON 결과(예: {"score": 4, "reason": "The response is relevant but lacks detail."})를 출력하는지 확인합니다.

Examples 섹션을 사용하여 LLM 기반 평가자를 시작할 수도 있습니다.

Screenshot showing the LLM-based evaluator configuration in AI Toolkit.

코드 기반 평가자

코드 기반 평가자의 경우 Python 코드를 사용하여 평가 논리를 정의합니다. 코드는 평가 점수 및 이유가 포함된 JSON 결과를 반환해야 합니다.

Screenshot showing the Evaluators tab in AI Toolkit with options for creating code-based evaluators.

AI Toolkit은 평가자 이름과 외부 라이브러리 사용 여부에 따라 스캐폴드를 제공합니다.

코드를 수정하여 평가 논리를 구현할 수 있습니다.

# The method signature is generated automatically. Do not change it.
# Create a new evaluator if you want to change the method signature or arguments.
def measure_the_response_if_human_like_or_not(query, **kwargs):
    # Add your evaluator logic to calculate the score.

    # Return an object with score and an optional string message to display in the result.
    return {
        "score": 3,
        "reason": "This is a placeholder for the evaluator's reason."
    }

학습 내용

이 문서에서는 다음 방법을 배웠습니다.

  • VS Code용 AI Toolkit에서 평가 작업을 만들고 실행합니다.
  • 평가 작업 상태를 모니터링하고 결과를 확인합니다.
  • 프롬프트 및 에이전트의 다른 버전에 대한 평가 결과 비교
  • 프롬프트 및 에이전트의 버전 기록 보기
  • 내장 평가자를 사용하여 다양한 메트릭으로 성능 측정
  • 사용자 지정 평가자를 만들어 내장 평가 기능 확장
  • LLM 기반 및 코드 기반 평가자를 사용하여 다양한 평가 시나리오에 적용
© . This site is unofficial and not affiliated with Microsoft.