View a markdown version of this page

Benchmark LLM dengan VLLm dan lm-evaluation-harness - Batas Waktu Cloud

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Benchmark LLM dengan VLLm dan lm-evaluation-harness

Tutorial ini memandu Anda melalui evaluasi beberapa model bahasa besar (LLM) terhadap beberapa tolok ukur dalam satu pekerjaan Deadline Cloud. Setiap model menjadi satu tugas dalam sapuan parameter, dan tugas berjalan secara paralel di seluruh pekerja. Langkah terakhir menggabungkan hasil per model ke dalam papan peringkat dalam format CSV dan Markdown.

Kode sumber untuk tutorial ini tersedia di repositori deadline-cloud-samples pada. GitHub

Video berikut menunjukkan alur kerja leaderboard VLLM LLM di Deadline Cloud.

Perkiraan waktu: 20—40 menit (tergantung pada jumlah model dan tolok ukur).

Ikhtisar

Setiap tugas dalam EvalModels langkah memulai server VLLM lokal, menjalankan setiap benchmark dengan lm-evaluation-harness EleutherAI terhadap titik akhir lokal, lalu menghentikan VllM. Model dimuat langsung dari Hugging Face Hub, sehingga lampiran pekerjaan tidak diperlukan.

Untuk menyelesaikan tutorial ini, ikuti langkah-langkah berikut:

  1. Lengkapi prasyarat.

  2. Siapkan peternakan Anda.

  3. Kirimkan pekerjaan evaluasi.

  4. Unduh dan tinjau hasil.

  5. Pembersihan sumber daya

Prasyarat

Sebelum Anda mulai, pengaturan berikut disarankan:

  • Sebuah Deadline Cloud farm dengan armada yang dikelola layanan GPU NVIDIA (A10G atau L4, setidaknya 32 GB RAM, setidaknya 4 vCPU).

  • Antrian dengan lingkungan antrian conda terpasang yang membaca CondaPackages dan CondaChannels parameter pekerjaan.

  • The Deadline Cloud CLI diinstal pada workstation Anda.

  • Kuota layanan vCPU Amazon Elastic Compute Cloud (Amazon EC2) yang memadai untuk instans GPU. Default 3-model run on g5.xlarge (masing-masing 4 vCPU) membutuhkan setidaknya 12 vCPU di bawah instance Running G dan VT. On-Demand

catatan

Token Hugging Face hanya diperlukan untuk model yang terjaga keamanannya (seperti Llama). Daftar model default menggunakan model ungated.

Siapkan peternakan Anda

Cara tercepat untuk mendapatkan pertanian yang kompatibel adalah dengan menggunakan template pertanian CloudFormation CUDA. Template menyediakan armada yang dikelola layanan GPU NVIDIA (A10G atau L4) dan antrian dengan lingkungan antrian conda yang digunakan bundel ini tanpa modifikasi.

Untuk mengonfigurasi CLI untuk peternakan Anda
  • Setelah CloudFormation tumpukan mencapaiCREATE_COMPLETE, konfigurasikan Deadline Cloud CLI untuk menggunakan farm baru:

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

Jika Anda sudah memiliki peternakan, konfigurasi berikut direkomendasikan:

  • Armada SMF dengan GPU NVIDIA, setidaknya 32 GB RAM, dan setidaknya 4 vCPU.

  • Antrian dengan lingkungan antrian conda yang membaca CondaPackages dan CondaChannels parameter pekerjaan.

Kirim pekerjaan evaluasi

Untuk menyerahkan pekerjaan evaluasi
  1. Kloning repositori sampel dan arahkan ke direktori bundel pekerjaan:

    git clone https://github.com/aws-deadline/deadline-cloud-samples.git cd deadline-cloud-samples/job_bundles/vllm_lm_eval_leaderboard
  2. Kirim pekerjaan dengan model dan tolok ukur default:

    deadline bundle submit . \ --parameter MaxModelLen=2048

    Daftar model default mengevaluasi tiga model kecil berkuku:Qwen/Qwen2.5-0.5B,Qwen/Qwen2.5-1.5B, dan. EleutherAI/pythia-1.4b Tolok ukur default adalah rangkaian penalaran akal sehat:. hellaswag,arc_easy,arc_challenge,winogrande

  3. Pantau status pekerjaan di konsol Deadline Cloud atau dengan menggunakan deadline job get perintah.

Mengubah daftar model

Model didefinisikan sebagai ruang parameter STRING pada EvalModels langkah ditemplate.yaml:

parameterSpace: taskParameterDefinitions: - name: ModelName type: STRING range: - "Qwen/Qwen2.5-0.5B" - "Qwen/Qwen2.5-1.5B" - "EleutherAI/pythia-1.4b"

Untuk menambah atau menghapus model, edit range daftar. Setiap entri menjadi tugas yang terlihat di monitor Deadline Cloud. ID model harus didukung oleh VllM (lihat daftar model yang didukung VLLm).

Memilih tolok ukur

Parameter Benchmarks pekerjaan adalah daftar nama tugas lm-evaluation-harness yang dipisahkan koma. Ganti tolok ukur default pada waktu pengiriman:

deadline bundle submit . \ --parameter Benchmarks="hellaswag,mmlu,gsm8k"

Semua tolok ukur dalam daftar berjalan secara berurutan terhadap server VLLM masing-masing model. Simpan MaxModelLen kurang dari atau sama dengan jendela konteks model terkecil. Untuk daftar lengkap tolok ukur yang tersedia, lihat tugas lm-evaluation-harness di. GitHub

Unduh dan tinjau hasil

Untuk mengunduh hasil leaderboard
  1. Setelah pekerjaan selesai, unduh output:

    deadline job download-output --job-id job-id
  2. Lihat papan peringkat:

    cat leaderboard_results/leaderboard.md

Contoh berikut menunjukkan output leaderboard tipikal:

# 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 |

Bersihkan

Untuk menghindari biaya yang sedang berlangsung, bersihkan sumber daya yang Anda buat untuk tutorial ini:

Untuk membersihkan sumber daya tutorial
  1. Jika Anda menerapkan CloudFormation template pertanian CUDA, hapus CloudFormation tumpukan dari konsol. CloudFormation

  2. Jika Anda menggunakan peternakan yang ada, hentikan atau hapus armada GPU yang Anda gunakan untuk tutorial ini.

  3. Hapus file output lokal jika tidak lagi diperlukan:

    rm -rf leaderboard_results/

Pemecahan masalah

Armada tidak meningkatkan pekerja

Penyebab paling umum adalah kuota layanan vCPU Amazon EC2. Buka konsol Service Quotas di bawah EC2 dan konfirmasikan bahwa Anda memiliki headroom untuk Running On-Demand G dan VT instans. Peningkatan kuota dapat memakan waktu beberapa menit hingga beberapa hari kerja.

Sumber daya berikut memberikan informasi tambahan: