피드로 돌아가기
A guide to setting up your own Hugging Face leaderboard: an end-to-end example with Vectara's hallucination leaderboard
Hugging Face BlogHugging Face Blog
Backend

Vectara가 Hugging Face 리더보드 템플릿을 기반으로 HHEM 리더보드를 구축해 LLM 환각 평가 모델을 동적으로 업데이트할 수 있는 시스템 구현

A guide to setting up your own Hugging Face leaderboard: an end-to-end example with Vectara's hallucination leaderboard

2024년 1월 12일8intermediate

Context

Vectara는 HHEM(Hughes Hallucination Evaluation Model)이라는 오픈소스 모델을 개발해 LLM의 환각 발생 정도를 측정했으나, 새로운 모델들을 계속 추가하고 관리할 수 있는 오픈소스 솔루션이 필요했습니다. 초기 배포는 GitHub 저장소만으로 제공되었기 때문에 사용자가 새로운 모델 평가를 동적으로 요청할 수 있는 메커니즘이 부족했습니다.

Technical Solution

  • Hugging Face 리더보드 템플릿 도입: Open LLM Leaderboard의 경량 버전을 기반으로 HHEM 리더보드 구축
  • 두 개의 관련 데이터셋 생성: "requests" 데이터셋으로 사용자의 새로운 LLM 평가 요청 관리, "results" 데이터셋으로 평가 결과 저장
  • SummaryGenerator 클래스 구현: HHEM 비공개 평가 데이터셋을 기반으로 요약문을 생성하고 Answer Rate 및 Average Summary Length 같은 메트릭 계산
  • EvaluationModel 클래스 구현: 독점 HHEM 모델을 로드해 Factual Consistency Rate와 Hallucination Rate 같은 메트릭 생성
  • Evaluator 클래스를 통한 평가 파이프라인: SummaryGenerator와 EvaluationModel을 활용해 JSON 형식 결과 생성 및 results 데이터셋에 자동 업로드
  • main_backend.py를 통한 자동화 관리: 대기 중인 평가 요청을 처리하고 평가 결과를 리더보드에 표시되도록 하는 백엔드 로직 구현

Key Takeaway

Hugging Face 리더보드 템플릿과 같은 오픈소스 기초 프레임워크를 활용하면, 복잡한 평가 로직을 백엔드 컴포넌트로 분리해 플러그인 방식으로 통합할 수 있으며, 이를 통해 Hugging Face Space로 쉽게 배포 가능한 확장 가능한 평가 플랫폼을 구축할 수 있습니다.


LLM 평가 또는 모델 비교 플랫폼을 개발하는 엔지니어 팀은 Hugging Face 리더보드 템플릿을 기반으로 하여 데이터셋 레이어(requests/results), 평가 로직 레이어(SummaryGenerator/EvaluationModel/Evaluator), 백엔드 관리 레이어(main_backend.py)를 분리하면, 사용자 요청 관리와 자동화된 평가 결과 반영을 동시에 처리할 수 있습니다.

원문 읽기