LiteRT është kuadri në pajisje i Google për vendosjen e ML dhe GenAI me performancë të lartë në platformat edge, duke përdorur konvertim, kohë ekzekutimi dhe optimizim efikas.
LiteRT 2.x përmban API-në më të fundit të kohës së ekzekutimit, CompiledModel API, e cila përmirëson API-në e Interpreter (të njohur edhe si TensorFlow Lite API), veçanërisht përmes përshpejtimit të harduerit dhe performancës së përgjithshme për aplikacionet ML dhe IA në pajisje. CompiledModel API është në versionin beta dhe është i disponueshëm si në Kotlin ashtu edhe në C++.
Karakteristikat kryesore të LiteRT
Modelet e Mbështetura
LiteRT mbështet konvertim të efektshëm nga Pytorch, TensorFlow dhe JAX Frameworks në formatin .tflite ose .litertlm.
Përmirësoni zhvillimin me LiteRT
Përzgjedhje automatike e përshpejtuesit kundrejt krijimit të qartë të delegatëve. Koha e thjeshtë e ekzekutimit të NPU-së dhe shpërndarja e modelit. Trajtimi efikas i buffer-it I/O dhe ekzekutimi asinkron për performancë superiore.
Performanca më e mirë e GPU-së në klasën e saj
Mundësuar nga ML Drift, tani mbështet modelet ML dhe Generative AI në API-të e GPU-ve.
Përshpejtimi i unifikuar i NPU-së
Përshpejtoni modelin tuaj duke përdorur akses të thjeshtuar në NPU nga ofruesit kryesorë të çipseteve.
Mbështetje e thjeshtuar e LLM me LiteRT
Mund të përdorni LiteRT-LM i cili mbështetet nga LiteRT. LiteRT-LM mbështet LLM-të më të fundit dhe veçori të dobishme si multimodaliteti, dekodimi i kufizuar, etj.
Fluksi i punës së zhvillimit
LiteRT ekzekuton përfundime tërësisht në pajisje në Android, iOS, Web, IoT dhe në Desktop/Laptop. Pavarësisht pajisjes, më poshtë është rrjedha më e zakonshme e punës, me lidhje për udhëzime të mëtejshme.

Identifikoni zgjidhjen më të përshtatshme për sfidën e ML-së
LiteRT u ofron përdoruesve një nivel të lartë fleksibiliteti dhe përshtatshmërie kur bëhet fjalë për zgjidhjen e problemeve të të mësuarit automatik, duke e bërë atë një zgjedhje të mirë për përdoruesit që kërkojnë një model specifik ose një implementim të specializuar. Përdoruesit që kërkojnë zgjidhje plug-and-play mund të preferojnë MediaPipe Tasks , i cili ofron zgjidhje të gatshme për detyra të zakonshme të të mësuarit automatik, si zbulimi i objekteve, klasifikimi i tekstit dhe nxjerrja e përfundimeve LLM.
Marrja dhe përgatitja e modelit
Një model LiteRT përfaqësohet në një format efikas portativ të njohur si FlatBuffers , i cili përdor prapashtesën e skedarit .tflite .
Ju mund të merrni një model LiteRT në mënyrat e mëposhtme:
Merrni një model të para-trajnuar: për ngarkesat e punës popullore të ML si segmentimi i imazhit, zbulimi i objekteve etj.
Qasja më e thjeshtë është të përdorni një model LiteRT që është tashmë në formatin
.tflite. Këto modele nuk kërkojnë ndonjë hap shtesë konvertimi.Lloji i modelit Burimi i modelit të para-trajnuar ML klasike
(formati.tflite)Vizitoni Kaggle ose HuggingFace
P.sh. modelet e segmentimit të imazhit dhe aplikacioni shembullIA gjeneruese
(formati.litertlm)Faqja e përqafimit LiteRT
Familja Eg GemmaKonvertoni modelin tuaj të zgjedhur PyTorch, TensorFlow ose JAX në një model LiteRT nëse zgjidhni të mos përdorni një model të para-trajnuar. [PRO PËRDORUES]
Korniza e Modelit Modele Shembull Mjet Konvertimi Pytorch Fytyrë përqafuese
TorchvisionLidhje TensorFlow Modelet Kaggle
Fytyrë përqafueseLidhje Jax Fytyrë përqafuese Lidhje Shkruani LLM-në tuaj për optimizim të mëtejshëm duke përdorur Generative API [PRO USER]
Biblioteka jonë Generative API ofron blloqe ndërtimi të integruara PyTorch për kompozimin e modeleve Transformer si Gemma , TinyLlama dhe të tjerë duke përdorur abstraksione miqësore për celularët, përmes të cilave ne mund të garantojmë konvertimin dhe ekzekutimin me performancë të lartë në kohën tonë të ekzekutimit celular, LiteRT. Shihni dokumentacionin e Generative API .
Kuantizimi [PËRDORUESI PROFESIONAL]
AI Edge Quantizer për zhvilluesit e avancuar është një mjet për të kuantizuar modelet e konvertuara LiteRT. Ai synon t'u lehtësojë përdoruesve të përparuar të përpiqen për performancë optimale në modelet që kërkojnë burime (p.sh., modelet GenAI).
Për modelet e të mësuarit automatik dhe modelet e IA-së gjeneruese shihni dokumentacionin e Ai-Edge-Quantizimit .
Parakushtet për të filluar
- Python 3.10-3.12
- Skedari i modelit
.tflite - Detaje shtesë janë të disponueshme në seksionin përkatës të platformës
Integroni modelin në aplikacionin tuaj në platformat Edge
Ju mund të implementoni modelet tuaja LiteRT për të ekzekutuar përfundime plotësisht në pajisje në pajisjet Android, iOS, Web, IoT dhe Desktop. LiteRT përmban API për Python , Java dhe Kotlin për Android, Swift për iOS dhe C++ për mikro-pajisje.
Përdorni udhëzuesit e mëposhtëm për të zbatuar një model LiteRT në platformën tuaj të preferuar:
| Korniza e Modelit | Modele Shembull | Mjet Konvertimi |
|---|---|---|
| Ekzekuto në Android | Pajisjet mobile Android | API-të C++/Kotlin |
| Ekzekuto në iOS | Pajisjet mobile iOS | API-të C++/Swift* |
| Ekzekutoni në internet duke përdorur LiteRT.js | Pajisje me Chrome, Firefox ose Safari | API-të e JavaScript-it |
| Ekzekuto në Micro | Pajisjet e integruara | API-të C++ |
*Së shpejti
Shembull kodi Kotlin
// 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()
Shembull kodi C++
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));
Zgjidh një backend
Mënyra më e drejtpërdrejtë për të përfshirë backend-et në LiteRT është të mbështeteni në inteligjencën e integruar të kohës së ekzekutimit. Me ndryshimet e fundit, LiteRT e thjeshton ndjeshëm konfigurimin me mundësinë për të specifikuar backend-in e synuar si një opsion.
Bërthama e LiteRT v2.x është objekti CompiledModel . Kur ngarkoni një model, LiteRT përdor harduerin e disponueshëm të sistemit dhe logjikën e brendshme të përparësisë për të zgjedhur backend-in optimal pa konfigurim manual. Shihni backend-in për më shumë detaje.
| Android | Desktop | Uebi | iOS | macOS | IoT | |
|---|---|---|---|---|---|---|
| CPU | XNNPack | XNNPack | XNNPack | XNNPack | XNNPack | XNNPack |
| GPU | WebGPU OpenCL | WebGPU OpenCL | WebGPU | WebGPU Metal | WebGPU Metal | WebGPU |
| NPU | MediaTek Qualcomm | - | - | - | - | - |
Dokumentacion dhe mbështetje shtesë
Aplikacion shembull LiteRT v2.x Shih aplikacionin shembull të segmentimit të imazhit LiteRT
Për përdoruesit ekzistues të TensorFlow Lite Shihni udhëzuesin e migrimit
Mbulimi i Operacioneve Operatorët e pajtueshëm
Modelet e Mbështetura të LLM LiteRT Hugging face dhe Gen API - shembuj
Faqja e mjeteve LiteRT - Performanca, Profilizimi, raportimi i gabimeve etj.