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.
En yeni LiteRT 2.x sürümünde, donanım hızlandırmayı en üst düzeye çıkarmak için tasarlanmış modern bir çalışma zamanı arayüzü olan CompiledModel API'si kullanıma sunuluyor. Interpreter API (eski adıyla TensorFlow Lite) geriye dönük uyumluluk için kullanılmaya devam etse de CompiledModel API, cihaz üzerinde yapay zeka uygulamalarında en iyi performansı elde etmek isteyen geliştiriciler için önerilen seçenektir.
LiteRT'nin temel özellikleri
LiteRT ile geliştirmeyi kolaylaştırın
Otomatik hızlandırıcı seçimi ve açıkça temsilci oluşturma. Üstün performans için verimli G/Ç arabellek işleme ve eşzamansız yürütme. Cihaz üzerinde çıkarım belgelerine bakın.
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. GPU hızlandırma belgelerine bakın.
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. NPU hızlandırma belgelerini inceleyin.
Üstün LLM Desteği
LiteRT, mobil, masaüstü ve web platformlarında üretken yapay zeka modelleri için yüksek performanslı dağıtım sağlar. Üretken yapay zeka dağıtım belgelerine bakın.
Kapsamlı ML çerçevesi desteği
LiteRT, PyTorch, TensorFlow ve JAX Framework'lerinden .tflite veya .litertlm biçimine dönüştürme işlemini kolaylaştırır.
Model dönüştürme belgelerini inceleyin.
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).
Daha fazla bilgi için AI Edge Quantizer dokümanlarına bakın.
Modeli, uç platformlardaki uygulamanıza entegre etme
LiteRT, Android, iOS, Web, Masaüstü ve IoT platformlarında makine öğrenimi modellerini tamamen cihaz üzerinde yüksek performansla çalıştırmanıza olanak tanır.
Tercih ettiğiniz platformda LiteRT modelini entegre etmek için aşağıdaki kılavuzları kullanın:
| Desteklenen Platform | Desteklenen Cihazlar | Desteklenen API'ler |
|---|---|---|
| Android'de çalıştırma | Android mobil cihazlar | C++/Kotlin |
| iOS/macOS'te çalıştırma | iOS mobil cihazlar, MacBook'lar | C++/Swift |
| LiteRT.js kullanarak web'de çalıştırma | Chrome, Firefox veya Safari'nin yüklü olduğu bir cihaz | JavaScript |
| Linux'ta çalıştırma | Linux iş istasyonu veya Linux tabanlı IoT cihazları | C++/Python |
| Windows'da çalıştırma | Windows iş istasyonu veya dizüstü bilgisayarlar | C++/Python |
| Run on Micro | Yerleştirilmiş cihazlar | C++ |
Aşağıdaki kod snippet'lerinde Kotlin ve C++'taki temel bir uygulama gösterilmektedir.
Kotlin
// Load model and initialize runtime
val compiledModel = CompiledModel.create(
"/path/to/mymodel.tflite",
CompiledModel.Options(Accelerator.CPU))
// Preallocate input/output buffers
val inputBuffers = compiledModel.createInputBuffers()
val outputBuffers = compiledModel.createOutputBuffers()
// Fill the input buffer
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)
// Invoke
compiledModel.run(inputBuffers, outputBuffers)
// Read the output
val output = outputBuffers.get(0).readFloat()
C++
// Load model and initialize runtime
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));
// Preallocate input/output buffers
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));
// Fill the input buffer
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));
// Invoke
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));
// Read the output
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));
Donanım hızlandırıcı seçme
LiteRT'ye arka uçları dahil etmenin en basit yolu, çalışma zamanının yerleşik akıllı özelliklerinden yararlanmaktır. CompiledModel API ile LiteRT, hedef arka ucu seçenek olarak belirleme özelliği sayesinde kurulumu önemli ölçüde basitleştirir. Daha fazla bilgi için cihaz üzerinde çıkarım kılavuzuna bakın.
| Android | iOS / macOS | Web | Linux / Windows | IoT | |
|---|---|---|---|---|---|
| CPU | XNNPACK | XNNPACK | XNNPACK | XNNPACK | XNNPACK |
| GPU | WebGPU OpenCL |
WebGPU Metal |
WebGPU | WebGPU OpenCL |
WebGPU |
| NPU | MediaTek Qualcomm |
- | - | - | - |
Ek belgeler ve destek
Daha fazla LiteRT örnek uygulaması için LiteRT-Samples GitHub deposu'na göz atın.
TensorFlow Lite'ın mevcut kullanıcıları için taşıma kılavuzuna bakın.
Performans, profil oluşturma, hata raporlama vb. için LiteRT Tools sayfası