TensorFlow, budama optimizasyon aracını resmi olarak yayınladı: parametreler% 80 oranında azaltılır ve doğruluk neredeyse hiç değişmez

Xiaocha Medium'dan derlendi

Qubit Raporu | Genel Hesap QbitAI

Geçen yıl TensorFlow, model boyutunu 4 kata kadar azaltabilen ve çalışma hızını 3 kata kadar artırabilen bir model optimizasyon aracını resmi olarak piyasaya sürdü.

Son zamanlarda, model optimizasyonuna "lüks paket" e Keras'ı temel alan yeni bir araç eklendi. Budama optimizasyonu aracı.

AI modellerini eğitmek bazen çok fazla donanım kaynağı gerektirir, ancak herkes 4 GPU'luk lüks bir konfigürasyona sahip değildir. Budama optimizasyonu, modelin boyutunu küçültmenize ve daha düşük bir maliyetle çıkarım yapmanıza yardımcı olabilir.

Ağırlık budaması nedir?

Ağırlık Budama optimizasyonu, ağırlık tensöründeki gereksiz değerleri ortadan kaldırmak, sinir ağı katmanları arasındaki bağlantı sayısını azaltmak, hesaplamaya dahil olan parametreleri azaltmak ve böylece işlem sayısını azaltmaktır.

Bunun avantajı, ağın depolama alanını sıkıştırmaktır, özellikle seyrek tensörler özellikle sıkıştırma için uygundur. Örneğin, işlemden sonra MNIST'in% 90 seyreklik modeli 12MB'den 2MB'ye sıkıştırılabilir.

Ek olarak, ağırlık budaması, nicelemeyle uyumludur ve bileşik faydalar sağlar. Eğitim sonrası niceleme yoluyla, budanmış model 2MB'den sadece 0.5MB'ye daha da sıkıştırılabilir.

TensorFlow resmi olarak gelecekte TensorFlow Lite'ın seyrek gösterim ve hesaplamalar için destek ekleyeceğini ve böylece çalışan belleğin sıkıştırma avantajlarını artıracağını ve performans iyileştirmelerini sunacağını vaat ediyor.

Optimizasyon etkisi

Ağırlık budama optimizasyonu, görüntü işlemeden CNN'den konuşma işleme RNN'ye kadar farklı görevler ve farklı model türleri için kullanılabilir. Aşağıdaki tablo, bazı deneysel sonuçları göstermektedir.

Örnek olarak Almancadan İngilizceye çevrilen GNMT modelini ele alalım, orijinal modelin BLEU'su 29.47'dir. % 80 seyrekliği belirtin Optimizasyondan sonra, tensördeki sıfır olmayan parametreler, doğrulukta neredeyse hiç kayıp olmaksızın 211M'den 44M'ye sıkıştırılabilir.

Talimatlar

Mevcut ağırlık budama API'si Keras'ı temel alır, böylece geliştiriciler bu teknolojiyi mevcut herhangi bir Keras eğitim modeline kolayca uygulayabilir.

Geliştirici, nihai hedef seyrekliği (örneğin,% 50) ve budama gerçekleştirme planını (örneğin, 2000 adımda budama, 4000 adımda durdurma ve her 100 adımda bir gerçekleştirme) ve budama yapısının isteğe bağlı yapılandırmasını belirleyebilir. .

tensorflow_model_optimization'ı tfmot olarak içe aktar model = build_your_model () pruning_schedule = tfmot.sparsity.keras.PolynomialDecay ( initial_sparsity = 0.0, final_sparsity = 0.5, begin_step = 2000, end_step = 4000) model_for_pruning = tfmot.sparsity.keras.prune_low_magnitude (model, pruning_schedule = pruning_schedule) ... model_for_pruning.fit

Üç farklı tensör, solda seyreklik yok, merkezde birden fazla bireysel 0 değeri ve sağda 1x2 seyrek blok var.

Eğitim ilerledikçe budama işlemi yapılmaya başlanır. Bu süreçte eleme tensöründe sıfıra en yakın ağırlığı mevcut seyreklik hedefine ulaşılana kadar ortadan kaldıracaktır.

Budama programının yürütülmesi planlandığı her seferde, mevcut seyreklik hedefi yeniden hesaplanır ve seyreklik,% 0'dan başlayıp biten nihai hedef seyrekliğe ulaşmak için yavaşça yükselen fonksiyona göre kademeli olarak arttırılır.

Kullanıcı ayrıca bu yükselme işlevini gerektiği gibi ayarlayabilir. Bazı durumlarda, nihai hedef seyrekliğe ulaşıldığında sistemde daha fazla ince ayar yapmak için eğitim süreci, belirli bir adım belirli bir yakınsama düzeyine ulaştıktan sonra optimizasyonu başlatacak şekilde programlanabilir veya budama, toplam eğitim adımlarının sayısından önce sona erebilir.

Ağırlık tensörü budama animasyonu, siyah noktalar sıfır olmayan ağırlıkları gösterir.Eğitim ilerledikçe seyreklik kademeli olarak artar

GitHub adresi:

https://github.com/tensorflow/model-optimization

Resmi eğitim:

https://www.tensorflow.org/model_optimization/guide/pruning/pruning_with_keras

- Bitiş -

Samimi işe alım

Qubit, editörleri / muhabirleri işe alıyor ve merkezi Pekin, Zhongguancun'da bulunuyor. Yetenekli ve hevesli öğrencilerin bize katılmasını dört gözle bekliyoruz! Ayrıntılar için, lütfen QbitAI diyalog arayüzünde "işe alım" kelimesiyle yanıt verin.

Qubit QbitAI · Toutiao İmzalama Yazarı

' ' Yapay zeka teknolojisi ve ürünlerindeki yeni eğilimleri takip edin

Gerçek arkadaşlar: Shao Pengcheng ve Jing Ran nihayet karşı karşıya geliyor.İki büyük oyuncunun dramını izlemek çok keyifli.
önceki
İyi eğitimli olduğuna güvenerek, gerçek kahvaltı talebine işaret ederek, Ellie'nin erkek versiyonu, yüzünün önündeki köşeyi kaldırabilir.
Sonraki
Intel güvenlik açıklarını yeniden üretir: 2011'den sonra bilgisayarların neredeyse tamamı vurulur ve bu da parola verilerini çalabilir
Zhu Yilong, Yang Rongkai üyelerine kırmızı bir zarf verdi ve onu içtenlikle kendi oyununu izlemeye davet etti.
"Heartstone" NGA Ulusal Hizmet Haftalık: Batman Geri Dönüyor
Zhu Yilong, Yang Rongun doğumunu art arda beş yıl kutladı. Gerçek arkadaşlarımdan biri Longer ve Yang Guoer.
Zhu Yilongun bir şeyleri parçalamanın süslü yolu, aşk ama kazançla kaybedilemez, zyl48'de kim daha kötü?
Gerçek bir arkadaş konferansından garip bir ses mi? Kamera Zhu Yilong'u kestiği zaman, öyle
Zhu Yilong ve Xu Di birlikte çaldı ve şarkı söyledi, gözlerini kaldırıp gülümsediğinde ışık ve gölge gayet iyiydi.
"Heartstone" TS Merdiveni Standart Ortamı Haftalık: Ritim Hırsızı çevrimdışı olmaya zorlandı
Ji Pai Sıcak Yorum | Sermaye piyasası kargaşası, altın "köyün" umudu oluyor
Gerçek arkadaş: Adınızı binlerce eve ekleseniz bile asıl günah olan kişnenden nefret ettiğinizi bilmiyor mu?
"World of Warcraft" Eternal Palace, Operation Mechagon: Özel özelliklerin ilk çıkışı
Önümüzdeki haftanın büyük etkinliği "World of Warcraft": pirinç gelişir ve sallanır, Delano Zaman Haftası
To Top