Evalverse: 거대 언어 모델 평가를 혁신하는 노코드 LLM 종합 평가 플랫폼
2024/04/16 | 작성자: 전영훈, 김지후, 송원호, 김다현, 김윤수, 김윤기, 박찬준
빠르게 발전하는 인공 지능 분야에서 거대 언어 모델(LLM)을 평가하는 일의 중요성은 커지고 있지만, 실제로 이를 실행하기 위해서는 복잡한 단계를 거쳐야 하기에 마냥 쉽지 않은 작업으로 여겨지곤 했습니다. 보다 손쉽고 통합된 LLM 평가 방법의 필요성을 인식한 Upstage는 거대 언어 모델의 평가 프로세스를 간소화하고 통합하도록 설계된 혁신적인 라이브러리인 Evalverse를 공개합니다. 이는 LLM을 더욱 체계적으로 평가할 수 있을 뿐만 아니라 더 많은 사람이 최첨단 평가 기법에 접근할 수 있도록 하여 AI의 발전이 더욱 풍부하게 이루어질 수 있도록 합니다.
Evalverse란 무엇인가요?
Evalverse는 다양한 평가 방법론을 통합하여 LLM의 평가를 간소화하도록 설계된 플랫폼입니다. 이 플랫폼은 lm-evaluation-harness 및 FastChat과 같은 잘 알려진 프레임워크를 하위 모듈로 통합합니다. 이러한 아키텍처를 통해 Evalverse는 통합 및 확장 가능한 라이브러리 역할을 할 수 있으며 업데이트 프로세스를 간소화하여 기술 고도화를 위해 유용하게 활용할 수 있다는 점이 특징입니다.
주요 기능
서브모듈을 통한 통합 평가: Evalverse는 Git 서브모듈을 활용하여 lm-evaluation-harness 및 FastChat과 같은 외부 평가 프레임워크를 통합하고 관리합니다. 이러한 접근 방식을 통해 새로운 서브모듈을 간편하게 추가할 수 있어 보다 광범위한 평가 프레임워크를 쉽게 지원할 수 있습니다. 또한, upstream 변경 사항을 원활하게 통합할 수 있어 다이나믹한 LLM 기술 환경에서 Evalverse를 최신 상태로 유지할 수 있습니다.
노코드 LLM 평가 기능: Evalverse는 Slack 상호 작용을 통해 액세스할 수 있는 코드 없는 평가 기능을 도입했습니다. 사용자는 다이렉트 메시지 또는 Evalverse Slack 봇이 활성화된 채널에 다음과 같이 "Request!"를 입력하여 요청을 시작하기만 하면 됩니다. 그러면 봇이 허깅페이스 허브에서 모델을 선택하거나 로컬 모델 디렉토리를 지정하는 과정을 사용자에게 안내하여 직접적인 코드 상호 작용 없이도 평가 프로세스를 실행할 수 있습니다.
(*현재 Slack만 지원하지만 향후 다른 플랫폼으로 확장할 계획입니다.)LLM 평가 보고서: Evalverse는 코드 없이 상세한 평가 보고서를 제공하여 사용자 편의성을 높였습니다. Report!를 입력하면 사용자가 시스템에 종합적인 평가 보고서를 생성하도록 요청할 수 있습니다. 사용자가 특정 모델과 평가 기준을 선택하면 Evalverse는 저장된 데이터를 기반으로 평균 점수와 순위를 계산합니다. 그런 다음 이러한 결과는 성능 표와 그래픽 시각화가 포함된 통찰력 있는 보고서로 제공되어 모델 성능을 심층적으로 이해할 수 있습니다.
Evalverse의 아키텍처
Evalverse의 아키텍처는 서브모듈, 커넥터, Evaluator, Compute Cluster, 데이터베이스 등 여러 핵심 구성 요소로 세심하게 설계되었습니다. 이러한 요소는 효율적으로 협업하여 평가가 원활하고 효과적으로 수행되도록 보장합니다. 이 강력한 시스템은 다양한 상호 작용 모드를 지원하도록 구축되어 Slack을 통한 노코드 평가와 기존의 코드 기반 평가를 모두 지원합니다. 이러한 이중 모드 기능은 사용자에게 유연성을 제공하고 다양한 선호도를 충족할 수 있어 기술에 대한 접근성과 사용자 친화성을 향상할 수 있습니다.
Submodule. 서브모듈은 LLM 평가와 관련된 무거운 작업을 담당하는 평가 엔진 역할을 하는 것으로, 공개적으로 사용 가능한 LLM 평가 라이브러리를 서브모듈로 Evalverse에 통합할 수 있습니다. 이를 통해 Evalverse를 확장할 수 있어 라이브러리를 최신 상태로 유지할 수 있습니다.
Connector. 커넥터는 서브모듈과 평가기를 연결하는 역할을 합니다. 여기에는 다양한 외부 라이브러리에서 가져온 평가 스크립트와 필요한 인수가 포함되어 있습니다.
Evaluator. Evaluator는 커넥터의 평가 스크립트를 활용하여 Compute Cluster에서 요청된 평가를 수행합니다. Evaluator는 리포터로부터 평가 요청을 받아 코드 없는 평가 방식을 용이하게 하거나 코드 기반 평가를 위해 최종 사용자로부터 직접 받을 수 있습니다.
Compute Cluster. Compute Cluster는 LLM 평가 프로세스를 실행하는 데 필요한 하드웨어 가속기의 모음입니다. 평가자가 실행할 평가 작업을 예약하면 Compute Cluster는 데이터베이스에서 필요한 모델과 데이터 파일을 가져옵니다. 평가 작업의 결과는 저장을 위해 데이터베이스로 전송됩니다.
데이터베이스. 데이터베이스에는 평가 프로세스에 필요한 모델 파일과 데이터가 평가 결과와 함께 저장됩니다. 저장된 평가 결과는 리포터가 사용자를 위한 평가 보고서를 작성하는 데 사용됩니다.
Reporter. 리포터는 사용자가 보낸 평가 및 보고서 요청을 처리하여 코드 없이 LLM 평가에 접근할 수 있도록 합니다. 리포터는 요청된 평가 작업을 평가자에게 전송하고 데이터베이스에서 평가 결과를 가져와 Slack과 같은 외부 커뮤니케이션 플랫폼을 통해 사용자에게 전송합니다. 이를 통해 사용자는 평가 결과를 요약한 표와 그림을 받아볼 수 있습니다.
라이선스
Evalverse는 완전히 자유롭게 액세스할 수 있는 오픈 소스이며 Apache License 2.0에 따라 라이선스가 부여됩니다.
자세한 내용은 데이터버스 문서 페이지에서 확인하세요: Evalverse 문서
실제 적용 및 데모
Evalverse의 데모 영상을 통해 사용자 친화적인 인터페이스를 가진 Evalverse의 실용성을 한눈에 확인할 수 있습니다. 이를 통해 사용자는 손쉽게 평가를 요청하고 종합적인 보고서를 받을 수 있습니다. 원활한 통합과 사용 편의성을 가진 Evalverse는 연구자와 실무자 모두에게 매우 유용한 리소스로서 복잡한 프로세스를 간소화하고 LLM 평가의 효율성을 높일 수 있습니다. 아래의 영상에서 인공지능 분야의 접근성과 유용성을 넓히고 있는 Evalverse를 자세히 살펴보세요.
용이한 접근성과 확장성을 제공하는 Evalverse는 LLM 평가 영역에서 상당한 도약을 이루었습니다. 다양한 산업 분야에서 이러한 강력한 모델의 개발과 배포를 크게 촉진할 수 있는 Evalverse의 잠재력은 무궁무진합니다. 혁신적인 Evalverse와 함께 여러분만의 LLM 평가를 시작해보세요!
인용
Evalverse 프로젝트를 인용하고 싶으시면 다음 bibtex를 자유롭게 사용하세요!
@article{kim2024evalverse, title={Evalverse: Unified and Accessible Library for Large Language Model Evaluation}, author={Kim, Jihoo and Song, Wonho and Kim, Dahyun and Kim, Yunsu and Kim, Yungi and Park, Chanjun}, journal={arXiv preprint arXiv:2404.00943}, year={2024} }