evalplus
valPlus v0.3.1
EvalPlus() =>? 소개 • 빠른 시작 • LLM 백엔드 • 문서 • 인용 • 승인
평가 플러스 데이터 세트를 사용하는 사람은 누구입니까? Evalsplus는 다음을 포함하여 다양한 LLM 팀에서 사용했습니다.
아래는 EvalPlus의 주목할만한 업데이트를 추적합니다.
v0.3.1 ] : Evalplus v0.3.1 공식적으로 공개되었습니다! 하이라이트 : (i) EvalPerf를 통한 코드 효율 평가, (ii) 모든 실행을위한 하나의 명령 : Generation + Post-Processing + Evaluation, (iii) Google Gemini 및 Anthropic 등과 같은 더 많은 추론 백엔드에 대한 지원 등.v0.3.0 ] : MBPP+ 작업을위한 개선 된 지상 진실 솔루션 (IDS : 459, 102, 559). Evalarena에게 감사합니다.v0.3.0 ] : MBPP+는 일부 깨진 작업 (399-> 378 작업)을 제거하여 v0.2.0 으로 업그레이드됩니다. ~ 4pp Pass@1 개선이 예상 될 수 있습니다.v0.2.1 ) bigcode-evaluation-harness를 통해 평가 플러스 데이터 세트를 사용할 수 있습니다! Humaneval+ Oracle Fixes (32).v0.2.0 ) MBPP+가 출시되었습니다! Humaneval 계약 및 입력 수정 (0/3/9/148/114/1/2/99/28/32/35/160).v0.1.7 ) 리더 보드 릴리스; Humaneval+ 계약 및 입력 수정 (32/166/126/6)v0.1.6 ) 구성 가능하고 기본적으로 보수적 인 시간 초과 설정; Humaneval+ 계약 및 지상 진실 수정 (129/148/75/53/0/3/9/140)v0.1.5 ) Humaneval+ Mini는 너무 많은 샘플이있을 때 매우 빠른 평가를 위해 출시됩니다!v0.1.1 ) 사용자 경험 최적화 : 평가 속도, PYPI 패키지, 도커 등v0.1.0 ) Humaneval+가 출시되었습니다! Evallus는 다음과 같은 LLM4 코드에 대한 엄격한 평가 프레임 워크입니다.
왜 평가?
자세한 내용을 알고 싶으십니까? 우리의 논문 및 자료를 읽으십시오!
pip install --upgrade " evalplus[vllm] @ git+https://github.com/evalplus/evalplus "
# Or `pip install "evalplus[vllm]" --upgrade` for the latest stable release
evalplus.evaluate --model " ise-uiuc/Magicoder-S-DS-6.7B "
--dataset [humaneval | mbpp]
--backend vllm
--greedy # Local generation
evalplus.codegen --model " ise-uiuc/Magicoder-S-DS-6.7B "
--dataset humaneval
--backend vllm
--greedy
# Code execution within Docker
docker run --rm --pull=always -v $( pwd ) /evalplus_results:/app ganler/evalplus:latest
evalplus.evaluate --dataset humaneval
--samples /app/humaneval/ise-uiuc--Magicoder-S-DS-6.7B_vllm_temp_0.0.jsonlpip install --upgrade " evalplus[perf,vllm] @ git+https://github.com/evalplus/evalplus "
# Or `pip install "evalplus[perf,vllm]" --upgrade` for the latest stable release
sudo sh -c ' echo 0 > /proc/sys/kernel/perf_event_paranoid ' # Enable perf
evalplus.evalperf --model " ise-uiuc/Magicoder-S-DS-6.7B " --backend vllm # Local generation
evalplus.codegen --model " ise-uiuc/Magicoder-S-DS-6.7B "
--dataset evalperf
--backend vllm
--temperature 1.0
--n-samples 100
# Code execution within Docker
sudo sh -c ' echo 0 > /proc/sys/kernel/perf_event_paranoid ' # Enable perf
docker run --cap-add PERFMON --rm --pull=always -v $( pwd ) /evalplus_results:/app ganler/evalplus:latest
evalplus.evalperf --samples /app/evalperf/ise-uiuc--Magicoder-S-DS-6.7B_vllm_temp_1.0.jsonltransformers 백엔드 : evalplus.evaluate --model " ise-uiuc/Magicoder-S-DS-6.7B "
--dataset [humaneval | mbpp]
--backend hf
--greedy메모
EvalPlus는 기본 및 채팅 모델에 다양한 프롬프트를 사용합니다. 기본적으로 hf / vllm 백엔드로 사용할 때 tokenizer.chat_template 에 의해 감지됩니다. 다른 백엔드의 경우 채팅 모드 만 허용됩니다.
따라서 기본 모델에 tokenizer.chat_template 가 함께 있으면 채팅 모드에서 평가되지 않도록 --force-base-prompt 추가하십시오.
# Install Flash Attention 2
pip install packaging ninja
pip install flash-attn --no-build-isolation
# Note: if you have installation problem, consider using pre-built
# wheels from https://github.com/Dao-AILab/flash-attention/releases
# Run evaluation with FA2
evalplus.evaluate --model " ise-uiuc/Magicoder-S-DS-6.7B "
--dataset [humaneval | mbpp]
--backend hf
--attn-implementation [flash_attention_2 | sdpa]
--greedyvllm 백엔드 : evalplus.evaluate --model " ise-uiuc/Magicoder-S-DS-6.7B "
--dataset [humaneval | mbpp]
--backend vllm
--tp [TENSOR_PARALLEL_SIZE]
--greedyopenai 호환 서버 (예 : vllm) : # OpenAI models
export OPENAI_API_KEY= " {KEY} " # https://platform.openai.com/settings/organization/api-keys
evalplus.evaluate --model " gpt-4o-2024-08-06 "
--dataset [humaneval | mbpp]
--backend openai --greedy
# DeepSeek
export OPENAI_API_KEY= " {KEY} " # https://platform.deepseek.com/api_keys
evalplus.evaluate --model " deepseek-chat "
--dataset [humaneval | mbpp]
--base-url https://api.deepseek.com
--backend openai --greedy
# Grok
export OPENAI_API_KEY= " {KEY} " # https://console.x.ai/
evalplus.evaluate --model " grok-beta "
--dataset [humaneval | mbpp]
--base-url https://api.x.ai/v1
--backend openai --greedy
# vLLM server
# First, launch a vLLM server: https://docs.vllm.ai/en/latest/serving/deploying_with_docker.html
evalplus.evaluate --model " ise-uiuc/Magicoder-S-DS-6.7B "
--dataset [humaneval | mbpp]
--base-url http://localhost:8000/v1
--backend openai --greedy export OPENAI_API_KEY= " [YOUR_API_KEY] "
evalplus.evaluate --model " gpt-4o "
--dataset [humaneval | mbpp]
--backend openai
--greedy export ANTHROPIC_API_KEY= " [YOUR_API_KEY] "
evalplus.evaluate --model " claude-3-haiku-20240307 "
--dataset [humaneval | mbpp]
--backend anthropic
--greedy export GOOGLE_API_KEY= " [YOUR_API_KEY] "
evalplus.evaluate --model " gemini-1.5-pro "
--dataset [humaneval | mbpp]
--backend google
--greedy export BEDROCK_ROLE_ARN= " [BEDROCK_ROLE_ARN] "
evalplus.evaluate --model " anthropic.claude-3-5-sonnet-20241022-v2:0 "
--dataset [humaneval | mbpp]
--backend bedrock
--greedy evalplus_results/[humaneval|mbpp]/ 에서 생성 및 결과를 확인할 수 있습니다.
git clone https://github.com/evalplus/evalplus.git
cd evalplus
export PYTHONPATH= $PYTHONPATH : $( pwd )
pip install -r requirements.txt평가 플러스 사용 방법에 대한 자세한 내용은 다음을 참조하십시오.
@inproceedings { evalplus ,
title = { Is Your Code Generated by Chat{GPT} Really Correct? Rigorous Evaluation of Large Language Models for Code Generation } ,
author = { Liu, Jiawei and Xia, Chunqiu Steven and Wang, Yuyao and Zhang, Lingming } ,
booktitle = { Thirty-seventh Conference on Neural Information Processing Systems } ,
year = { 2023 } ,
url = { https://openreview.net/forum?id=1qvx610Cu7 } ,
}
@inproceedings { evalperf ,
title = { Evaluating Language Models for Efficient Code Generation } ,
author = { Liu, Jiawei and Xie, Songrun and Wang, Junhao and Wei, Yuxiang and Ding, Yifeng and Zhang, Lingming } ,
booktitle = { First Conference on Language Modeling } ,
year = { 2024 } ,
url = { https://openreview.net/forum?id=IBCBMeAhmC } ,
}