에서 영감을 받아 🤗 LLM 리더보드 열기 그리고 🤗 LLM-Perf 리더보드 열기 🏋️에서 기본 다국어 코드 생성 모델의 성능을 비교합니다. HumanEval 벤치마크 및 MultiPL-E. 또한 처리량을 측정하고 모델에 대한 정보를 제공합니다. 사람들이 학습을 위한 기본 모델로 시작할 수 있는 사전 학습된 개방형 다국어 코드 모델만 비교합니다.
빅 코드 모델 순위표란 무엇인가요?
커뮤니티에서 공개하는 코드 모델의 수가 증가함에 따라 그 기능을 안정적으로 벤치마킹하기 위한 종합적인 평가가 필요합니다. 이와 유사하게 🤗 LLM 리더보드 열기에서 여러 프로그래밍 언어의 코드 LLM을 평가하기 위한 두 가지 공통 벤치마크를 선택했습니다:
- HumanEval - 문서 문자열에서 프로그램을 합성할 때 기능적 정확성을 측정하기 위한 벤치마크입니다. 164개의 Python 프로그래밍 문제로 구성되어 있습니다.
- MultiPL-E - 휴먼에벌을 18개 프로그래밍 언어로 번역합니다.
- 처리량 측정 - 이러한 벤치마크 외에도 배치 크기 1과 50에서 모델 처리량을 측정하여 추론 속도를 비교합니다.
벤치마크 및 프롬프트
- 휴먼이밸-파이썬은 휴먼이밸에서 pass@1을 보고하고, 나머지는 멀티플-E 벤치마크에서 가져온 것입니다.
- 모든 언어의 경우, 기본 모델과 명령어 모델을 분리하는 HumanEval-Python을 제외한 모든 모델에 대해 원래의 벤치암르크 프롬프트를 사용합니다. 모든 기본 모델에 대해 HumanEval의 원래 코드 완성 프롬프트를 사용하지만, 인스트럭션 모델의 경우에는 휴먼에벌합성 각 모델의 작성자가 권장하는 토큰/텍스트로 구분됩니다(최대 생성 길이도 512가 아닌 2048을 사용합니다).
아래 그림은 옥토코더와 기본 휴먼에벌 프롬프트의 예시이며, 다른 프롬프트도 확인할 수 있습니다. 여기.

- 예외적으로 Phind 모델은 예외입니다. 이 모델은 명령어 버전보다 기본 프롬프트를 더 잘 따르는 것 같습니다. 따라서 저자의 권장 사항에 따라 마지막 줄 바꿈을 제거하지 않고 기본 HumanEval 프롬프트를 사용합니다. - 또한 WizardCoder-Python-34B-V1.0 및 WizardCoder-Python-13B-V1.0(CodeLLaMa 기반)의 경우, 원저자가 후처리에 사용한 HumanEval-Python 명령 프롬프트(HumanEvalSynthesize 대신)를 사용하며 코드는 [여기](https://github.com/bigcode-project/bigcode-evaluation-harness/pull/133))에서 확인할 수 있습니다.
평가 매개변수
- 모든 모델은 빅코드-평가-하네스 top-p=0.95, temperature=0.2, max_length_generation 512, n_samples=50으로 설정합니다.
처리량 및 메모리 사용량
- 처리량 및 최대 메모리 사용량은 다음을 사용하여 측정합니다. 최적 벤치마크 어떤 힘 LLM-Perf 리더보드 열기. (처리량 0은 OOM에 해당).
점수 및 순위
- 평균 점수는 모든 언어의 평균 합격률@1입니다. 승률의 경우 각 언어에 대한 모델 순위를 찾아 다음을 계산합니다.
num_models - (순위 -1)
를 클릭한 다음 모든 언어에 대해 이 결과를 평균합니다.
기타
- #Languages 열은 사전 교육에 포함된 프로그래밍 언어의 수를 나타냅니다. UNK는 언어 수를 알 수 없음을 의미합니다.
리더보드에 모델/결과를 제출하는 방법은 무엇인가요?
커뮤니티에서 새로운 모델에 대한 평가 결과를 제출하는 것을 환영합니다. 이러한 결과는 검증되지 않은 상태로 추가되지만, 다른 회원들이 확인하고자 할 경우 작성자는 자신의 세대를 업로드해야 합니다.
1 - 실행 평가
모델에서 평가를 실행하기 위한 자세한 가이드를 작성했습니다. 다음에서 찾을 수 있습니다. 빅코드-평가-하네스/리더보드. 이렇게 하면 원시 생성 및 메트릭 파일 외에 결과를 요약한 json 파일이 생성됩니다.
2- 결과 제출 🚀
결과를 제출하려면 풀 리퀘스트 을 클릭하고 커뮤니티 탭의 폴더 커뮤니티_결과
이 리포지토리에 있습니다:
- 라는 폴더를 만듭니다.
조직_모델명_사용자명
예를 들어BIGCODE_STARCODER_LOUBNABNL
- 가이드의 그룹화된 점수가 포함된 json 파일과 추가 생성 폴더 및 메트릭 폴더를 그 안에 넣으세요.
PR의 제목은 다음과 같아야 합니다. [커뮤니티 제출] 모델: org/model, 사용자명: your_username
를 클릭하고 조직 및 모델을 평가한 모델에 해당하는 것으로 바꿉니다.