LLM 모델 평가 하기

LLM 평가지표

  • 리더보드에서 사용할 평가지표를 생성 관리할 수 있습니다.

  • 평가 > 평가지표 > LLM 메뉴에서 평가지표 LLM 생성 버튼을 클릭합니다.

    • 제목 : 평가지표의 이름입니다.

    • 상세 설명 : 평가지표의 상세 설명입니다.

    • 관리그룹 : 평가지표를 소유하는 관리그룹입니다.

    • 데이터셋 : 평가지표에 사용할 데이터셋 입니다. 데이터 > 데이터셋 메뉴에서 데이터를 추가할 수 있습니다.

    • 데이터셋 리비전 : 평가지표에 사용할 데이터셋의 리비전 정보를 선택합니다.

    • 코드 : 선택된 데이터셋으로 LLM의 응답을 받고 평가할 python 코드를 추가합니다.

  • 샘플 데이터셋과 샘플 평가 코드입니다.

prompt_mnc
chosen_mnc

"질문: 광합성이 대부분의 먹이망의 기초가 되는 이유를 가장 잘 설명하는 문장은 무엇인가요? A. 햇빛은 거의 모든 생태계의 에너지원이다. B. 대부분의 생태계는 물보다 육지에 있다. C. 이산화탄소가 다른 기체보다 더 많이 존재한다. D. 모든 생태계의 생산자는 식물이다. 답변:"

A

"질문: 어떤 안전 장비가 곰팡이 포자가 호흡기로 들어오는 것을 막는 데 사용되나요? A. 안전 고글 B. 호흡 마스크 C. 고무 장갑 D. 납 앞치마 답변:"

B

"질문: 감수분열은 생식 세포가 분열하여 반수체 세포를 생성하는 세포 분열의 한 유형입니다. 감수분열은 어디에서 발생하나요? 1. 뇌 세포 2. 뼈 세포 3. 근육 세포 4. 난소 세포 답변:"

4

import re
async def evaluate(row: dict, predict: callable) -> float:
    """
    :param row: 평가에 사용할 데이터 (dict)
    :param predict: LLM을 호출하는 비동기 함수
    :return: 0 - 1 사이의 값으로 점수를 반환
    """
    score = 0.0
    prompt_mnc = row['prompt_mnc']
    input_prompt = f"아래 질문에 대해서 단계적으로 설명해준 이후에 답을 말해주세요. 최종 답변은 선택지에서 골라주세요.(예시. 추론: ... 답변: A, 추론: ... 답변: 1) {prompt_mnc}"
    answer = await predict(input_prompt)
    answer_part = answer.split('답변: ')[1]
    for i in ['A', 'B', 'C', 'D', 'E', '1', '2', '3', '4', '5']:
        if answer_part[0] == i:
            answer_result = i
    if row['chosen_mnc'] == answer_result:
        score = 1.0
    return score

LLM 리더보드

  • LLM 리더보드는 서빙 된 모델들에 대해 사용자가 지정한 평가 데이터와 평가 지표들을 사용하여 평가하고 각 모델들의 점수를 보여줄 수 있습니다.

  • 평가 > 리더보드 > LLM 메뉴에서 LLM 리더보드 생성을 클릭합니다.

  • 필요한 정보들을 입력하고, 미리 만들어 놓은 평가지표들을 추가합니다.

  • LLM 리더보드 목록에서 추가한 리더보드를 더블클릭합니다.

  • 평가실행 버튼을 클릭하고, 서빙되어 있는 LLM중에서 평가할 서빙을 선택하고, 실행합니다.

  • 평가가 완료 되면 서빙되어있는 모델들의 각 메트릭별 점수, 평균점수를 확인할 수 있습니다.

Last updated

Was this helpful?