View a markdown version of this page

vLLM 및 lm-evaluation-harnessLLMs 벤치마크 - 기한 클라우드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

vLLM 및 lm-evaluation-harnessLLMs 벤치마크

이 자습서에서는 단일 Deadline Cloud 작업에서 여러 벤치마크와 비교하여 여러 대규모 언어 모델(LLMs)을 평가하는 방법을 안내합니다. 각 모델은 파라미터 스윕에서 하나의 작업이 되며 작업은 작업자 간에 병렬로 실행됩니다. 마지막 단계에서는 모델별 결과를 CSV 및 마크다운 형식으로 순위가 매겨진 리더보드로 집계합니다.

이 자습서의 소스 코드는 GitHub의 deadline-cloud-samples 리포지토리에서 사용할 수 있습니다.

다음 동영상은 Deadline Cloud의 vLLM LLM 리더보드 워크플로를 보여줍니다.

예상 시간: 20~40분(모델 및 벤치마크 수에 따라 다름).

개요

EvalModels 단계의 각 작업은 로컬 vLLM 서버를 시작하고, 로컬 엔드포인트에 대한 EleutherAI의 lm-evaluation-harness를 사용하여 모든 벤치마크를 실행한 다음, vLLM을 중지합니다. 모델은 Hugging Face Hub에서 직접 로드되므로 작업 연결이 필요하지 않습니다.

이 자습서를 완료하려면 다음 단계를 따르세요.

  1. 사전 조건을 충족합니다.

  2. 팜을 설정합니다.

  3. 평가 작업을 제출합니다.

  4. 결과를 다운로드하고 검토합니다.

  5. 리소스를 정리합니다.

사전 조건

시작하기 전에 다음 설정을 권장합니다.

  • NVIDIA GPU 서비스 관리형 플릿(A10G 또는 L4, 최소 32GB RAM, 최소 4개의 vCPUs 있는 Deadline Cloud 팜.

  • CondaPackagesCondaChannels 작업 파라미터를 읽는 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 템플릿을 배포하는 것입니다. 템플릿은 NVIDIA GPU 서비스 관리형 플릿(A10G 또는 L4)과이 번들이 수정 없이 사용하는 conda 대기열 환경이 있는 대기열을 프로비저닝합니다.

팜에 대한 CLI를 구성하려면
  • CloudFormation 스택이에 도달하면 새 팜을 사용하도록 Deadline Cloud CLI를 CREATE_COMPLETE구성합니다.

    deadline config set defaults.farm_id FarmId-from-stack-outputs deadline config set defaults.queue_id CUDAQueueId-from-stack-outputs

팜이 이미 있는 경우 다음 구성을 사용하는 것이 좋습니다.

  • NVIDIA GPUs, 최소 32GB RAM 및 최소 4개의 vCPUs.

  • CondaPackagesCondaChannels 작업 파라미터를 읽는 conda 대기열 환경이 있는 대기열입니다.

평가 작업 제출

평가 작업을 제출하려면
  1. 샘플 리포지토리를 복제하고 작업 번들 디렉터리로 이동합니다.

    git clone https://github.com/aws-deadline/deadline-cloud-samples.git cd deadline-cloud-samples/job_bundles/vllm_lm_eval_leaderboard
  2. 기본 모델 및 벤치마크를 사용하여 작업을 제출합니다.

    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.

  3. 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 작업을 참조하세요.

결과 다운로드 및 검토

리더보드 결과를 다운로드하려면
  1. 작업이 완료되면 출력을 다운로드합니다.

    deadline job download-output --job-id job-id
  2. 리더보드 보기:

    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 |

정리

지속적인 요금을 방지하려면이 자습서를 위해 생성한 리소스를 정리하십시오.

자습서 리소스를 정리하려면
  1. CUDA 팜 CloudFormation 템플릿을 배포한 경우 CloudFormation 콘솔에서 CloudFormation 스택을 삭제합니다.

  2. 기존 팜을 사용한 경우이 자습서에서 사용한 GPU 플릿을 중지하거나 삭제합니다.

  3. 로컬 출력 파일이 더 이상 필요하지 않은 경우 제거합니다.

    rm -rf leaderboard_results/

문제 해결

플릿이 작업자를 스케일 업하지 않음

가장 일반적인 원인은 Amazon EC2 vCPU 서비스 할당량입니다. EC2에서 Service Quotas 콘솔을 열고 온디맨드 G 및 VT 인스턴스를 실행할 수 있는 헤드룸이 있는지 확인합니다. 할당량 증가는 영업일 기준 몇 분에서 이틀 정도 걸릴 수 있습니다.

다음 리소스는 추가 정보를 제공합니다.