728x90
LLM 모델 평가 방법
(LLM 모델 평가와 LLM 시스템 평가가 있음/하기에는 LLM 모델 자체를 평가하는 방법 나열)
1) Coding Tasks
- HumanEval: LLM Benchmark for Code Generation
- 코드 생성 작업에서 LLM 성능 측정을 위한 전형적 평가 도구 (파이썬 코드 작성 후 얼마나 잘 만들었는지 평가)
- 구성 요소) 문제 설명/입력/출력/예제 제시해서 얼마나 정확한가, 얼마나 통과를 했는가
- 구성 데이터셋 : HumanEval 데이터 (단위 테스트가 포함된 164개 프로그래밍 과제와 생성된 코드의 기능적 정확성 평가)
- MBPP: Mostly Basic Python Programming
- 자연어 설명에서 파이썬 프로그램을 합성하는 LLM 능력 측정
- 974개 프로그램이 포함된 데이터 셋
- 프로그래밍의 기본, 표준 라이브러리 기능 등을 다루는 보급형 프로그래머가 해결할 수 있도록 설계
- 작업설명, 코드 솔루션 및 기능적 정확성을 확인할 수 있는 3개의 자동화된 테스트 케이스로 구성
2) Chatbot Assistance
- Chatbot Arena: 여러 LLM을 상호 비교하여 상대적인 성능을 평가하는 플랫폼
- 사용자들이 두 개의 LLM을 직접 비교하고, 더 나은 응답을 선택하도록 하여 모델의 성능을 평가
- 주로 사람의 판단에 기반한 평가로, 사용자가 모델 A와 모델 B의 응답을 비교하고 더 나은 것을 선택합니다. 이는 일종의 인간 평가(human evaluation)
- 다양한 LLM이 같은 질문에 대해 생성한 응답을 비교하여 상대적인 성능 순위를 매기는 데 사용
- MT Bench (Multi-turn Benchmark): LLM의 대화 능력을 평가하는 벤치마크
- 주로 다중 턴 대화(multi-turn conversation) 시나리오에서 모델의 성능을 평가
- 사용자가 많이 사용하는 8개의 범주 식별해서 질문 (Writing, Roleplay, Reasoning, Math, Coding 등)
- LLM judge - GPT-4를 이용해 평가 (사람이 아니라)
3) Reasoning (추론; 논리적 결론을 만드는 능력)
- ARC Benchmark: 과학적 추론 해결
- ARC(AI2 Reasoning Challenge) : 강력한 지식과 추론을 요구하는 테스트
- ARC 질문 세트는 Challenge set과 Easy set으로 분할
- Challenge set : 검색 기반 알고리즘과 단어 동시 발생 알고리즘에 의해 잘못 답변된 질문만 포함
- HellaSwag: 상식 추론 해결
- 문장의 일부분을 주고 이어질 게 뭐야?
- MMLU: 모델의 멀티태스킹 정확도 측정
- 광범위한 지식과 문제해결능력을 보유하고 있는지(인문학, 사회과학, 하드사이언스 등 기타분야 포함)
- 각 모델의 범주별 성과의 평균을 낸 다음 최종 점수를 위해 평균 산출
- LLM의 성능이 높지 않을까?
- TriviaQA: 다양한 도메인에서 퀴즈 문제를 얼마나 잘 푸는지
- 언어 모델이 질문에 대한 답변을 생성하는데 진실한지 여부 측정, 오답을 피할 수 있는지를 평가
- 건강, 법률, 금융, 정치를 포함한 38개 항목을 걸쳐 817개 질문으로 구성
- WinoGrande: 문맥을 잘 이해하고 의도에 맞게 해결하는지
- 자연어 처리를 기반으로 문맥을 올바르게 파악하는 LLM의 능력 테스트
- 두 개의 비슷한 쌍의 문장을 주고 적절한 답을 내고 있는지 확인
- GSM8k: 수학문제를 얼마나 잘 해결하는지
- 다단계 수학 문제 해결 능력 테스트
Open-source LLM 평가 프레임워크 (2024)
1) DeepEval - The Evaluation Framework for LLMs
2) MLFlow LLM Evaluation - LLM Model Evaluation (머신러닝에서도 많이 사용)
3) RAGAs - Evaluation framework for your Retrie
4) Deepchecks
5) Arize AI Phoenix
728x90
'LLM' 카테고리의 다른 글
LLM 모델 Postprocessing 및 fine-tuning (0) | 2024.08.25 |
---|---|
LLM 입력 정리 및 Transformer 모델(Encoder-Decoder 구조) (0) | 2024.08.25 |
LLM/sLLM/sLM 정의 및 특징 (0) | 2024.08.25 |
OpenAI Playground / MS Azure (1) | 2024.08.24 |
[LLM/sLLM/sLM] Langchain 정의, 기능, 사용 방법 (0) | 2024.08.24 |