İşbirliğine Dayalı Optimizasyon

Arm ML Tooling tarafından korunur

Bu belge, dağıtım için makine öğrenimi modellerini optimize etmek için çeşitli teknikleri birleştirmek için deneysel API'lere genel bir bakış sağlar.

genel bakış

İşbirliğine dayalı optimizasyon, dağıtım sırasında çıkarım hızı, model boyutu ve doğruluk gibi hedef özelliklerin en iyi dengesini sergileyen bir model üretmek için çeşitli teknikleri kapsayan kapsamlı bir süreçtir.

İşbirlikçi optimizasyon fikri, birikmiş optimizasyon etkisini elde etmek için bunları birbiri ardına uygulayarak bireysel teknikler üzerine inşa etmektir. Aşağıdaki optimizasyonların çeşitli kombinasyonları mümkündür:

Bu teknikleri bir arada zincirlemeye çalışırken ortaya çıkan sorun, birini uygulamanın tipik olarak önceki tekniğin sonuçlarını yok etmesi ve hepsini aynı anda uygulamanın genel faydasını bozması; örneğin, kümeleme, budama API'sinin sağladığı seyrekliği korumaz. Bu sorunu çözmek için aşağıdaki deneysel işbirlikçi optimizasyon tekniklerini tanıtıyoruz:

Bunlar, bir makine öğrenimi modelini sıkıştırmak ve çıkarım anında donanım hızlandırmasından yararlanmak için kullanılabilecek birkaç dağıtım yolu sağlar. Aşağıdaki şema, yaprak düğümlerin dağıtıma hazır modeller olduğu, yani kısmen veya tamamen nicelleştirildiği ve tflite biçiminde olduğu, istenen dağıtım özelliklerine sahip modelin aranmasında keşfedilebilecek birkaç dağıtım yolunu göstermektedir. Yeşil dolgu, yeniden eğitim/ince ayarın gerekli olduğu adımları gösterir ve kesikli kırmızı kenarlık, ortak optimizasyon adımlarını vurgular. Belirli bir düğümde bir model elde etmek için kullanılan teknik, ilgili etikette belirtilmiştir.

collaborative optimization

Doğrudan, yalnızca niceleme (eğitim sonrası veya QAT) dağıtım yolu, yukarıdaki şekilde atlanmıştır.

Buradaki fikir, yukarıdaki dağıtım ağacının üçüncü seviyesinde tamamen optimize edilmiş modele ulaşmaktır; bununla birlikte, diğer optimizasyon düzeylerinden herhangi biri tatmin edici olabilir ve gerekli çıkarım gecikmesi/doğruluk değiş tokuşunu sağlayabilir, bu durumda başka bir optimizasyona gerek yoktur. Önerilen eğitim süreci, hedef dağıtım senaryosu için geçerli olan dağıtım ağacının seviyelerini yinelemeli olarak gözden geçirmek ve modelin çıkarım gecikmesi gereksinimlerini karşılayıp karşılamadığını görmek ve değilse, modeli daha fazla sıkıştırmak ve tekrarlamak için ilgili işbirlikçi optimizasyon tekniğini kullanmak olacaktır. Gerekirse model tamamen optimize edilene (budanan, kümelenen ve nicelenen) kadar.

Aşağıdaki şekil, işbirlikçi optimizasyon boru hattından geçen numune ağırlığı çekirdeğinin yoğunluk grafiklerini göstermektedir.

collaborative optimization density plot

Sonuç, eğitim zamanında belirtilen hedef seyrekliğe bağlı olarak, azaltılmış sayıda benzersiz değerin yanı sıra önemli sayıda seyrek ağırlık içeren nicelleştirilmiş bir dağıtım modelidir. Önemli model sıkıştırma avantajları dışında, belirli donanım desteği, çıkarım gecikmesini önemli ölçüde azaltmak için bu seyrek, kümelenmiş modellerden yararlanabilir.

Sonuçlar

Aşağıda, PQAT ve CQAT işbirlikçi optimizasyon yolları ile denemeler yaparken elde ettiğimiz bazı doğruluk ve sıkıştırma sonuçları verilmiştir.

Seyrekliği koruyan Kuantizasyon farkında eğitim (PQAT)

modeli Öğeler taban çizgisi Budanmış Model (%50 seyreklik) QAT Modeli PQAT Modeli
DS-CNN-L FP32 İlk 1 Doğruluk %95.23 %94.80 (Sahte INT8) %94,721 (Sahte INT8) %94,128
INT8 tam tamsayı nicemleme %94.48 %93.80 %94,72 %94.13
Sıkıştırma 528.128 → 434.879 (%17.66) 528.128 → 334.154 (%36.73) 512.224 → 403.261 (%21.27) 512.032 → 303.997 (%40.63)
Mobilenet_v1-224 FP32 İlk 1 Doğruluk %70.99 %70.11 (Sahte INT8) %70,67 (Sahte INT8) %70,29
INT8 tam tamsayı nicemleme %69.37 %67.82 %70.67 %70.29
Sıkıştırma 4.665.520 → 3.880.331 (%16.83) 4.665.520 → 2.939.734 (%37.00) 4.569.416 → 3.808.781 (%16.65) 4.569.416 → 2.869.600 (%37.20)

Kümeyi koruyan Kuantizasyon farkında eğitim (CQAT)

modeli Öğeler taban çizgisi Kümelenmiş Model QAT Modeli CQAT Modeli
CIFAR-10'da Mobilenet_v1 FP32 İlk 1 Doğruluk %94.88 %94.48 (Sahte INT8) %94.80 (Sahte INT8) %94,60
INT8 tam tamsayı nicemleme %94.65 %94,41 %94.77 %94.52
Boy 3,00 MB 2.00 MB 2.84 MB 1,94 MB
ImageNet'te Mobilenet_v1 FP32 İlk 1 Doğruluk %71.07 %65.30 (Sahte INT8) %70,39 (Sahte INT8) %65,35
INT8 tam tamsayı nicemleme %69.34 %60,60 %70.35 %65,42
Sıkıştırma 4.665.568 → 3.886.277 (%16.7) 4.665.568 → 3.035.752 (%34.9) 4.569.416 → 3.804.871 (%16.7) 4.569.472 → 2.912.655 (%36.25)

Örnekler

İşbirlikçi optimizasyon tekniklerinin uçtan uca örnekler burada açıklanan için bakınız CQAT , PQAT , sparsity-koruyarak kümeleme ve PCQAT örnek dizüstü.