Yazı

Bellek Kısıtlı Uç Cihazlar İçin Model Sıkıştırma

Edge AI · SLMs · On-Premises AI · Best Practices

Sınırlı RAM ve depolama alanına sahip uç donanımlara yapay zeka modellerinin dağıtılması için kuantizasyon farkındalıklı eğitimden yapılandırılmış budama pipeline'larına kadar pratik teknikler.

Uç bilişim donanımını temsil eden bir bilgisayar anakartının yakın çekimi

Uç Dağıtım Zorluğu

2-8 GB RAM'e sahip uç cihazlarda yapay zeka çıkarımı çalıştırmak, GPU açısından zengin veri merkezi düğümlerinde model dağıtmaktan temelden farklı bir yaklaşım gerektirir. Kısıtlamalar yalnızca hesaplama gücüyle ilgili değildir — bellek bant genişliği, depolama G/Ç kapasitesi, termal sınırlar ve güç bütçeleri optimizasyon hesaplamasını tamamen değiştirir.

Üretim kalite denetimi, perakende analitiği veya saha servis teşhisleri için uç noktada yapay zeka dağıtan kuruluşlar ortak bir ikilemle karşı karşıyadır: kabul edilebilir doğruluk elde eden modeller genellikle hedef donanımın bellek kapasitesini aşar. Düşük performansa razı olmak veya pahalı donanım yükseltmeleri yapmak yerine, sistematik model sıkıştırma sıkı kaynak kısıtlamaları dahilinde yetenekli modeller dağıtma yolu sunar.

Kuantizasyon Farkındalıklı Eğitim ve Eğitim Sonrası Kuantizasyon

Eğitim sonrası kuantizasyon (PTQ), daha küçük bir modele ulaşmanın en hızlı yoludur — eğitim tamamlandıktan sonra FP32 ağırlıkları INT8 veya INT4'e dönüştürülür. ONNX Runtime ve TensorRT gibi araçlar bunu kolaylaştırır. Ancak PTQ, büyük modellerde önemsizden küçük mimarilerde şiddetliye uzanan doğruluk kaybına neden olabilir; burada her parametre daha fazla bilgi taşır.

Kuantizasyon farkındalıklı eğitim (QAT), simüle edilmiş kuantizasyon işlemlerini eğitim döngüsünün kendisine yerleştirir. Model, optimizasyon sırasında azaltılmış hassasiyeti telafi etmeyi öğrenir ve tipik olarak PTQ ile kaybedilen doğruluğun çoğunu veya tamamını geri kazanır. Eğitim pipeline'ını kontrol ettiğiniz uç dağıtımlar için, INT8 hedefli QAT genellikle standart kıyaslamalarda %1'den az doğruluk kaybıyla 4 kat daha küçük modeller üretir.

Pratik karar çerçevesi: Yerleşik mimarilerin hızlı dağıtımına ihtiyaç duyduğunuzda PTQ kullanın; her doğruluk yüzdesinin iş değerine dönüştüğü özel modeller dağıtırken — üretimdeki hata tespiti veya düzenlenmiş sektörlerde belge sınıflandırması gibi — QAT'a yatırım yapın.

Donanım Dostu Seyreklik İçin Yapılandırılmış Budama

Yapılandırılmamış budama — bireysel ağırlıkları sıfırlama — kağıt üzerinde yüksek sıkıştırma oranları elde eder ancak uç donanımda gerçek hız artışlarına nadiren dönüşür. Çoğu çıkarım motoru rastgele seyreklik kalıplarını verimli şekilde kullanamaz. Yapılandırılmış budama, tüm kanalları, dikkat başlıklarını veya katmanları kaldırarak özelleşmiş seyrek çekirdekler gerektirmeden standart donanımda verimli çalışan yoğun alt ağlar üretir.

Uç hedefler için kanıtlanmış yapılandırılmış budama iş akışı:

Adım 1: Tam modeli hedef görevinizde yakınsama noktasına kadar eğitin. Adım 2: Gradyan tabanlı metrikler veya Taylor açılımı yaklaşımları kullanarak her yapısal birim için önem puanları hesaplayın. Adım 3: En düşük puanlı yapıları kademeli olarak kaldırın (iterasyon başına %10-20). Adım 4: Budanmış modeli orijinal eğitim süresinin bir kısmı kadar ince ayar yapın. Adım 5: Hedef bellek alanına veya doğruluk eşiğine ulaşana kadar tekrarlayın.

Bu yinelemeli yaklaşım, tek seferde budamadan daha iyi performans gösterir çünkü model her aşamada kalan parametreler arasında öğrenilmiş temsilleri yeniden dağıtma fırsatı bulur. Uç cihazlarda dağıtılan transformer tabanlı SLM'ler için dikkat başlıklarının %30-50'sini kaldırmak genellikle görev performansını korurken çıkarım bellek gereksinimlerini yarıya indirir.

Uç Noktaya Özel Mimariler İçin Bilgi Damıtma

Bilgi damıtma, kompakt bir öğrenci modelini daha büyük bir öğretmen modelinin davranışını kopyalayacak şekilde eğitir. Budamanın aksine, damıtma öğrenci mimarisini özellikle uç donanım kısıtlamalarına göre tasarlamanıza olanak tanır — hedef hızlandırıcınıza verimli şekilde eşlenen katman genişliklerini, derinlikleri ve işlem türlerini seçebilirsiniz.

Şirket içi uç dağıtımlar için damıtma pipeline'ı tamamen altyapınız dahilinde çalışır. Öğretmen model, eğitim verileriniz üzerinde yumuşak etiket tahminleri sunar ve öğrenci hem gerçek etiketlerden hem de öğretmen çıktılarından öğrenir. Bu çift amaçlı eğitim, sürekli olarak sıfırdan eğitilmiş eşdeğer boyuttaki modellerden daha iyi performans gösteren küçük modeller üretir.

Uç damıtma için temel hususlar: öğrenci mimarisini donanımınızın güçlü yönleriyle eşleştirin (mobil NPU'lar için derinlemesine ayrılabilir evrişimler, özel matris çarpma birimleri olmayan cihazlar için dikkatsiz mimariler) ve damıtma veri setinizin genel eğitim külliyatı yerine dağıtım noktalarındaki gerçek veri dağılımını yansıttığından emin olun.

Çalışma Zamanı Optimizasyonu: Model Mimarisinin Ötesinde

Model sıkıştırma tek başına nadiren optimum uç performans sunar. Çıkarım çalışma zamanı yapılandırması, teorik sıkıştırma kazançlarının gerçek dünya gecikme iyileştirmelerine dönüşüp dönüşmeyeceğini belirler.

Bellek eşleme: Model ağırlıklarını RAM'e seri durumdan çıkarmak yerine bellek eşlemeli dosyalar olarak yükleyin. Bu, işletim sisteminin sayfa hatalarını yönetmesine izin verir ve birden fazla çıkarım işlemi arasında paylaşılan model belleğini mümkün kılar — eşzamanlı olarak birden fazla yapay zeka görevi çalıştıran cihazlarda kritik öneme sahiptir.

Operatör birleştirme: TensorRT ve ONNX Runtime gibi çerçeveler, işlem dizilerini (evrişim + toplu normalizasyon + aktivasyon) tek çekirdeklere birleştirerek uç cihaz bant genişliğini zorlayan ara bellek tahsislerini ortadan kaldırır.

Zaman aşımlı dinamik gruplama: Uç cihazlarda bile birden fazla çıkarım isteğini gruplamak verimi artırır. İstek patlamaları oluştuğunda gruplama verimliliğini yakalarken gecikme artışlarından kaçınmak için agresif zaman aşımı eşikleri (5-20ms) ayarlayın.

Modeller arası ağırlık paylaşımı: Ortak bir omurga paylaşan birden fazla göreve özel model dağıtırken, paylaşılan katmanları bir kez yükleyin ve göreve özel başlıklarda dallanın. Bu model, endüstriyel ortamlardaki çok görevli uç dağıtımlar için özellikle etkilidir.

Sürdürülebilir Bir Sıkıştırma Pipeline'ı Oluşturma

En etkili sıkıştırma stratejisi, tek seferlik bir optimizasyon adımı olarak var olmak yerine MLOps iş akışınıza entegre olur. Sıkıştırmayı model dağıtım pipeline'ınızdaki bir aşama olarak ele alın: üst model iyileştiğinde, sıkıştırılmış varyant otomatik olarak yeniden oluşturulmalı, doğruluk eşiklerine göre doğrulanmalı ve uç altyapıya dağıtılmalıdır.

Sıkıştırılmış model performansını hem sıkıştırılmamış temel çizgi hem de daha önce dağıtılmış uç model ile karşılaştıran otomatik kalite kapıları uygulayın. Yalnızca genel doğruluğu değil, aynı zamanda dağıtımınız için önemli olan kritik uç durumlardaki performansı da takip edin — bir üretim hatası algılayıcısı, genel metrikler sabit görünse bile nadir hata türlerine karşı hassasiyetini kaybetmemelidir.

Sıkıştırma yapılandırmalarınızı model koduyla birlikte versiyonlayın. Hangi tekniklerin uygulandığını, parametrelerini ve ortaya çıkan boyut-doğruluk dengelerini belgeleyin. Bu meta veriler, donanım yenilemeleri yeni optimizasyon fırsatları açtığında veya saha performans regresyonlarını ayıklarken paha biçilmez hale gelir.

Featured image by Marc PEZIN on Unsplash.