DistilBERT Mizah NLP Modelini Niceleme

Dec 13 2022
Optimum Intel ve Intel Neural Compressor ile Daha Hızlı Çıkarım için FP32'den INT8'e Geçiş
Niceleme, çıkarım süresini azaltmaya yardımcı olan bir model sıkıştırma tekniğidir. 32 bit kayan noktadan (FP32) 8 bit tam sayıya (INT8) niceleme, doğrulukta yalnızca hafif bir düşüşle performansı artırır.
Unsplash'ta Tengyart'ın fotoğrafı

Niceleme, çıkarım süresini azaltmaya yardımcı olan bir model sıkıştırma tekniğidir. 32 bit kayan noktadan (FP32) 8 bit tam sayıya (INT8) niceleme, doğrulukta yalnızca hafif bir düşüşle performansı artırır. Genel olarak, model boyutu 4-5 kat küçülebilir ve çıkarım süresi 3 kattan fazla azaltılabilir ( kaynak ).

neural_compressorÖnce niceleme için ve dahil olmak üzere birkaç kitaplık daha içe aktarmalıyız optimum.intel:

torchCihazı şu şekilde ayarlıyorum cpu:

Artık kuantizasyonu uygulayabiliriz. Daha fazla bilgi edinmek için optimum.intel GitHub deposundaki metin sınıflandırma örneklerine göz atın . Önceden eğitilmiş bir modeli yükleyelim:

IncTrainerEğiticiyi veya Intel® Neural Compressor Trainer sınıfını kullanacak şekilde kurdum :

Şimdi nicelemeyi çalıştırmak için her şey yerli yerinde. GitHub deposundan quantization.yml indirilen adlı bir yapılandırma dosyası kullandığımı unutmayın . Modelin nasıl nicelendirildiğini ayarlamak için bu dosyadaki yapılandırma parametrelerini değiştirebilirsiniz. Burada, yeniden eğitim gerektirmeyen, ancak genellikle biraz doğruluktan ödün veren bir teknik olan eğitim sonrası dinamik niceleme uyguluyorum:optimum.intel

Daha sonra devam edip şu şekilde niceleme çalıştırabiliriz optimizer.fit():

Artık optimize edilmiş bir modelimiz olduğuna göre, onu temel modelle karşılaştırabiliriz:

Nicelenmiş modeli diske kaydedebilir ve hem FP32 hem de yeni nicelenmiş INT8 modelini kullanabiliriz:

INT8 modeli diske kaydedildi

FP32 modeliyle değerlendirme yürüttüğümüzde şunları elde ederiz:

Ve INT8 için:

Doğruluk kabaca aynıdır ancak INT8 modeli, FP32 modelinden 1,5 kat daha hızlıdır. Kodun tamamı GitHub'da burada bulunabilir .

Intel Neural Compressor'ü tek başına veya Intel AI Analitik Araç Seti'nin bir parçası olarak kurabilirsiniz . Intel'in yapay zeka donanım ve yazılım çözümleri hakkında daha fazla bilgi edinmek için burayı ziyaret edin .