Yazı

Kısıtlı On-Premises Donanımda Model Kuantizasyon ve Pruning Stratejileri

On-Premises AI · Energy Efficiency · SLMs · AI Architecture · Intermediate

Sınırlı GPU kaynaklarına sahip on-premises altyapılarda üretim kalitesinden ödün vermeden yapay zeka modellerini dağıtmak için kuantizasyon ve pruning tekniklerinin pratik uygulanması.

Sunucu kasası içinde kırmızı LED aydınlatmalı bilgisayar donanımının yakın çekimi

Kurumsal yapay zekada GPU bellek duvarı

On-premises yapay zeka çalıştıran çoğu kuruluş, pratik bir tavanla karşı karşıyadır: bütçe dahilinde edinilebilen GPU filosu, bulut hiper ölçekleyicilerinin yönetilen çıkarım API'leri için sağladığı kapasiteyle nadiren eşleşir. Tam FP16 hassasiyetinde tek bir 70 milyar parametreli model, yalnızca ağırlıklar için yaklaşık 140 GB VRAM gerektirir; KV-önbellek, aktivasyonlar veya eş zamanlı istek yığınlama buna dahil değildir. NVIDIA A100 80 GB veya benzeri sınıf hızlandırıcılara yatırım yapmış organizasyonlar için bu, tek bir model örneği için çok GPU'lu tensör paralelliği anlamına gelir ve bu da başka iş yüklerine ayrılabilecek kapasiteyi tüketir.

Kuantizasyon ve pruning, bu duvarı aşmak için en olgun iki tekniktir. Model boyutunu ve hesaplama maliyetini düşürerek, yetenekli modellerin sahip olduğunuz donanıma sığmasını veya aynı filosla daha fazla kullanıcıya hizmet vermenizi sağlarlar. Anahtar nokta, bunları disiplinli bir şekilde uygulamak ve doğruluk kayıplarının kullanım senaryonuz için kabul edilebilir sınırlar içinde kalmasını sağlamaktır.

Kuantizasyon: hassasiyeti verimlilikle takas etmek

Kuantizasyon, model ağırlıklarının ve isteğe bağlı olarak aktivasyonların sayısal hassasiyetini düşürür. Günümüzde en yaygın benimsenen yaklaşım, ağırlıkların INT4 veya INT8 formatında saklandığı ancak hesaplamanın daha yüksek hassasiyette gerçekleştirildiği salt ağırlık kuantizasyonudur. GPTQ, AWQ ve bitsandbytes gibi araçlar bunu erişilebilir kılarken, vLLM ve TensorRT-LLM gibi çerçeveler kuantize modelleri servis yığınlarında doğal olarak destekler.

Pratik etki önemlidir. 4-bit hassasiyete kuantize edilmiş bir 70B model yaklaşık 35 GB VRAM'a sığar ve tek bir 80 GB hızlandırıcıda rahatlıkla çalışır. Çıkarım verimi de genellikle artar çünkü otoregresif üretim için darboğaz hesaplama değil bellek bant genişliğidir. On-premises'te kuantize Llama, Mistral veya Qwen varyantları çalıştıran ekipler, bellek tasarruflarının yanı sıra düzenli olarak gecikme azalmaları bildirmektedir.

Ancak kuantizasyon bedelsiz değildir. Bazı görevler hassasiyet kaybına diğerlerinden daha duyarlıdır. Yapılandırılmış çıkarma, kod üretimi ve akıl yürütme zincirleri, özetleme veya sınıflandırmaya kıyasla daha erken bozulma eğilimindedir. Doğru yaklaşım, halka açık kıyaslamalar yerine kendi görev dağılımınız üzerinde değerlendirme yapmaktır. Altın standart prompt setinizi hem tam hassasiyetli hem de kuantize model üzerinde çalıştırın ve uygulamanız için önemli olan metrikleri takip edin.

Pruning: modelin ihtiyaç duymadığını kaldırmak

Pruning farklı bir yaklaşım benimser: hassasiyeti azaltmak yerine, model çıktısına en az katkıda bulunan parametreleri kaldırır. Yapılandırılmamış pruning, büyüklük veya gradyan duyarlılığına göre bireysel ağırlıkları sıfırlarken, yapılandırılmış pruning tüm dikkat başlıklarını, MLP nöronlarını veya transformer katmanlarını kaldırır. Yapılandırılmış pruning, on-premises dağıtım için genellikle daha pratiktir çünkü özelleştirilmiş çekirdekler gerektiren seyrek tensörler yerine, standart donanımda daha hızlı çalışan gerçekten daha küçük mimariler üretir.

SliceGPT ve LLM-Pruner gibi büyük dil modelleri için yapılandırılmış pruning üzerine yapılan son çalışmalar, görevle ilgili veriler üzerinde kısa bir ince ayar aşamasının ardından parametrelerin %20-30'unun genellikle mütevazı doğruluk kaybıyla kaldırılabileceğini göstermiştir. Bu ince ayar adımı kritiktir: kurtarma eğitimi olmadan yapılan pruning, değerlendirme setinizin gözden kaçırabileceği uç durumlarda başarısız olan kırılgan modeller üretme eğilimindedir.

On-premises ekipler için pruning, çalışma zamanı optimizasyonu yerine tek seferlik bir model hazırlık adımı olarak ele alınmalıdır. Pruning işlemini çevrimdışı yapar, modeli kapsamlı biçimde doğrular, pruning uygulanmış modeli köken meta verileriyle birlikte model kayıt defterinize kaydeder ve ayrı bir yapı olarak dağıtırsınız.

Kuantizasyon ve pruning'i birleştirmek

Kuantizasyon ve pruning birbirini tamamlar. Yaygın bir iş akışı, önce modeli gereksiz kapasiteyi kaldırmak için pruning'den geçirmek, doğruluğu kurtarmak için ince ayar yapmak ve ardından pruning uygulanmış modeli dağıtım için kuantize etmektir. Bu katmanlama dramatik azalmalar sağlayabilir: %25 oranında pruning uygulanmış ve ardından 4-bit'e kuantize edilmiş bir 70B model, güçlü görev performansını korurken 25 GB'ın altında VRAM'a sığabilir.

Sıralama önemlidir. Önce pruning sonra kuantizasyon genellikle tersine göre daha iyi sonuçlar üretir; çünkü pruning sonrası ince ayar adımı, kalan ağırlıkları kaldırılan kapasiteyi telafi edecek şekilde uyarlayabilir ve bu uyarlanmış ağırlıklar daha sonra kuantize edilir.

Her iki tekniği birleştiren ekipler, model kayıt defterlerinde her aşamayı bağımsız olarak sürümlemelidir: orijinal temel model, pruning uygulanmış varyant ve pruning uygulanmış, kuantize dağıtım yapısı. Bu, kalite gerilemelerini tüm iş hattını kara kutu olarak ele almak yerine aşamalar arasında ikiye bölerek teşhis etmeyi mümkün kılar.

Üretim için operasyonel hususlar

Sıkıştırılmış modellerin on-premises'te dağıtımı, tam hassasiyetli dağıtımlarda bulunmayan birkaç operasyonel ayrıntı getirir. Birincisi, hem GPTQ hem de AWQ kuantizasyonu için kalibrasyon verileri önemlidir. Bu yöntemler, optimal kuantizasyon parametrelerini belirlemek için küçük bir veri seti kullanır. Kalibrasyon verileriniz üretim trafiğini yansıtmıyorsa, gerçek iş yüklerinde beklenmeyen kalite boşlukları görebilirsiniz.

İkincisi, çıktı kalitesini yalnızca dağıtım sırasında değil sürekli olarak izleyin. Kuantizasyon altında model davranışı, özellikle kullanıcılar kalibrasyon setinin kapsamadığı alanlarda sorular sormaya başlarsa, giriş dağılımları geliştikçe ince bir şekilde kayabilir.

Üçüncüsü, yükseltme yolunuzu değerlendirin. Yeni bir temel model sürümü geldiğinde, pruning, ince ayar ve kuantizasyon iş hattını yeniden çalıştırmanız gerekecektir. Bunu MLOps araçlarınızda tekrarlanabilir bir iş akışı olarak otomatikleştirmek, model yükseltmelerinin haftalarca süren projelere dönüşmemesini sağlar.

Sıkıştırma ne zaman doğru yatırımdır

Model sıkıştırma en çok, on-premises GPU bütçeniz sabit olduğunda ve donanımınızın doğal olarak desteklediğinden daha büyük modeller çalıştırmanız veya ek hızlandırıcı satın almadan servis eş zamanlılığını artırmanız gerektiğinde değerlidir. Darboğazınız başka bir yerdeyse, yani yavaş erişim, üst akım hizmetlerine ağ gecikmesi veya CPU'ya bağlı ön işlemeyse daha az değerlidir.

GPU belleğinin veya hesaplamanın gerçekten kısıt olduğunu doğrulamak için uçtan uca çıkarım iş hattınızı profillemeyle başlayın. Eğer öyleyse, genellikle tek başına kuantizasyon en iyi çaba/etki oranını sunar. Daha fazla azalmaya ihtiyaç duyduğunuzda veya pruning ve yeniden eğitim iş hattını sürdürecek MLOps olgunluğuna sahip olduğunuzda pruning ekleyin. Her iki durumda da, sıkıştırılmış modelleri standart dağıtım yönetişiminizi atlayan kısayollar olarak değil, kendi değerlendirme setleri, sürümleme ve geri alma prosedürleriyle birinci sınıf yapılar olarak ele alın.

Öne çıkan görsel: ELLA DON tarafından Unsplash'ta paylaşılmıştır.