LiteRT, hem AOT hem de cihaz üzerinde derleme için CompiledModel API'si aracılığıyla Intel OpenVino'yu destekler.
Geliştirme ortamını kurma
Linux (x86_64):
- Ubuntu 22.04 veya 24.04 LTS
- Python 3.10 veya daha yeni bir sürüm — python.org adresinden veya dağıtımınızdan (
sudo apt install python3 python3-venv) yükleyin. - Intel NPU sürücüsü v1.32.1 — Linux NPU Kurulumu'na bakın.
Windows (x86_64):
- Windows 10 veya 11
- Python 3.10 veya sonraki bir sürüm — python.org adresinden yükleyin.
- Intel NPU sürücüsü 32.0.100.4724+ — Windows NPU Kurulumu bölümüne bakın.
Kaynaktan derleme için Bazelisk kullanılan Bazel 7.4.1+ veya hermetik Docker derlemesi de gereklidir.
Desteklenen çip üzerinde sistemler
| Platform | NPU | Kod adı | OS |
|---|---|---|---|
| Intel Core Ultra Serisi 2 | NPU4000 | Lunar Lake (LNL) | Linux, Windows |
| Intel Core Ultra Serisi 3 | NPU5010 | Panther Lake (PTL) | Linux, Windows |
Hızlı Başlangıç
1. NPU sürücülerini yükleme
Linux NPU Kurulumu veya Windows NPU Kurulumu başlıklı makaleyi inceleyin. Yalnızca AOT'ye ihtiyacınız varsa bu adımı atlayın.
NPU sürücüsü yalnızca modeli NPU donanımında çalıştıran sistemlerde gereklidir. Tam AOT derleme sistemleri bu adımı atlayabilir.
Not:
ai-edge-litert-sdk-intel-nightly, PEP 440 sürümüne göre (ör.openvino==2026.2.0.dev20260506) eşleşen OpenVINO gece sürümü tekerleğini sabitler. Bu nedenle, pip'in bunu bulması için--extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightlygerekir. Linux'ta dağıtım otomatik algılama özelliği yanlış arşivi seçersepip installöncesindeLITERT_OV_OS_ID=ubuntu22veyaubuntu24'ı ayarlayın.
2. Python sanal ortamı oluşturma
Gece derlemesi openvino tekerleğinin, sistem genelinde OpenVINO yüklemelerinden izole edilmesi önerilir.
python -m venv litert_env
# Linux / macOS
source litert_env/bin/activate
# Windows (PowerShell)
.\litert_env\Scripts\Activate.ps1
python -m pip install --upgrade pip
3. pip paketini yükleme
pip install --pre \
--extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly \
ai-edge-litert-nightly ai-edge-litert-sdk-intel-nightly
--extra-index-url, pip'in OpenVINO'nun dizinindeki sabitlenmiş openvino nightly wheel'ı PyPI'deki paketlerle birlikte çözmesine olanak tanır.
4. Kurulumu doğrulama
python -c "
from ai_edge_litert.aot.vendors.intel_openvino import intel_openvino_backend
import ai_edge_litert_sdk_intel, openvino, os
print('Backend:', intel_openvino_backend.IntelOpenVinoBackend.id())
print('Dispatch:', intel_openvino_backend.get_dispatch_dir())
print('OpenVINO:', openvino.__version__)
print('SDK libs:', sorted(os.listdir(ai_edge_litert_sdk_intel.path_to_sdk_libs())))
print('Available devices:', openvino.Core().available_devices)
"
Çıkışta kontrol edilecekler:
SDK libslistelerilibopenvino_intel_npu_compiler.so(Linux) veyaopenvino_intel_npu_compiler.dll(Windows) — AOT için gereklidir.Available devices,NPUiçerir. Bu, NPU sürücüsünün yüklendiğini ve OpenVINO'nun cihazla iletişim kurabildiğini onaylar.NPU, yalnızca AOT sistemlerinde (sürücünün yüklü olmadığı) ve Intel NPU donanımı olmayan sistemlerde bulunmaz.
5. AOT derlemesi (isteğe bağlı)
- Çalışma zamanının derleyici eklentisi adımını atlaması için belirli bir Intel NPU hedefi (PTL veya LNL) için
.tfliteönceden derler. - Fiziksel bir NPU veya NPU sürücüsü gerekmez. Yalnızca
ai-edge-litert-nightlyveai-edge-litert-sdk-intel-nightlyyeterlidir. - Çapraz derleme desteklenir: Herhangi bir Linux veya Windows ana makinesinde derleme yapın, sonuçtaki
.tflitedosyasını her iki işletim sisteminin hedefinde gönderin ve orada çalıştırın.
Çıkış dosyaları <model>_IntelOpenVINO_<SoC>_apply_plugin.tflite olarak adlandırılır.
from ai_edge_litert.aot import aot_compile
from ai_edge_litert.aot.vendors.intel_openvino import target as intel_target
# Compile for a single Intel NPU target (PTL or LNL).
aot_compile.aot_compile(
"model.tflite",
output_dir="out",
target=intel_target.Target(soc_model=intel_target.SocModel.PTL),
)
# Or omit target= to compile for every registered backend/target.
aot_compile.aot_compile("model.tflite", output_dir="out", keep_going=True)
6. NPU çıkarımı çalıştırma
LiteRT, Intel NPU'da iki çıkarım yolunu destekler:
- JIT: Ham
.tfliteyükleyin. Derleyici eklentisi,CompiledModel.from_file()zamanında NPU için desteklenen işlemleri bölümlendirir ve derler. İlk çalıştırma gecikmesi ekler (modele göre değişir). - AOT ile derlenmiş:
<model>_IntelOpenVINO_<SoC>_apply_plugin.tfliteile üretilen bir<model>_IntelOpenVINO_<SoC>_apply_plugin.tfliteyükleyin. Yükleme sırasında bölümleme ve derleme adımını atlar.
Bu snippet her ikisi için de çalışır:
from ai_edge_litert.compiled_model import CompiledModel
from ai_edge_litert.hardware_accelerator import HardwareAccelerator
model = CompiledModel.from_file(
"model.tflite", # raw tflite (JIT) or ..._apply_plugin.tflite (AOT)
hardware_accel=HardwareAccelerator.NPU | HardwareAccelerator.CPU,
)
sig_key = list(model.get_signature_list().keys())[0]
sig_idx = model.get_signature_index(sig_key)
input_buffers = model.create_input_buffers(sig_idx)
output_buffers = model.create_output_buffers(sig_idx)
model.run_by_index(sig_idx, input_buffers, output_buffers)
print("Fully accelerated:", model.is_fully_accelerated())
JIT'nin gerçekten çalıştırıldığını onaylama
JIT başarılı olduğunda günlükte şunlar yer alır (Linux'ta dosya uzantısı .so, Windows'da .dll):
INFO: [compiler_plugin.cc:236] Loaded plugin at: .../LiteRtCompilerPlugin_IntelOpenvino.{so,dll}
INFO: [compiler_plugin.cc:690] Partitioned subgraph<0>, selected N ops, from a total of N ops
INFO: [compiled_model.cc:1006] JIT compilation changed model, reserializing...
Bu satırlar yoksa ancak Fully accelerated: True yine de bildiriliyorsa model, NPU'da değil XNNPACK CPU yedeklemesinde çalıştırılmıştır. JIT ile ilgili sorun giderme satırına bakın.
7. Karşılaştırma
# Dispatch library and the NPU compiler are auto-discovered from the wheel.
litert-benchmark --model=model.tflite --use_npu --num_runs=50
Sık kullanılan işaretler:
| İşaret | Varsayılan | Açıklama |
|---|---|---|
--model PATH
|
— | .tflite modelinin yolu (zorunlu). |
--signature KEY |
ilk | Çalıştırılacak imza anahtarı. |
--use_cpu/--no_cpu
|
CANNOT TRANSLATE | CPU hızlandırıcıyı / CPU yedeklemeyi açın veya kapatın. |
--use_gpu |
kapalı | GPU hızlandırıcısını etkinleştirin. |
--use_npu |
kapalı | Intel NPU hızlandırıcıyı etkinleştirin. |
--require_full_delegation
|
kapalı | Model, seçilen hızlandırıcıya tamamen yüklenmemişse başarısız olur. |
--num_runs N
|
50 | Zamanlanmış çıkarım yineleme sayısı. |
--warmup_runs N
|
5 | Ölçümden önce süresiz ısınma tekrarları. |
--num_threads N |
1 | CPU iş parçacığı sayısı. |
--result_json PATH
|
— | JSON özeti yaz (gecikme istatistikleri, işleme hızı, hızlandırıcı listesi). |
--verbose |
kapalı | Ek çalışma zamanı günlük kaydı. |
Gelişmiş / geçersiz kılma işaretleri: Yalnızca özel derlemelere yönlendirmek için gereklidir:
--dispatch_library_path, --compiler_plugin_path, --runtime_path.
Farklı tedarikçilere ait tekerlekler: JIT'yi Intel OV'ye sabitleme
Not:
Environment.create(), açık yollar olmadan çağrıldığındaai_edge_litert/vendors/altındaki sağlayıcıları alfabetik sırayla otomatik olarak keşfeder ve bulduğu ilk sağlayıcıyı kaydeder. Karma tedarikçi kurulumunda bu, Intel OV olmayabilir. Doğru seçimi zorlamak için Intel OV dizinlerini açıkça iletin.
- pip wheel, kayıtlı her satıcı için derleyici eklentileri gönderir
(
intel_openvino/,google_tensor/,mediatek/,qualcomm/,samsung/). - Intel OV yolunu zorlamak için (birden fazla tedarikçi SDK'sı yüklendiğinde önerilir) Intel OV dizinlerini manuel olarak iletin:
from ai_edge_litert.environment import Environment
from ai_edge_litert.compiled_model import CompiledModel
from ai_edge_litert.hardware_accelerator import HardwareAccelerator
from ai_edge_litert.aot.vendors.intel_openvino import intel_openvino_backend as ov
env = Environment.create(
compiler_plugin_path=ov.get_compiler_plugin_dir(), # JIT compiler
dispatch_library_path=ov.get_dispatch_dir(), # runtime
)
model = CompiledModel.from_file(
"model.tflite",
hardware_accel=HardwareAccelerator.NPU | HardwareAccelerator.CPU,
environment=env,
)
Çalışma zamanı, belirtilen dizinde bulduğu her paylaşılan kitaplığı yükler. Bu nedenle, vendors/intel_openvino/compiler/ dizinini işaret ettiğinizde yalnızca Intel eklentisi yüklenir. Kardeş dizinlerdeki Google Tensor / MediaTek / Qualcomm / Samsung eklentilerine hiçbir zaman dokunulmaz.
CLI için eşdeğer işaretler şunlardır:
DISPATCH_DIR=$(python3 -c 'from ai_edge_litert.aot.vendors.intel_openvino import intel_openvino_backend as ov; print(ov.get_dispatch_dir())')
COMPILER_DIR=$(python3 -c 'from ai_edge_litert.aot.vendors.intel_openvino import intel_openvino_backend as ov; print(ov.get_compiler_plugin_dir())')
litert-benchmark --model=model.tflite --use_npu \
--compiler_plugin_path=$COMPILER_DIR \
--dispatch_library_path=$DISPATCH_DIR
NPU Yürütme İşlemini Doğrulama
Modelin gerçekten NPU'da çalıştığını onaylamak için her iki sinyali de kontrol edin:
- Günlük,
Loading shared library: .../LiteRtDispatch_IntelOpenvino.{so,dll}öğesini içerir. Intel dağıtım kitaplığı yüklendi (Linux'ta.so, Windows'da.dll). model.is_fully_accelerated(),Truedöndürür. Her işlem, seçilen hızlandırıcıya aktarılmıştır.
is_fully_accelerated() tek başına yeterli değildir: Gönderme kitaplığı hiç yüklenmediyse işlemler NPU'ya değil, XNNPACK/CPU'ya tamamen aktarılır.
Linux NPU Kurulumu
Not: Yalnızca AOT'ye ihtiyacınız varsa bu bölümü atlayın. Fiziksel bir NPU gerekmez.
Bilgi: NPU sürücüsü v1.32.1 (OpenVINO 2026.1 ile eşleştirilmiş) kullanın. Eski sürücüler
Level0 pfnCreate2 result: ZE_RESULT_ERROR_UNSUPPORTED_FEATUREile başarısız olur.
# 1. NPU driver (Ubuntu 24.04 use -ubuntu2204 tarball for 22.04).
sudo dpkg --purge --force-remove-reinstreq \
intel-driver-compiler-npu intel-fw-npu intel-level-zero-npu intel-level-zero-npu-dbgsym || true
wget https://github.com/intel/linux-npu-driver/releases/download/v1.32.1/linux-npu-driver-v1.32.1.20260422-24767473183-ubuntu2404.tar.gz
tar -xf linux-npu-driver-v1.32.1.*.tar.gz
sudo apt update && sudo apt install -y libtbb12
sudo dpkg -i intel-fw-npu_*.deb intel-level-zero-npu_*.deb intel-driver-compiler-npu_*.deb
# 2. Level Zero loader v1.27.0.
wget https://snapshot.ppa.launchpadcontent.net/kobuk-team/intel-graphics/ubuntu/20260324T100000Z/pool/main/l/level-zero-loader/libze1_1.27.0-1~24.04~ppa2_amd64.deb
sudo dpkg -i libze1_*.deb
# 3. Permissions + verify.
sudo gpasswd -a ${USER} render && newgrp render
ls /dev/accel/accel0 # must exist after reboot
Ardından Hızlı Başlangıç'taki yükleme + doğrulama snippet'ini çalıştırın.
Windows NPU Kurulumu
Not: Yalnızca AOT'ye ihtiyacınız varsa bu bölümü atlayın. Fiziksel bir NPU gerekmez.
- Intel İndirme Merkezi'nden Intel NPU sürücüsünü (32.0.100.4724+) yükleyin.
- Cihaz Yönetim Paneli'nin NPU cihazını Sinirsel işlemciler altında listelediğini doğrulayın
(sürücüye bağlı olarak
Intel(R) AI BoostveyaIntel(R) NPUolarak gösterilir). - Hızlı Başlangıç'tan yükleme + doğrulama snippet'ini çalıştırın ve
pipyerinepython -m pipyazın.
Bilgi:
import ai_edge_litert,os.add_dll_directory()kullanarak DLL dizinlerini otomatik olarak kaydeder. Bu nedenle, Python komut dosyaları içinPATHkurulumu gerekmez. Python kullanmayanlar içinsetupvars.batkomutunu çalıştırın veyaPATHkomutunun başına<openvino>/libsekleyin.
Kaynaktan derleme
Proxy kullanıyor musunuz? Derleme komut dosyalarını çalıştırmadan önce
http_proxy/https_proxy/no_proxyöğelerini dışa aktarın. Bu öğeler Docker'a ve kapsayıcıya yönlendirilir.
Linux (Docker, hermetik):
cd LiteRT/docker_build && ./build_wheel_with_docker.sh
Windows (PATH'te PowerShell, Bazel):
.\ci\build_pip_package_with_bazel_windows.ps1
Çıktılar dist/ konumuna kaydedilir:
ai_edge_litert-*.whl— çalışma zamanı tekerleği.ai_edge_litert_sdk_{intel,qualcomm,mediatek,samsung}-*.tar.gz— vendor sdists.- Intel sdist'i yaklaşık 5 KB'tır. NPU derleyicisi
.so/.dll,pip installzamanında getirilir. Bu nedenle aynı sdist, Linux ve Windows'ta çalışır.
Birim Testleri
bazel test \
//litert/python/aot/vendors/intel_openvino:intel_openvino_backend_test \
//litert/c/options:litert_intel_openvino_options_test \
//litert/cc/options:litert_intel_openvino_options_test \
//litert/tools/flags/vendors:intel_openvino_flags_test
Sorun giderme
| Sorun | Düzelt |
|---|---|
AOT başarısızlıkları: Device with "NPU" name is not registered |
NPU derleyicisi getirilmedi. ai_edge_litert_sdk_intel.path_to_sdk_libs() Listeleri libopenvino_intel_npu_compiler.so / .dll kontrol edin. Boşsa ağ erişimiyle yeniden yükleyin veya LITERT_OV_OS_ID=ubuntu22/ubuntu24 olarak ayarlayın. |
JIT, NPU yerine CPU'da çalışıyor (Partitioned subgraph günlüğü yok, Loaded plugin günlüğü yok, Fully accelerated: True yine de yazdırılıyor) |
Derleyici eklentisi bulunamadı. Onayla ov.get_compiler_plugin_dir() ai_edge_litert/vendors/intel_openvino/compiler/ altında bir yol döndürür. Birden fazla tedarikçi SDK'sı yüklüyse compiler_plugin_path=ov.get_compiler_plugin_dir() değerini Environment.create()'ye (veya --compiler_plugin_path=... değerini litert-benchmark'ye) açıkça iletin. |
JIT başarısız oluyor: Cannot load library .../openvino/libs/libopenvino_intel_npu_compiler.so (Linux) / openvino_intel_npu_compiler.dll (Windows) |
SDK sdist, ilk import ai_edge_litert_sdk_intel sırasında NPU derleyicisini openvino/libs/ konumuna kopyalar. Kopyalama işlemi atlandıysa (salt okunur FS, openvino eksik) openvino yüklendikten sonra ai-edge-litert-sdk-intel'ı, ardından yeni bir işlemde import ai_edge_litert'ı yeniden yükleyin. |
Level0 pfnCreate2 result: ZE_RESULT_ERROR_UNSUPPORTED_FEATURE |
NPU sürücüsünü v1.32.1'e (Linux) yükseltin. |
/dev/accel/accel0 bulunamadı |
Sürücüde hata ayıklamak için sudo dmesg | grep -i vpu; yüklemeden sonra yeniden başlatın. |
| NPU'da izin reddedildi | sudo gpasswd -a ${USER} render && newgrp render. |
| Windows: NPU, Aygıt Yöneticisi'nde görünmüyor | Intel İndirme Merkezi'nden NPU sürücüsü 32.0.100.4724+ sürümünü yükleyin. |
Windows: Failed to initialize Dispatch API / eksik DLL'ler |
Önce import ai_edge_litert'nın çalıştığından (DLL dizinlerini otomatik olarak kaydeder) emin olun. Python kullanmayan arayanlar için setupvars.bat'ı çalıştırın veya PATH'a <openvino>/libs'ı ekleyin. |
Windows derlemesi: LNK2001 fixed_address_empty_string, C2491 dllimport, Python 3.12+ fails |
Protobuf ABI / Python sürümü kısıtlaması: ci/build_pip_package_with_bazel_windows.ps1 bölümüne bakın. Windows derlemeleri için Python 3.11 gerekir. |
Sınırlamalar
OpenVINO gönderme yolu üzerinden yalnızca NPU cihazı desteklenir. CPU çıkarımı için yalnızca HardwareAccelerator.CPU (XNNPACK) kullanın.
Sonraki adımlar
- Birleştirilmiş NPU kılavuzuyla başlayın: LiteRT ile NPU hızlandırma
- Buradaki dönüşüm ve dağıtım adımlarını uygulayın ve uygun olduğunda Qualcomm'u seçin.
- LLM'ler için LiteRT-LM kullanarak NPU'da LLM'leri yürütme başlıklı makaleyi inceleyin.