SelanjutnyaPanduan berikutnya
Estimating GPU Memory Needed for LLMs
Teknis
PANDUAN Teknis
Bagaimana kerangka kerja AI mengalokasikan, menggunakan kembali, dan mendapatkan kembali memori terbatas pada GPU, dan mengapa celah yang tersisa (fragmentasi) dapat menyebabkan kesalahan kehabisan memori meskipun secara teknis masih banyak memori yang tersisa.
Dengarkan panduan iniDiceritakan oleh AI · ~2 min
Understanding it is key to fitting big models and avoiding mysterious crashes.
Memori GPU bersifat tetap dan berharga: sebuah kartu mungkin memiliki total 24, 80, atau 192 GB, yang dibagi berdasarkan bobot model, aktivasi, gradien, status pengoptimal, dan buffer sementara. Memanggil driver untuk mengalokasikan memori pada setiap operasi akan lambat, jadi kerangka kerja seperti PyTorch menggunakan pengalokasi cache yang mengambil blok besar di depan dan membagikan sub-bagian, lalu menyimpan potongan-potongan yang dibebaskan di kumpulan untuk digunakan kembali. Tangkapannya adalah fragmentasi: saat tensor dengan ukuran berbeda-beda dialokasikan dan dibebaskan, ruang kosong terpecah menjadi potongan-potongan yang tersebar. Anda dapat memiliki total 5 GB gratis namun gagal mengalokasikan tensor 2 GB yang berdekatan karena tidak ada celah yang cukup besar. Inilah sebabnya mengapa pelatihan bisa terhenti karena kesalahan kehabisan memori meskipun ruang kepala tampaknya tersedia.
A training team examines allocator statistics before testing expandable segments on a variable-batch workload.
A developer uses memory_summary and a memory snapshot to investigate active tensors and inactive split blocks.
An inference team uses vLLM’s paged KV-cache management to reduce cache-allocation waste.
A training team lowers batch size or checkpoints activations after confirming live tensor memory is the limiting factor.
Manajemen memori menjadi lebih cerdas dan lebih banyak halamannya, terinspirasi oleh sistem operasi. Teknik seperti pengalokasi gaya memori virtual dan perhatian halaman (digunakan untuk mengelola cache KV selama inferensi) mengurangi pemborosan dan fragmentasi secara dramatis. Harapkan kerangka kerja default ke pengalokasi yang dapat diperluas dan didefragmentasi, visibilitas yang lebih baik melalui profiler bawaan, dan penggabungan yang lebih ketat dengan pembongkaran dan penghitungan ulang sehingga sistem mengatur GPU, CPU, dan memori disk secara otomatis untuk menjaga pemanfaatan tetap tinggi dan jarang terjadi error.
Buletin gratis
Tiga cerita AI terverifikasi setiap pagi hari kerja, ditulis dalam bahasa Inggris sederhana. Gratis selamanya, tanpa iklan.
Satu email setiap hari kerja. Berhenti berlangganan dalam satu klik. Kami tidak pernah menjual atau membagikan alamat Anda.
Uji diri Anda sendiri
Umpan balik instan untuk setiap jawaban, dan sertifikat yang dapat dibagikan dengan ID yang dapat diverifikasi setelah Anda lulus kursus.
Mendukung pendidikan AI gratis. AI Understanding adalah organisasi nirlaba 501(c)(3) — tanpa iklan, tanpa paywall, selamanya. Berikan sumbangan
Bagaimana kerangka kerja AI mengalokasikan, menggunakan kembali, dan mendapatkan kembali memori terbatas pada GPU, dan mengapa celah yang tersisa (fragmentasi) dapat menyebabkan kesalahan kehabisan memori meskipun secara teknis masih banyak memori yang tersisa. Memahami hal ini adalah kunci untuk menyesuaikan model besar dan menghindari kecelakaan misterius.
Fragmentasi berarti total memori bebas cukup, tetapi dipecah menjadi beberapa bagian, sehingga tidak ada celah yang cukup besar untuk tensor besar.
Memanggil cudaMalloc/cudaFree untuk setiap operasi lambat, sehingga pengalokasi caching mengambil blok besar dan menggunakan kembali blok yang dibebaskan dari kumpulan.
Allocator statistics and snapshots help distinguish fragmentation from live tensors or other allocations. The error alone does not prove a single cause.
Expandable segments can reduce waste for selected allocation patterns. Availability and benefit depend on allocator configuration and workload.
PagedAttention menyimpan cache KV di halaman berukuran tetap seperti memori virtual OS, memotong fragmentasi dan melayani banyak permintaan secara efisien.
Teruslah belajar
Panduan lainnya dipilih untuk topik ini
SelanjutnyaPanduan berikutnya
Estimating GPU Memory Needed for LLMs
Teknis