LiteRT, verimli dönüştürme, çalışma zamanı ve optimizasyon kullanarak uç platformlarda yüksek performanslı makine öğrenimi ve üretken yapay zeka dağıtımı için Google'ın cihaz üzerinde çerçevesidir.
LiteRT 2.x, Interpreter API'yi (diğer adıyla TensorFlow Lite API'leri) geliştiren en yeni çalışma zamanı API'si olan CompiledModel API'yi içerir. Bu API, özellikle cihaz üzerinde makine öğrenimi ve yapay zeka uygulamalarında donanım hızlandırma ve genel performans açısından iyileştirmeler sunar. CompiledModel API, beta sürümündedir ve hem Kotlin hem de C++'ta kullanılabilir.
LiteRT'nin temel özellikleri
Desteklenen Modeller
LiteRT, Pytorch, TensorFlow ve JAX Framework'lerinden .tflite veya .litertlm biçimine dönüştürmeyi kolaylaştırır.
LiteRT ile geliştirmeyi kolaylaştırın
Otomatik hızlandırıcı seçimi ve açıkça temsilci oluşturma Basit NPU çalışma zamanı ve model dağıtımı. Üstün performans için verimli G/Ç arabellek işleme ve eşzamansız yürütme.
Sınıfının en iyisi GPU performansı
ML Drift tarafından desteklenir. Artık GPU API'lerinde hem makine öğrenimi hem de üretken yapay zeka modellerini destekler.
Birleştirilmiş NPU hızlandırması
Büyük yonga seti sağlayıcıların basitleştirilmiş NPU erişimini kullanarak modelinizi hızlandırın.
LiteRT ile basitleştirilmiş LLM desteği
LiteRT tarafından desteklenen LiteRT-LM'yi kullanabilirsiniz. LiteRT-LM, en yeni LLM'leri ve çok formatlılık, kısıtlanmış kod çözme gibi faydalı özellikleri destekler.
Geliştirme iş akışı
LiteRT, Android, iOS, Web, IoT ve masaüstü/dizüstü bilgisayarlarda çıkarımları tamamen cihaz üzerinde çalıştırır. Cihazdan bağımsız olarak en yaygın iş akışı aşağıda verilmiştir. Daha fazla talimat için bağlantıları kullanabilirsiniz.

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. 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.
Modeli edinme ve hazırlama
LiteRT modeli, .tflite
dosya uzantısını kullanan FlatBuffers adlı verimli bir taşınabilir biçimde gösterilir.
LiteRT modelini aşağıdaki yöntemlerle edinebilirsiniz:
Önceden eğitilmiş bir model edinme: Görüntü segmentasyonu ve nesne algılama gibi popüler makine öğrenimi iş yükleri için.
En basit yaklaşım,
.tflitebiçiminde olan bir LiteRT modeli kullanmaktır. Bu modeller için ek dönüşüm adımları gerekmez.Model Türü Önceden eğitilmiş model kaynağı Klasik makine öğrenimi
(.tflitebiçimi)Kaggle veya HuggingFace'i ziyaret edin.
Örneğin, resim segmentasyonu modelleri ve örnek uygulamaÜretken yapay zeka
(.litertlmbiçimi)LiteRT Hugging Face sayfası
Ör. Gemma AilesiÖnceden eğitilmiş bir model kullanmamayı tercih ederseniz seçtiğiniz PyTorch, TensorFlow veya JAX modelini LiteRT modeline dönüştürün. [PRO USER]
Model Çerçevesi Örnek Modeller Dönüştürme Aracı Pytorch Hugging Face
TorchvisionBağlantı TensorFlow Kaggle Models
Hugging FaceBağlantı Jax Hugging Face Bağlantı Generative API'yi kullanarak daha fazla optimizasyon için LLM'nizi oluşturun [PRO KULLANICISI]
Üretken API kitaplığımız, mobil cihazlara uygun soyutlamalar kullanarak Gemma, TinyLlama ve diğerleri gibi Transformer modellerini oluşturmak için PyTorch'ta yerleşik yapı taşları sağlar. Bu sayede, mobil çalışma zamanımız LiteRT'de dönüştürme ve yüksek performanslı yürütme garantisi verebiliriz. Üretken API dokümanlarını inceleyin.
Kuantizasyon [PRO KULLANICISI]
Gelişmiş geliştiriciler için AI Edge Quantizer, dönüştürülmüş LiteRT modellerini nicelleştirmeye yönelik bir araçtır. Bu özellik, ileri düzey kullanıcıların kaynak gerektiren modellerde (ör. üretken yapay zeka modelleri).
Makine öğrenimi modelleri ve üretken yapay zeka modelleri için Ai-Edge-Quantization belgelerine bakın.
Başlamak için ön koşullar
- Python 3.10-3.12
.tflitemodel dosyası- İlgili platform bölümünde ek ayrıntılar mevcuttur.
Modeli, uç platformlardaki uygulamanıza entegre etme
LiteRT modellerinizi, Android, iOS, Web, IoT ve masaüstü 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++ dillerine yönelik API'ler içerir.
Tercih ettiğiniz platformda LiteRT modeli uygulamak için aşağıdaki kılavuzları kullanın:
| Model Çerçevesi | Örnek Modeller | Dönüştürme Aracı |
|---|---|---|
| Android'de çalıştırma | Android mobil cihazlar | C++/Kotlin API'leri |
| iOS'te çalıştırma | iOS mobil cihazlar | C++/Swift* API'leri |
| LiteRT.js kullanarak web'de çalıştırma | Chrome, Firefox veya Safari'nin yüklü olduğu bir cihaz | JavaScript API'leri |
| Run on Micro | Yerleştirilmiş cihazlar | C++ API'leri |
*Çok yakında
Kotlin kodu örneği
// Load model and initialize runtime
val compiledModel = CompiledModel.create("/path/to/mymodel.tflite", CompiledModel.Options(Accelerator.CPU))
// Prepare I/O buffers and fill in the data
val inputBuffers = compiledModel.createInputBuffers()
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)
val outputBuffers = compiledModel.createOutputBuffers()
// Execute model
compiledModel.run(inputBuffers, outputBuffers)
// Access model output
val output = outputBuffers.get(0).readFloat()
inputBuffers.forEach { it.close() }
outputBuffers.forEach { it.close() }
compiledModel.close()
C++ kod örneği
LITERT_ASSIGN_OR_RETURN(auto env, GetEnvironment());
LITERT_ASSIGN_OR_RETURN(auto options, GetOptions());
LITERT_ASSIGN_OR_RETURN(
auto compiled_model,
CompiledModel::Create(env, "/path/to/mymodel.tflite", options));
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));
Arka uç seçin
LiteRT'ye arka uçları dahil etmenin en basit yolu, çalışma zamanının yerleşik akıllı özelliklerinden yararlanmaktır. En son değişikliklerle birlikte LiteRT, hedef arka ucu seçenek olarak belirleme olanağı sunarak kurulumu önemli ölçüde basitleştirir.
LiteRT v2.x'in temelinde CompiledModel nesnesi bulunur. Bir modeli yüklediğinizde LiteRT, manuel yapılandırma olmadan optimum arka ucu seçmek için sistemin kullanılabilir donanımını ve dahili öncelik mantığını kullanır. Daha fazla ayrıntı için arka uca bakın.
| Android | Masaüstü | Web | iOS | macOS | IoT | |
|---|---|---|---|---|---|---|
| CPU | XNNPack | XNNPack | XNNPack | XNNPack | XNNPack | XNNPack |
| GPU | WebGPU OpenCL |
WebGPU OpenCL |
WebGPU | WebGPU Metal |
WebGPU Metal |
WebGPU |
| NPU | MediaTek Qualcomm |
- | - | - | - | - |
Ek belgeler ve destek
LiteRT v2.x örnek uygulaması LiteRT Görüntü Segmentasyonu Örnek Uygulaması'na bakın.
TensorFlow Lite'ın mevcut kullanıcıları için Taşıma kılavuzuna bakın.
İşlemler kapsamı Uyumlu operatörler
Desteklenen LLM Modelleri LiteRT Hugging Face ve Gen API - örnekler
Araçlar LiteRT araçlar sayfası - Performans, profil oluşturma, hata raporlama vb.