대형 언어 모델(LLM)을 효과적으로 평가하려면, 제대로 된 데이터셋이 정말 중요하다는 것을 작업하면서 실감했습니다.
특히 Hugging Face에 데이터셋을 업로드해 모델을 평가하는 과정에서, JSONL 파일의 형식과 MCQA 데이터셋 구조에서 실수할 수 있는 부분이 꽤 많았습니다. 이번 글에서는 직접 해보며 배운 노하우들을 정리해 보았습니다.
1. Hugging Face에 데이터셋 업로드: JSONL 파일 형식의 중요성
Hugging Face는 여러 파일 형식을 지원하지만, JSONL 형식이 일반적이라는 점을 알게 되었습니다. 이 형식은 파일의 각 줄이 JSON 객체로 구성되어 있어 많은 데이터를 효율적으로 처리할 수 있습니다. 하지만 여기서 주의할 점은 key와 value를 반드시 쌍따옴표(")로 감싸야 한다는 것입니다. 일반 따옴표(')를 사용하면 파일이 읽히지 않거나 오류가 발생할 수 있다는 걸 여러 번 시도해 보며 깨달았습니다. 데이터셋을 업로드하기 전에 이 부분을 확인하는 것이 정말 중요하더라고요.
2. MCQA 데이터셋의 경우 주의사항
다중 선택 질문(MCQA) 형식의 데이터셋을 생성할 때는 생각보다 고려해야 할 점이 많았습니다.
- 선택지(choices)
- 리스트 형식입니다.
- (현실 세계의 문제들은 일반적으로) 각 항목 앞에 보기가 있습니다. 따라서 선택지를 만들 때에도 리스트의 앞에 보기를 붙여 [ "A. 선택지 1", "B. 선택지 2", "C. 선택지 3" ]처럼 작성하는 것이 좋습니다.
- 답지 (answer)
- 답지를 작성할 때는 선택지 리스트의 서브셋 또는 인덱스로 지정해야 합니다
- 이는 llm-eval-harness 패키지의 규칙으로, 데이터셋을 만들 때 부터 고려하는 것이 좋습니다.
- 일반적으로 우리가 답을 적는 방식 즉, 직접 보기 형식으로(A, B, C) 답을 적는 방식은 부적절합니다.
- 자세한 내용은 https://github.com/EleutherAI/lm-evaluation-harness/blob/main/examples/lm-eval-overview.ipynb 를 참고하세요 :)
- 답지를 작성할 때는 선택지 리스트의 서브셋 또는 인덱스로 지정해야 합니다
이처럼 직접 해보면서 깨달은 몇 가지 간단한 규칙을 지키면 Hugging Face 플랫폼에서 오류 없이 모델을 평가할 수 있습니다. 이렇게 얻은 팁들이 다른 분들이 LLM을 평가할 때 도움이 되길 바랍니다.
'LLM' 카테고리의 다른 글
[LLMRec/논문리뷰] TALLRec: An Effective and Efficient Tuning Framework to Align Large Language Model with Recommendation (1) | 2025.01.02 |
---|---|
[LLM] Hugging Face Dataset (0) | 2024.10.30 |
[LLM] openaieval 활용해서 LLM 모델 평가하기 (4) | 2024.10.27 |
[LLM] LLM for Financial Research Paper List: Read and To-Read (5) | 2024.10.24 |
[LangChain] Runnable (1) | 2024.10.23 |