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 mengevaluasi 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 menjadi papan peringkat peringkat dalam format CSV dan Markdown.
Kode sumber untuk tutorial ini tersedia di repositori
Video berikut menunjukkan alur kerja papan peringkat vLLM LLM di Deadline Cloud.
Perkiraan waktu: 20—40 menit (tergantung pada jumlah model dan tolok ukur).
Gambaran umum
Setiap tugas dalam EvalModels langkah memulai server vLLM lokal, menjalankan setiap benchmark dengan lm-evaluation-harness eLeutherai terhadap titik akhir lokal, lalu menghentikan vLLM. Untuk informasi lebih lanjut, lihat vLLM
Untuk menyelesaikan tutorial ini, ikuti langkah-langkah berikut:
-
Lengkapi prasyarat.
-
Siapkan peternakan Anda.
-
Kirimkan pekerjaan evaluasi.
-
Unduh dan tinjau hasil.
-
Pembersihan sumber daya
Prasyarat
Sebelum Anda mulai, pengaturan berikut disarankan:
-
Farm Deadline Cloud dengan armada yang dikelola layanan GPU NVIDIA (A10G atau L4, minimal 32 GB RAM, setidaknya 4 vCPU).
-
Antrian dengan lingkungan antrian conda terlampir yang membaca
CondaPackagesdan parameterCondaChannelspekerjaan. -
Deadline Cloud CLI diinstal pada workstation Anda. Untuk petunjuk instalasi, lihat repositori
deadline-cloud di situs web. GitHub -
Kuota layanan Deadline Cloud yang memadai untuk instans GPU. Model 3 default yang dijalankan
g5.xlarge(masing-masing 4 vCPU dan 1 GPU) membutuhkan setidaknya 3 GPU di bawah GPU instans OnDemand G per wilayah dan 12 vCPU di bawah vCPU per wilayah. OnDemand
catatan
Token Hugging Face hanya diperlukan untuk model yang terjaga keamanannya (seperti Llama). Daftar model default menggunakan model tanpa batas.
Siapkan peternakan Anda
Cara tercepat untuk mendapatkan peternakan yang kompatibel adalah dengan menerapkan CloudFormation template pertanian CUDA
Untuk mengkonfigurasi CLI untuk peternakan Anda
-
Setelah CloudFormation tumpukan mencapai
CREATE_COMPLETE, konfigurasikan Deadline Cloud CLI untuk menggunakan farm baru:deadline config set defaults.farm_idFarmId-from-stack-outputsdeadline config set defaults.queue_idCUDAQueueId-from-stack-outputs
Jika Anda sudah memiliki peternakan, konfigurasi berikut disarankan:
-
Armada SMF dengan GPU NVIDIA, setidaknya 32 GB RAM, dan setidaknya 4 vCPU.
-
Antrian dengan lingkungan antrian conda yang membaca
CondaPackagesdan parameterCondaChannelspekerjaan.
Kirimkan pekerjaan evaluasi
Untuk mengirimkan pekerjaan evaluasi
-
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 -
Kirim pekerjaan dengan model dan tolok ukur default:
deadline bundle submit . \ --parameter MaxModelLen=2048Daftar model default mengevaluasi tiga model kecil yang tidak beraturan:
Qwen/Qwen2.5-0.5B,Qwen/Qwen2.5-1.5B, danEleutherAI/pythia-1.4b. Tolok ukur default adalah rangkaian penalaran akal sehat:hellaswag,arc_easy,arc_challenge,winogrande. -
Pantau status pekerjaan di konsol Deadline Cloud atau dengan menggunakan
deadline job getperintah.
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. Model ID harus didukung oleh vLLM. Untuk informasi selengkapnya, lihat daftar model yang didukung
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 https://github.com/EleutherAI/lm-evaluation-harness/tree/main/lm_eval/tasks
Unduh dan tinjau hasil
Untuk mengunduh hasil papan peringkat
-
Setelah pekerjaan selesai, unduh output:
deadline job download-output --job-idjob-id -
Lihat papan peringkat:
cat leaderboard_results/leaderboard.md
Contoh berikut menunjukkan output papan peringkat yang khas:
# 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
-
Jika Anda menerapkan CloudFormation template pertanian CUDA, hapus tum CloudFormation pukan dari CloudFormation konsol.
-
Jika Anda menggunakan farm yang ada, hentikan atau hapus armada GPU yang Anda gunakan untuk tutorial ini.
-
Hapus file output lokal jika tidak lagi diperlukan:
rm -rf leaderboard_results/
Pemecahan masalah
Armada tidak meningkatkan jumlah pekerja
Penyebab paling umum adalah kuota layanan Deadline Cloud. Buka konsol Kuota Layanan
Sumber daya terkait
Sumber daya berikut memberikan informasi tambahan di GitHub situs web dan situs web VllM: