Eski adıyla TensorFlow Lite olarak bilinen LiteRT (Lite Runtime'ın kısaltması), Google'ın cihaz üzerinde yapay zeka için yüksek performanslı çalışma zamanıdır. Çok çeşitli makine öğrenimi/yapay zeka görevleri için kullanıma hazır LiteRT modelleri bulabilir veya yapay zeka Edge dönüştürme ve optimizasyon araçlarını kullanarak TensorFlow, PyTorch ve JAX modellerini TFLite biçimine dönüştürüp çalıştırabilirsiniz.
Temel özellikler
Cihaz üzerinde makine öğrenimi için optimize edilmiştir: LiteRT, beş temel ODML kısıtlamasını ele alır: gecikme (sunucuya gidiş dönüş yoktur), gizlilik (cihazdan kişisel veri çıkmaz), bağlantı (internet bağlantısı gerekmez), boyut (model ve ikili boyut küçültülür) ve güç tüketimi (verimli çıkarım ve ağ bağlantısı olmaması).
Çoklu platform desteği: Android ve iOS cihazlar, gömülü Linux ve mikro denetleyicilerle uyumludur.
Çok çerçeveli model seçenekleri: AI Edge, PyTorch ve TensorFlow modellerinden FlatBuffers biçimine (
.tflite) model dönüştürme araçları sunar. Böylece LiteRT'de çok çeşitli son teknoloji modelleri kullanabilirsiniz. Ayrıca, nicelendirme ve meta verileri işleyebilen model optimizasyonu araçlarına da erişebilirsiniz.Çeşitli dil desteği: Java/Kotlin, Swift, Objective-C, C++ ve Python için SDK'lar içerir.
Yüksek performans: GPU ve iOS Core ML gibi özel temsilciler aracılığıyla donanım hızlandırma.
Geliştirme iş akışı
LiteRT geliştirme iş akışı, bir makine öğrenimi/yapay zeka sorununu tanımlamayı, bu sorunu çözen bir model seçmeyi ve modeli cihazda uygulamayı içerir. Aşağıdaki adımlar, iş akışında size yol gösterir ve daha fazla talimat içeren bağlantılar sağlar.
1. Makine öğrenimi sorununa en uygun çözümü belirleme
LiteRT, makine öğrenimi sorunlarını çözme konusunda kullanıcılara yüksek düzeyde esneklik ve özelleştirme imkanı sunar. Bu nedenle, belirli bir modele veya özel bir uygulamaya ihtiyaç duyan kullanıcılar için uygundur. Kullanıma hazır çözümler arayan kullanıcılar, nesne algılama, metin sınıflandırma ve LLM çıkarımı gibi yaygın makine öğrenimi görevleri için hazır çözümler sunan MediaPipe Tasks'i tercih edebilir.
Aşağıdaki AI Edge çerçevelerinden birini seçin:
- LiteRT: Çok çeşitli modelleri çalıştırabilen esnek ve özelleştirilebilir bir çalışma zamanı. Kullanım alanınız için bir model seçin, gerekirse LiteRT biçimine dönüştürün ve cihazda çalıştırın. LiteRT'yi kullanmayı düşünüyorsanız okumaya devam edin.
- MediaPipe Görevleri: Özelleştirmeye olanak tanıyan varsayılan modellerle kullanıma hazır çözümler. Yapay zeka/makine öğrenimi sorununuzu çözen görevi seçin ve bunu birden fazla platformda uygulayın. MediaPipe Görevleri'ni kullanmayı planlıyorsanız MediaPipe Görevleri belgelerine bakın.
2. Model seçme
LiteRT modeli, .tflite
dosya uzantısını kullanan FlatBuffers adlı verimli bir taşınabilir biçimde gösterilir.
LiteRT modelini aşağıdaki şekillerde kullanabilirsiniz:
Mevcut bir LiteRT modelini kullanma: En basit yaklaşım,
.tflitebiçimindeki bir LiteRT modelini kullanmaktır. Bu modeller için ek dönüşüm adımları gerekmez. LiteRT modellerini Kaggle Models'da bulabilirsiniz.Modeli LiteRT modeline dönüştürme: Modelleri FlatBuffers biçimine (
.tflite) dönüştürmek ve LiteRT'de çalıştırmak için PyTorch Converter veya TensorFlow Converter'ı kullanabilirsiniz. Başlamak için aşağıdaki sitelerde modeller bulabilirsiniz:- Hugging Face ve
torchvisionüzerindeki PyTorch modelleri - Kaggle Models ve Hugging Face'teki TensorFlow modelleri
- Hugging Face ve
LiteRT modeli, cihaz üzerinde çıkarım sırasında ön ve son işleme ardışık düzenlerinin otomatik olarak oluşturulması için insan tarafından okunabilir model açıklamaları ve makine tarafından okunabilir veriler içeren meta veriler içerebilir. Daha fazla bilgi için Meta veri ekleme bölümüne bakın.
3. Modeli uygulamanıza entegre etme
LiteRT modellerinizi web, yerleşik ve mobil cihazlarda çıkarımları tamamen cihaz üzerinde çalıştıracak şekilde uygulayabilirsiniz. LiteRT; Android için Python, Java ve Kotlin, iOS için Swift ve mikro cihazlar için C++ API'lerini içerir.
Tercih ettiğiniz platformda LiteRT modeli uygulamak için aşağıdaki kılavuzları kullanın:
- Android'de çalıştırma: Java/Kotlin API'lerini kullanarak Android cihazlarda modelleri çalıştırın.
- iOS'te çalıştırma: Swift API'lerini kullanarak modelleri iOS cihazlarda çalıştırın.
- Run on Micro: C++ API'lerini kullanarak modelleri yerleştirilmiş cihazlarda çalıştırın.
Android ve iOS cihazlarda donanım hızlandırmayı kullanarak performansı artırabilirsiniz. Her iki platformda da GPU Delegate'i, iOS'te ise Core ML Delegate'i kullanabilirsiniz. Yeni donanım hızlandırıcıları için destek eklemek istiyorsanız kendi temsilcinizi tanımlayabilirsiniz.
Model türüne bağlı olarak çıkarım işlemini aşağıdaki şekillerde çalıştırabilirsiniz:
Meta verileri olmayan modeller: LiteRT Interpreter API'yi kullanın. Java, Swift, C++, Objective-C ve Python gibi birden fazla platformda ve dilde desteklenir.
Meta verileri olan modeller: LiteRT Destek Kitaplığı ile özel çıkarım ardışık düzenleri oluşturabilirsiniz.
TF Lite'tan taşıma
TF Lite kitaplıklarını kullanan uygulamalar çalışmaya devam edecek ancak yeni aktif geliştirme ve güncellemelerin tümü yalnızca LiteRT paketlerine dahil edilecek. LiteRT API'leri, TF Lite API'leriyle aynı yöntem adlarını içerir. Bu nedenle, LiteRT'ye geçiş için ayrıntılı kod değişiklikleri yapılması gerekmez.
Daha fazla bilgi için taşıma kılavuzuna bakın.
Sonraki adımlar
Yeni kullanıcılar LiteRT hızlı başlangıç kılavuzunu inceleyerek başlayabilir. Belirli bilgiler için aşağıdaki bölümlere bakın:
Model dönüşümü
- PyTorch modellerini dönüştürme
- PyTorch üretken yapay zeka modellerini dönüştürme
- TensorFlow modellerini dönüştürme
- JAX modellerini dönüştürme
Platform rehberleri