Rumah  >  Artikel  >  Peranti teknologi  >  Disukai oleh Jia Yangqing: SGLang dengan 3K bintang dikeluarkan, mempercepatkan inferens Llama 405B dan membunuh vLLM dan TensorRT-LLM serta-merta

Disukai oleh Jia Yangqing: SGLang dengan 3K bintang dikeluarkan, mempercepatkan inferens Llama 405B dan membunuh vLLM dan TensorRT-LLM serta-merta

WBOY
WBOYasal
2024-07-28 08:07:53438semak imbas

Kelebihan menjalankan Llama 3 405B adalah jelas.


Baru-baru ini, Meta telah menggunakan sumber terbuka model 405B terkini (Llama 3.1 405B), membawa prestasi model sumber terbuka ke tahap yang baharu. Oleh kerana bilangan parameter model yang banyak, ramai pembangun bimbang tentang satu soalan: Bagaimana untuk meningkatkan kelajuan inferens model?

Hanya dua hari kemudian, pasukan Org LMSYS mengambil tindakan dan melancarkan SGLang Runtime v0.2 yang baharu. Ini ialah enjin perkhidmatan am untuk LLM dan VLM. Apabila menjalankan Llama 3.1 405B, ia mengatasi vLLM dan TensorRT-LLM dalam kedua-dua pemprosesan dan kependaman.

Dalam sesetengah kes (menjalankan model siri Llama), daya pemprosesannya juga boleh mencapai 2.1 kali ganda daripada TensorRT-LLM dan 3.8 kali ganda daripada vLLm.
贾扬清点赞:3K star量的SGLang上新,加速Llama 405B推理秒杀vLLM、TensorRT-LLM
Pasukan Org LMSYS ialah kumpulan penyelidikan terbuka yang dibentuk oleh pelajar dan fakulti dari Universiti California, Berkeley, Universiti California, San Diego dan Universiti Carnegie Mellon. Platform penilaian model besar yang mereka bangunkan, Chatbot Arena, telah menjadi platform penting untuk menguji keupayaan model besar dan juga dianggap sebagai kaedah penilaian yang agak adil.

SGLang ialah rangka kerja perkhidmatan pantas untuk model bahasa besar dan model bahasa visual yang dibangunkan oleh pasukan Ia dilancarkan secara rasmi pada Januari tahun ini dan telah menerima lebih daripada 3k bintang di GitHub.

贾扬清点赞:3K star量的SGLang上新,加速Llama 405B推理秒杀vLLM、TensorRT-LLM

Kesan kemas kini ini sangat mengagumkan Penyelidik AI terkenal, pengasas bersama dan Ketua Pegawai Eksekutif Lepton AI Jia Yangqing mengulas, "Saya sentiasa kagum dengan almamater kedoktoran saya, Universiti California, Berkeley, kerana ia terus menyampaikannya. Kecerdasan buatan dan reka bentuk kolaboratif sistem yang paling canggih Kami melihat SGLang digunakan tahun lepas dan kini ia lebih baik untuk menggunakan dan mencuba SGLang baharu dalam pengeluaran! membangun dan mengulangi pada SGLang? Mereka menyebut dalam blog mereka, "Kami telah menjalankan platform Chatbot Arena selama lebih daripada setahun, menyediakan perkhidmatan kepada berjuta-juta pengguna. Kami amat menyedari kepentingan perkhidmatan yang cekap untuk produk dan penyelidikan kecerdasan buatan. Melalui pengalaman operasi dan dalam -penyelidikan mendalam, kami terus Mempertingkatkan sistem perkhidmatan asas, daripada rangka kerja perkhidmatan pelbagai model termaju FastChat kepada enjin servis yang cekap SGLang Runtime (SRT) "
贾扬清点赞:3K star量的SGLang上新,加速Llama 405B推理秒杀vLLM、TensorRT-LLM
"Tumpuan artikel ini ialah SGLang Runtime, iaitu enjin perkhidmatan universal untuk LLM dan VLM . Walaupun pilihan sedia ada seperti TensorRT-LLM, vLLM, MLC-LLM, dan Hugging Face TGI mempunyai kelebihannya, kami mendapati ia kadang-kadang sukar untuk digunakan, sukar untuk disesuaikan atau berprestasi buruk membawa kami membangunkan SGLang v0.2, yang bertujuan untuk Mencipta enjin perkhidmatan yang bukan sahaja mesra pengguna dan mudah diubah suai, tetapi juga mempunyai prestasi terbaik Berbanding dengan TensorRT-LLM dan vLLM, SGLang Runtime mengendalikan model daripada Llama -8B kepada Llama-405B, serta pada A100 Apabila menggunakan FP8 dan FP16 pada GPU H100, ia boleh memberikan prestasi cemerlang atau kompetitif secara konsisten dalam senario dalam talian dan luar talian. SGLang secara konsisten mengatasi prestasi vLLM, mencapai sehingga 3.8x daya pemprosesan pada Llama-70B. Ia juga sentiasa sepadan atau melebihi TensorRT-LLM, mencapai sehingga 2.1x daya pemprosesan pada Llama-405B. Lebih-lebih lagi, SGLang adalah sumber terbuka sepenuhnya, ditulis dalam Python tulen, dan penjadual teras dilaksanakan dalam kurang daripada 4K baris kod.

SGLang ialah projek sumber terbuka yang dilesenkan di bawah lesen Apache 2.0. Ia telah digunakan oleh LMSYS Chatbot Arena untuk menyokong beberapa model, Databricks, beberapa syarikat permulaan dan institusi penyelidikan, menjana trilion token dan membolehkan lelaran yang lebih pantas.

Berikut ialah tetapan percubaan perbandingan dan keputusan beberapa rangka kerja.

Penyediaan penanda aras

Penyelidik menanda aras kes penggunaan luar talian dan dalam talian:
Luar talian: Mereka menghantar 2Ks pada masa dan permintaan di luar talian iaitu bilangan token keluaran dibahagikan dengan jumlah tempoh. Set data sintetik yang mereka uji adalah daripada set data ShareGPT. Sebagai contoh, I-512-O-1024 mewakili set data dengan input purata sebanyak 512 token dan output purata sebanyak 1024 token. Lima set data ujian ialah:

Set data 1: I-243-O-770; I-243-O-386;
Set Data 4: I-295-O-386;

  • Dalam talian: Mereka menghantar permintaan pada kadar 1 hingga 16 permintaan sesaat (RPS), mengukur kependaman median hujung ke hujung. Mereka menggunakan set data sintetik I-292-O-579.
  • Mereka menggunakan vLLM 0.5.2 (dengan parameter lalai) dan TensorRT-LLM (dengan parameter disyorkan dan saiz kelompok terlaras). Caching awalan dimatikan untuk semua enjin. Tujuannya adalah untuk menanda aras prestasi asas tanpa sebarang ciri tambahan seperti penyahkodan spekulatif atau caching. Mereka menanda aras SGLang dan vLLM menggunakan API serasi OpenAI dan TensorRT-LLM menggunakan antara muka Triton.
  • Llama-8B berjalan pada A100 (bf16)
  • Para penyelidik mula menguji dengan model kecil Llama-8B. Graf di bawah menunjukkan daya pengeluaran maksimum yang boleh dicapai oleh setiap enjin dalam tetapan luar talian untuk lima set data berbeza. Kedua-dua TensorRT-LLM dan SGLang boleh mencapai daya pengeluaran kira-kira 4000 token sesaat, manakala vLLM agak ketinggalan.

Graf penanda aras dalam talian di bawah menunjukkan arah aliran yang serupa dengan kes luar talian. TensorRT-LLM dan SGLang berprestasi setanding, mengekalkan RPS > 10, manakala kependaman vLLM meningkat dengan ketara pada kadar permintaan yang lebih tinggi.
贾扬清点赞:3K star量的SGLang上新,加速Llama 405B推理秒杀vLLM、TensorRT-LLM
Llama-70B berjalan pada 8 A100s (bf16)

Bagi model Llama-70B yang lebih besar yang menjalankan selari tensor pada 8 GPU, sama dengan 8 GPU. Dalam penanda aras luar talian di bawah, TensorRT-LLM dan SGLang mencapai daya pemprosesan yang tinggi.
贾扬清点赞:3K star量的SGLang上新,加速Llama 405B推理秒杀vLLM、TensorRT-LLM
Dalam keputusan dalam talian di bawah, TensorRT-LLM menunjukkan kependaman yang lebih rendah berkat pelaksanaan kernel yang cekap dan masa jalan.
贾扬清点赞:3K star量的SGLang上新,加速Llama 405B推理秒杀vLLM、TensorRT-LLM
Llama-70B berjalan pada 8 H100s (fp8)

Sekarang untuk menguji prestasi FP8. Kedua-dua vLLM dan SGLang menggunakan kernel FP8 CUTLASS. Dalam tetapan luar talian, penjadual kelompok SGLang sangat cekap dan boleh terus menskalakan daya pemprosesan apabila saiz kelompok meningkat, mencapai daya pemprosesan tertinggi dalam kes ini. Sistem lain gagal menskalakan daya pemprosesan atau saiz kelompok disebabkan oleh OOM, kekurangan penalaan manual yang meluas atau overhed lain. Ini juga berlaku dalam talian, di mana SGLang dan TensorRT mempunyai latensi median yang serupa.
贾扬清点赞:3K star量的SGLang上新,加速Llama 405B推理秒杀vLLM、TensorRT-LLM
贾扬清点赞:3K star量的SGLang上新,加速Llama 405B推理秒杀vLLM、TensorRT-LLM
Llama-405B berjalan pada 8 H100s (fp8)

Akhir sekali, kami menanda aras prestasi model 405 yang terbesar Oleh kerana modelnya besar, kebanyakan masa dihabiskan pada kernel GPU. Jurang antara rangka kerja yang berbeza dikurangkan. Sebab prestasi buruk TensorRT-LLM mungkin kerana model 405B baru sahaja keluar, dan versi yang digunakan dalam angka itu belum lagi menyepadukan beberapa pengoptimuman terkini. SGLang mempunyai prestasi terbaik dalam talian dan luar talian.
贾扬清点赞:3K star量的SGLang上新,加速Llama 405B推理秒杀vLLM、TensorRT-LLM
贾扬清点赞:3K star量的SGLang上新,加速Llama 405B推理秒杀vLLM、TensorRT-LLM
Tinjauan SGLang

SGLang ialah rangka kerja perkhidmatan untuk model bahasa berskala besar dan model bahasa visual. Ia berdasarkan dan mempertingkatkan banyak reka bentuk terbaik daripada berbilang enjin perkhidmatan LLM sumber terbuka, termasuk LightLLM, vLLM dan Bimbingan. Ia memanfaatkan kernel CUDA perhatian berprestasi tinggi daripada FlashInfer dan menyepadukan torch.compile yang diilhamkan oleh gpt-fast.

Selain itu, penyelidik juga memperkenalkan beberapa teknologi inovatif, seperti RadixAttention untuk penggunaan semula cache KV automatik dan mesin keadaan termampat untuk penyahkodan kekangan pantas. SGLang terkenal dengan penjadual kelompok yang cekap dilaksanakan sepenuhnya dalam Python. Untuk perbandingan yang saksama, blog ini menguji prestasi asas enjin perkhidmatan ini dengan senario tertentu atau pengoptimuman beban kerja seperti cache awalan dan penyahkodan spekulatif dimatikan. Kepantasan SGLang dicapai melalui kejuruteraan yang betul. Penjadual kumpulan berasaskan Python yang cekap SGLang berskala dengan baik dan selalunya setanding atau lebih baik daripada pelaksanaan sumber tertutup yang dibina dalam C++.

Jadual 1 membandingkan pelbagai aspek SGLang, TensorRT-LLM dan vLLM. Dari segi prestasi, kedua-dua SGLang dan TensorRT-LLM adalah cemerlang. Dari segi kebolehgunaan dan kebolehubahsuaian, teras ringan dan modular SGLang menjadikannya mudah untuk disesuaikan, manakala susunan dan arahan persediaan teknologi C++ kompleks TensorRT-LLM menjadikannya lebih sukar untuk digunakan dan diubah suai. Kod sumber SGLang adalah sumber terbuka sepenuhnya, manakala TensorRT-LLM hanya sebahagian sumber terbuka. Sebagai perbandingan, vLLM mempunyai overhed penjadualan CPU yang lebih tinggi.
贾扬清点赞:3K star量的SGLang上新,加速Llama 405B推理秒杀vLLM、TensorRT-LLM
Para penyelidik juga berkata bahawa pada masa hadapan mereka juga akan membangunkan ciri baharu seperti konteks panjang dan pengoptimuman KPM.

사용 방법

다음 단계에 따라 Llama 모델을 쉽게 제공할 수 있습니다.

1 pip, 소스 코드 또는 Docker를 사용하여 SGLang을 설치합니다. https://github .com/sgl -project/sglang/tree/main?tab=readme-ov-file#install

2. 서버를 시작합니다:
# Llama 8Bpython -m sglang.launch_server --model-path meta-llama/Meta-Llama-3.1-8B-Instruct# Llama 405Bpython -m sglang.launch_server --model-path meta-llama/Meta-Llama-3.1-405B-Instruct-FP8 --tp 8

3. 요청:
curl http://localhost:30000/v1/completions \-H "Content-Type: application/json" \-d '{"model": "default","prompt": "Say this is a test","max_tokens": 7,"temperature": 0  }'

4. 벤치마크 실행:
python3 -m sglang.bench_serving --backend sglang --num-prompts 1000

부록: 자세한 벤치마크 설정

벤치마크 재현 지침은 다음 위치에 있습니다. sglang/벤치마크/blog_v0_2 .

모든 벤치마크에서 연구원들은 각 엔진이 동일한 수의 토큰을 출력하도록 하기 위해ignore_eos 또는 min_length/end_id를 설정했습니다. vLLM 0.5.3.post1을 사용해 보았지만 높은 부하에서 자주 충돌이 발생했으며 일부 벤치마크에서는 vLLM 0.5.3.post1 성능이 vLLM 0.5.2와 거의 동일하거나 더 나쁜 것으로 보였습니다. 따라서 vLLM 0.5.2에 대한 결과를 보고합니다. 서로 다른 서버 구성이 서비스 성능에 큰 영향을 미칠 수 있다는 것을 알고 있었지만 주로 각 엔진의 기본 매개 변수를 사용하여 일반 사용자의 상황을 시뮬레이션했습니다.

8B 및 70B 모델의 경우, 이들은 Meta-llama/Meta-Llama-3-8B-Instruct 및 Meta-llama/Meta-Llama-3-70B-Instruct bf16 체크포인트와 Neuralmagic/Meta를 사용합니다. -Llama -3-70B-Instruct-FP8 fp8 체크포인트. 405B 모델의 경우 모든 벤치마크에서 더미 가중치를 사용했습니다. TensorRT-LLM 최신 이미지 r24.06은 공식 Meta-llama/Meta-Llama-3.1-405B-FP8 체크포인트에서 fbgemm_fp8 양자화를 지원하지 않으므로 모든 프레임워크에서 레이어별 fp8 양자화를 사용하며 fbgemm_fp8을 제외하고 lm_head를 지원하지 않습니다. 모든 레이어가 정량화되었습니다. 그들은 이것이 모든 엔진을 공정하게 비교할 수 있다고 믿습니다. A100 및 H100 GPU는 80GB SXM 버전입니다.

참고링크: https://lmsys.org/blog/2024-07-25-sglang-llama3/

Atas ialah kandungan terperinci Disukai oleh Jia Yangqing: SGLang dengan 3K bintang dikeluarkan, mempercepatkan inferens Llama 405B dan membunuh vLLM dan TensorRT-LLM serta-merta. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn