LiteRT ile donanım hızlandırma

Modern mobil ve uç cihazlarda, CPU'ya kıyasla yapay zeka modellerini 25 kata kadar hızlandırabilen ve aynı anda güç tüketimini 5 kata kadar azaltabilen özel Grafik İşleme Birimleri (GPU'lar) ve Sinir Ağı İşleme Birimleri (NPU'lar) bulunur.

LiteRT, birleştirilmiş donanım hızlandırma yığını aracılığıyla bu özel silikona erişimi kolaylaştırır. LiteRT, parçalanmış, tedarikçiye özel SDK'ları veya karmaşık donanım API'lerini yönetmek yerine model optimizasyonu, bellek yönetimi ve donanım dağıtımının karmaşıklığını ortadan kaldıran, kolaylaştırılmış bir CompiledModel API sağlar.

Hızlandırıcı türleri

LiteRT, çeşitli donanım arka uçlarında modelleri yürütmek için birleşik bir arayüz sağlar. CompiledModel API'den yararlanarak, cihaz üzerinde veya Ahead-of-Time (AOT) derleme kullanarak bu hızlandırıcılar arasında sorunsuz bir şekilde geçiş yapabilir ve desteklenmeyen işlemler için otomatik olarak CPU'ya geri dönebilirsiniz.

  • CPU: XNNPACK kullanan varsayılan yürütme yoludur ve her zaman kullanılabilir. Genel görevler için idealdir ve desteklenmeyen operatörler için yedek olarak kullanılabilir.
  • GPU: ML Drift tarafından desteklenir. OpenCL, WebGPU, Metal vb. kullanarak uç platformlarda SOTA performansı sunar. Daha fazla bilgi için LiteRT ile GPU hızlandırma başlıklı makaleyi inceleyin.
  • NPU: Yapay zeka iş yükleri için en yüksek verimlilik ve performans. LiteRT, Google Tensor, Qualcomm ve MediaTek gibi özel NPU yonga setlerine erişmek için tedarikçiye özel SDK entegrasyonu gerektirmeyen birleşik bir geliştirme akışı sunar. Daha fazla bilgi için LiteRT ile NPU hızlandırma başlıklı makaleyi inceleyin.

Bu hızlandırıcılar, belirli bir donanımda bazı karmaşık işlemler kullanılamadığında mümkün olan en iyi performansı elde etmek için birleştirilebilir. Hızlandırıcılar bir işlem için rekabet ettiğinde LiteRT, aşağıdaki öncelik sırasını kullanır: NPU, GPU, CPU.