기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
vLLM 및 lm-evaluation-harnessLLMs 벤치마크
이 자습서에서는 단일 Deadline Cloud 작업에서 여러 벤치마크와 비교하여 여러 대규모 언어 모델(LLMs)을 평가하는 방법을 안내합니다. 각 모델은 파라미터 스윕에서 하나의 작업이 되며 작업은 작업자 간에 병렬로 실행됩니다. 마지막 단계에서는 모델별 결과를 CSV 및 마크다운 형식으로 순위가 매겨진 리더보드로 집계합니다.
이 자습서의 소스 코드는 GitHub의 deadline-cloud-samples
다음 동영상은 Deadline Cloud의 vLLM LLM 리더보드 워크플로를 보여줍니다.
예상 시간: 20~40분(모델 및 벤치마크 수에 따라 다름).
개요
이 EvalModels 단계의 각 작업은 로컬 vLLM
이 자습서를 완료하려면 다음 단계를 따르세요.
-
사전 조건을 충족합니다.
-
팜을 설정합니다.
-
평가 작업을 제출합니다.
-
결과를 다운로드하고 검토합니다.
-
리소스를 정리합니다.
사전 조건
시작하기 전에 다음 설정을 권장합니다.
-
NVIDIA GPU 서비스 관리형 플릿(A10G 또는 L4, 최소 32GB RAM, 최소 4개의 vCPUs 있는 Deadline Cloud 팜.
-
CondaPackages및CondaChannels작업 파라미터를 읽는 conda 대기열 환경이 연결된 대기열입니다. -
워크스테이션에 설치된 Deadline Cloud CLI
입니다. -
GPU 인스턴스에 대한 충분한 Amazon Elastic Compute Cloud(Amazon EC2) vCPU 서비스 할당량입니다.
g5.xlarge(각각 vCPUs 4개)에서 실행되는 기본 3-모델에는 온디맨드 G 및 VT 인스턴스 실행에서 최소 12vCPUs가 필요합니다.
참고
Hugging Face 토큰은 게이트 모델(예: Llama)에만 필요합니다. 기본 모델 목록은 비동기 모델을 사용합니다.
팜 설정
호환되는 팜을 가져오는 가장 빠른 방법은 CUDA 팜 CloudFormation 템플릿을
팜에 대한 CLI를 구성하려면
-
CloudFormation 스택이에 도달하면 새 팜을 사용하도록 Deadline Cloud CLI를
CREATE_COMPLETE구성합니다.deadline config set defaults.farm_idFarmId-from-stack-outputsdeadline config set defaults.queue_idCUDAQueueId-from-stack-outputs
팜이 이미 있는 경우 다음 구성을 사용하는 것이 좋습니다.
-
NVIDIA GPUs, 최소 32GB RAM 및 최소 4개의 vCPUs.
-
CondaPackages및CondaChannels작업 파라미터를 읽는 conda 대기열 환경이 있는 대기열입니다.
평가 작업 제출
평가 작업을 제출하려면
-
샘플 리포지토리를 복제하고 작업 번들 디렉터리로 이동합니다.
git clone https://github.com/aws-deadline/deadline-cloud-samples.git cd deadline-cloud-samples/job_bundles/vllm_lm_eval_leaderboard -
기본 모델 및 벤치마크를 사용하여 작업을 제출합니다.
deadline bundle submit . \ --parameter MaxModelLen=2048기본 모델 목록은 , 및
Qwen/Qwen2.5-0.5BQwen/Qwen2.5-1.5B의 세 가지 작고 비동기화된 모델을 평가합니다EleutherAI/pythia-1.4b. 기본 벤치마크는 공통 추론 제품군인 입니다hellaswag,arc_easy,arc_challenge,winogrande. -
Deadline Cloud 콘솔에서 또는
deadline job get명령을 사용하여 작업 상태를 모니터링합니다.
모델 목록 변경
모델은의 EvalModels 단계에서 STRING 파라미터 공간으로 정의됩니다template.yaml.
parameterSpace: taskParameterDefinitions: - name: ModelName type: STRING range: - "Qwen/Qwen2.5-0.5B" - "Qwen/Qwen2.5-1.5B" - "EleutherAI/pythia-1.4b"
모델을 추가하거나 제거하려면 range 목록을 편집합니다. 각 항목은 Deadline Cloud 모니터에 표시되는 작업이 됩니다. 모델 IDs vLLM에서 지원해야 합니다(vLLM 지원 모델 목록
벤치마크 선택
Benchmarks 작업 파라미터는 lm-evaluation-harness 작업 이름의 쉼표로 구분된 목록입니다. 제출 시 기본 벤치마크를 재정의합니다.
deadline bundle submit . \ --parameter Benchmarks="hellaswag,mmlu,gsm8k"
목록의 모든 벤치마크는 각 모델의 vLLM 서버에 대해 순차적으로 실행됩니다. 가장 작은 모델의 컨텍스트 창보다 MaxModelLen 작거나 같게 유지합니다. 사용 가능한 벤치마크의 전체 목록은 GitHub의 lm-evaluation-harness 작업을
결과 다운로드 및 검토
리더보드 결과를 다운로드하려면
-
작업이 완료되면 출력을 다운로드합니다.
deadline job download-output --job-idjob-id -
리더보드 보기:
cat leaderboard_results/leaderboard.md
다음 예제에서는 일반적인 리더보드 출력을 보여줍니다.
# LLM Leaderboard Models: 3 | Benchmarks: arc_challenge, arc_easy, hellaswag, winogrande | Rank | Model | arc_challenge | arc_easy | hellaswag | winogrande | Mean | |------|------------------------|---------------|----------|-----------|------------|--------| | 1 | Qwen/Qwen2.5-1.5B | 0.4497 | 0.7176 | 0.6775 | 0.6322 | 0.6192 | | 2 | Qwen/Qwen2.5-0.5B | 0.3200 | 0.5816 | 0.5223 | 0.5691 | 0.4982 | | 3 | EleutherAI/pythia-1.4b | 0.2833 | 0.5387 | 0.5201 | 0.5730 | 0.4788 |
정리
지속적인 요금을 방지하려면이 자습서를 위해 생성한 리소스를 정리하십시오.
자습서 리소스를 정리하려면
-
CUDA 팜 CloudFormation 템플릿을 배포한 경우 CloudFormation 콘솔에서 CloudFormation 스택을 삭제합니다.
-
기존 팜을 사용한 경우이 자습서에서 사용한 GPU 플릿을 중지하거나 삭제합니다.
-
로컬 출력 파일이 더 이상 필요하지 않은 경우 제거합니다.
rm -rf leaderboard_results/
문제 해결
플릿이 작업자를 스케일 업하지 않음
가장 일반적인 원인은 Amazon EC2 vCPU 서비스 할당량입니다. EC2에서 Service Quotas 콘솔
관련 리소스
다음 리소스는 추가 정보를 제공합니다.