Pelaksanaan semula yang ringan bagi enjin inferens vLLM yang popular telah menarik perhatian komuniti pembelajaran mesin kerana mencapai prestasi yang lebih baik sambil menggunakan kod yang jauh lebih sedikit. Nano-vLLM , yang dibina dari awal dalam kira-kira 1,200 baris Python , menunjukkan bahawa kadang-kadang kurang benar-benar lebih dalam kejuruteraan perisian.
Projek ini datang pada masa pembangun semakin kecewa dengan pangkalan kod vLLM yang semakin membengkak dan imej Docker yang telah meningkat kepada lebih 10GB. Ahli komuniti telah menunjukkan amalan pembangunan yang boleh dipersoalkan, termasuk pakej CUDA yang muncul beberapa kali merentasi lapisan yang berbeza, menyumbang kepada peningkatan saiz yang besar.
Ciri-ciri Teknikal Utama
- Saiz Pangkalan Kod: ~1,200 baris kod Python
- Suite Pengoptimuman: Caching awalan, Paralelisme Tensor, kompilasi Torch, graf CUDA
- Keserasian API: Mencerminkan antara muka vLLM dengan perbezaan kecil
- Pemasangan:
pip install git+https://github.com/GeeeekExplorer/nano-vllm.git
Prestasi Yang Berkata-kata Sendiri
Keputusan penanda aras menunjukkan Nano-vLLM mencapai 1,434 token sesaat berbanding 1,362 token sesaat vLLM pada perkakasan yang sama. Peningkatan 5% ini dicapai sambil memproses 133,966 token keluaran yang sama, dengan Nano-vLLM menyelesaikan tugas dalam 93.41 saat berbanding 98.37 saat vLLM . Ujian menggunakan model Qwen3-0.6B pada komputer riba RTX 4070 dengan memori 8GB, memproses 256 urutan dengan panjang input dan output yang berbeza-beza.
Apa yang menjadikan keputusan ini sangat mengagumkan ialah ia dicapai dengan pangkalan kod yang dipermudahkan secara dramatik. Pelaksanaan yang bersih mengekalkan semua ciri pengoptimuman penting termasuk caching awalan, paralelisme tensor, kompilasi torch, dan sokongan graf CUDA .
Perbandingan Prestasi
Metrik | vLLM | Nano-vLLM |
---|---|---|
Token Keluaran | 133,966 | 133,966 |
Masa Pemprosesan | 98.37s | 93.41s |
Daya Pemprosesan | 1,361.84 token/s | 1,434.13 token/s |
Peningkatan Prestasi | - | +5.3% |
Aplikasi Dunia Sebenar Sudah Muncul
Projek ini telah mendapat daya tarikan dengan cepat melebihi sekadar penanda aras. Pembangun dari siri penalaan halus sumber terbuka Dolphin telah menggunakan Nano-vLLM untuk ciri lanjutan seperti pengekstrakan logit sample-K yang cekap. Teknik ini, yang diterangkan dalam penyelidikan terkini mengenai persampelan logit jarang, terbukti terlalu kompleks untuk dilaksanakan dalam vLLM asal tetapi mudah dalam seni bina Nano-vLLM yang diperkemas.
Pembangun, yang dilaporkan dari pasukan DeepSeek , telah mencipta sesuatu yang bergema dengan keinginan komuniti untuk alat yang lebih mudah dan lebih boleh diselenggara. Pangkalan kod yang boleh dibaca membolehkan pembangun memahami keseluruhan saluran paip inferens dari hujung ke hujung, sesuatu yang semakin sukar dengan kerumitan vLLM yang semakin meningkat.
Konfigurasi Ujian
- Perkakasan: RTX 4070 Laptop (8GB VRAM)
- Model: Qwen3-0.6B
- Skala Ujian: 256 urutan
- Panjang Input: 100-1024 token (disampel secara rawak)
- Panjang Output: 100-1024 token (disampel secara rawak)
Memandang ke Hadapan
Kejayaan Nano-vLLM menimbulkan persoalan menarik tentang masa depan enjin inferens. Dengan prestasi sedemikian yang boleh dicapai dalam kod yang minimum, pembangun sudah membuat spekulasi tentang kemungkinan seperti inferens teragih merentasi peranti sambil mengekalkan cache awalan yang konsisten, atau mereka bentuk sistem yang berfikir dari segi skop perhatian modular dan bukannya graf monolitik.
Buat masa ini, Nano-vLLM menawarkan alternatif yang menarik untuk pembangun yang mahukan prestasi serasi vLLM tanpa overhed. Projek ini mencerminkan API vLLM dengan hanya perbezaan kecil, menjadikannya pengganti terus untuk banyak kes penggunaan sambil menyediakan ketelusan dan kebolehselenggaraan yang telah hilang oleh yang asal dari masa ke masa.
Rujukan: Nano-vLLM