Daha önce TensorFlow Lite olarak bilinen LiteRT (Lite Runtime'ın kısaltması), Google'ın cihaz üzerinde yapay zeka için yüksek performanslı çalışma ortamıdır. Çeşitli ML/AI görevleri için hazır LiteRT modelleri bulabilir veya AI 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 (sunucuyla gidiş geliş yoktur), gizlilik (cihazdan kişisel veri çıkmaz), bağlantı (internet bağlantısı gerekmez), boyut (küçültülmüş model ve ikili boyut) ve güç tüketimi (verimli çıkarım ve ağ bağlantısı olmaması).
Çok platformlu destek: Android ve iOS cihazlar, yerleşik Linux ve mikrodenetleyiciler ile uyumludur.
Çok çerçeveli model seçenekleri: AI Edge, TensorFlow, PyTorch ve JAX modellerini FlatBuffers biçimine (
.tflite
) dönüştürmek için araçlar sağlar. Bu sayede LiteRT'te çok çeşitli son teknoloji modelleri kullanabilirsiniz. Ayrıca, kesme ve meta verileri işleyebilecek model optimizasyon 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ırması.
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 cihaza uygulamayı içerir. Aşağıdaki adımlar, iş akışında size yol gösterir ve daha fazla talimatın bağlantılarını sağlar.
1. ML sorununa en uygun çözümü belirleme
LiteRT, makine öğrenimi sorunlarını çözme konusunda kullanıcılara yüksek düzeyde esneklik ve özelleştirilebilirlik sunar. Bu sayede, belirli bir modele veya özel bir uygulamaya ihtiyaç duyan kullanıcılar için idealdir. Tak ve çalıştır çözümleri 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 yapay zeka uç çerçevelerinden birini seçin:
- LiteRT: Çeşitli modelleri çalıştırabilen esnek ve özelleştirilebilir ç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ı planlıyorsanız okumaya devam edin.
- MediaPipe Görevleri: Özelleştirmeye olanak tanıyan varsayılan modellere sahip, tak ve çalıştır çözümleri. AI/ML sorununuzu çözen görevi seçin ve birden fazla platformda uygulayın. MediaPipe Tasks'i kullanmayı planlıyorsanız MediaPipe Tasks belgelerine bakın.
2. Model seçme
LiteRT modeli, .tflite
dosya uzantısını kullanan FlatBuffers olarak bilinen verimli ve taşınabilir bir biçimde temsil edilir.
LiteRT modelini aşağıdaki şekillerde kullanabilirsiniz:
Mevcut bir LiteRT modelini kullanma: En basit yaklaşım,
.tflite
biçiminde mevcut bir LiteRT modelini kullanmaktır. Bu modeller için ek dönüşüm adımları gerekmez. LiteRT modellerini Kaggle Models'de bulabilirsiniz.Bir modeli LiteRT modeline dönüştürme: Modelleri FlatBuffers biçimine (
.tflite
) dönüştürmek ve LiteRT'te çalıştırmak için TensorFlow Converter, PyTorch Converter veya JAX Converter'ı kullanabilirsiniz. Başlamak için aşağıdaki sitelerde modeller bulabilirsiniz:- Kaggle Models ve Hugging Face'teki TensorFlow modelleri
- HuggingFace ve
torchvision
'teki PyTorch modelleri - Kucaklayan Yüz'de JAX modelleri
LiteRT modeli isteğe bağlı olarak, cihaz üzerinde çıkarım sırasında ön ve son işleme ardışık düzenlerinin otomatik olarak oluşturulması için kullanıcı tarafından okunabilen model açıklamalarını ve makine tarafından okunabilen verileri içeren meta veriler içerebilir. Daha fazla bilgi için Meta veri ekleme başlıklı makaleyi inceleyin.
3. Modeli uygulamanıza entegre etme
LiteRT modellerinizi web, yerleşik ve mobil cihazlarda çıkarımların tamamen cihaz üzerinde çalıştırılması için uygulayabilirsiniz. LiteRT; Python, Android için 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 modelleri Android cihazlarda çalıştırın.
- iOS'te çalıştırma: Swift API'lerini kullanarak modelleri iOS cihazlarda çalıştırın.
- Mikro'da çalıştırma: C++ API'lerini kullanarak modelleri yerleşik cihazlarda çalıştırın.
Android ve iOS cihazlarda donanım hızlandırmayı kullanarak performansı artırabilirsiniz. Her iki platformda da GPU Temsilcisi'ni, iOS'te ise Core ML Temsilcisi'ni 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 yöntemlerle çalıştırabilirsiniz:
Meta veri içermeyen modeller: LiteRT Interpreter API'yi kullanın. Java, Swift, C++, Objective-C ve Python gibi birden fazla platformda ve dilde desteklenir.
Meta veri içeren 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 tüm yeni etkin geliştirmeler ve güncellemeler 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 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ılavuzundan yararlanmalıdır. Ayrıntılı bilgi için aşağıdaki bölümlere bakın:
Model dönüşümü
- TensorFlow modellerini dönüştürme
- PyTorch modellerini dönüştürme
- PyTorch üretken yapay zeka modellerini dönüştürme
- JAX modellerini dönüştürme
Platform kılavuzları