LiteRT Torch Generative API adalah library berperforma tinggi yang dirancang untuk membuat dan mengonversi model PyTorch berbasis transformer ke dalam format LiteRT/LiteRT-LM. Hal ini memungkinkan developer men-deploy model AI generatif dengan lancar, khususnya Model Bahasa Besar (LLM), untuk pembuatan teks dan gambar di perangkat dengan mudah.
Torch Generative API mendukung konversi model untuk CPU, GPU, dan NPU. Dengan menyandingkan Torch Generative API dengan LiteRT-LM, Anda dapat membangun aplikasi yang responsif dan berfokus pada privasi yang menjalankan model generatif sepenuhnya di perangkat.
Mengonversi dari Hugging Face Transformer Library
Ekstensi LiteRT Torch Hugging Face Export menyediakan jalur yang disederhanakan untuk mengonversi model AI generatif langsung dari Hugging Face Transformers Library ke format LiteRT-LM. Dibandingkan dengan LiteRT Torch Generative API yang menyediakan blok penyusun PyTorch untuk membangun dan mengoptimalkan model kustom, alat ini menangani kompleksitas download bobot, menerjemahkan arsitektur model PyTorch, dan menerapkan teknik pengoptimalan seperti pengoptimalan grafik dan kuantisasi dalam satu alur kerja. File ini menghasilkan file .litertlm , yang dioptimalkan untuk inferensi di perangkat pada CPU, GPU, dan NPU menggunakan runtime LiteRT-LM.
Prasyarat
Sebelum menggunakan ekstensi ekspor, pastikan Anda telah melakukan penyiapan berikut:
- Instal paket Python LiteRT Torch. Ekstensi Hugging Face Export
dibuat langsung ke dalam paket
litert-torch. - (Opsional) Untuk kompilasi NPU, instal ekstensi LiteRT NPU SDK menggunakan
pip install ai-edge-litert[npu-sdk]. Untuk mengetahui detail selengkapnya, Anda dapat mengikuti LiteRT NPU AOT Compilation Colab. - Lingkungan Hugging Face disiapkan jika Anda ingin memuat dari hub Hugging Face secara langsung. Alat export_hf menggunakan mekanisme autentikasi transformer standar seperti
HF_TOKENatau CLI. Lihat contoh:
Untuk mendownload model yang dibatasi (seperti Gemma atau Llama), Anda harus melakukan autentikasi dengan Hugging Face menggunakan CLI atau variabel lingkungan:
# Set your Hugging Face token as an environment variable
export HF_TOKEN="your_hugging_face_token"
# Or use the Hugging Face CLI login
hf auth login
Penggunaan Dasar
Anda dapat menggunakan export_hf menggunakan command line atau Python API. Alat ini akan
otomatis mendownload model dari Hugging Face atau memuat model dari jalur
lokal yang diberikan, melacaknya, menerapkan pengoptimalan default, dan mengonversinya ke
file .litertlm yang kompatibel untuk inferensi CPU dan GPU.
Antarmuka Command Line (CLI)
Gunakan perintah litert-torch export_hf. Anda harus memberikan ID model Hugging Face
dan direktori output yang dipilih.
litert-torch export_hf \
--model=google/gemma-3-270m-it \
--output_dir=/tmp/gemma3-270m-it-litertlm
Untuk mengekspor model lokal atau kustom, Anda juga dapat meneruskan jalur ke checkpoint safetensor:
litert-torch export_hf \
--model=/path/to/safetensor/dir \
--output_dir=/my_custom_litertlm
Python API
Untuk integrasi ke dalam skrip atau notebook Python, impor modul export
dari litert_torch.generative.export_hf.
from litert_torch.generative.export_hf import export
export.export(
model='google/gemma-3-270m-it',
output_dir='/tmp/gemma3-270m-it-litertlm',
)
Deployment di perangkat dengan LiteRT-LM
Setelah berhasil mengekspor model ke file .litertlm, Anda dapat men-deploy-nya langsung di perangkat menggunakan LiteRT-LM untuk eksekusi berperforma tinggi di CPU dan GPU. Lihat detail tentang cara menggunakan LiteRT-LM API. Untuk
akselerasi NPU, lihat Panduan kompilasi AOT NPU.
Arsitektur yang Didukung
Alat export_hf memverifikasi arsitektur model Transformers berikut.
Hal ini dapat diverifikasi dengan memeriksa kolom model_type di config.json.
- Gemma 3 (
Gemma3ForCausalLM) - Gemma 3n (
Gemma3nForCausalLM) - Gemma 4 (
Gemma4ForCausalLM) - Llama (
LlamaForCausalLM) - Mistral (
MistralForCausalLM) - Qwen 2/2.5 (
Qwen2ForCausalLM) - Qwen 3 (
Qwen3ForCausalLM) - SmolLM 3 (
SmolLM3ForCausalLM)
Setelan lanjutan
Meskipun Anda dapat menjelajahi opsi lanjutan yang tersedia di tanda ekstensi, berikut beberapa opsi umum yang dapat Anda coba.
Model Bahasa Visi
Untuk model yang didukung, Anda dapat menetapkan --task=image_text_to_text dan
--export_vision_encoder untuk memuat dan mengekspor model encoder vision.
Arsitektur yang didukung:
- Gemma 3 (
Gemma3ForConditionalGeneration) - Gemma 4 (
Gemma4ForConditionalGeneration)
Konfigurasi Kuantisasi
Model AI generatif sering kali terlalu besar untuk dijalankan secara efisien di perangkat edge tanpa pengoptimalan. Secara default, export_hf menerapkan resep kuantisasi dynamic_wi8_afp32
menggunakan AI Edge Quantizer,
yang menguantisasi bobot ke INT8 per saluran sambil mempertahankan aktivasi dalam FP32.
Anda dapat mengganti perilaku default ini menggunakan tanda --quantization_recipe
(atau parameter quantization_recipe di Python).
Anda dapat memberikan nama resep bawaan dari
AI Edge Quantizer atau menentukan jalur ke resep JSON
kustom.
Contoh:
litert-torch export_hf \
--model=google/gemma-3-270m-it \
--output_dir=/tmp/gemma3-270m-it-litertlm \
--quantization_recipe=/path/to/my/quantization_recipe.json
Penggantian Template Jinja
Template jinja yang disertakan dengan model transformer mungkin tidak kompatibel dengan LiteRT-LM (misalnya, model Gemma4). Anda dapat menetapkan tanda use_jinja_template ke False atau menggunakan opsi jinja_chat_template_override untuk mengganti template.
Contoh:
litert-torch export_hf \
--model=google/gemma-4-E2B-it \
--output_dir=/tmp/gemma4_2b_litertlm \
--externalize_embedder \
--jinja_chat_template_override=litert-community/gemma-4-E2B-it-litert-lm
Kompilasi AOT NPU
Selain CPU dan GPU, Anda juga dapat menargetkan akselerator NPU yang didukung saat mengekspor model dengan memberikan opsi khusus NPU.
Google Tensor
Prasyarat: Ikuti halaman Google Tensor SDK untuk penyiapan lingkungan pengembangan.
Untuk mengekspor LLM yang menargetkan TPU Google Tensor, ikuti contoh untuk flag tambahan yang diperlukan untuk kompilasi TPU.
Contoh:
litert-torch export-hf \
--model=google/gemma-3-270m-it \
--output_dir=/tmp/gemma3-270m-google-tensor-g5 \
--split_cache \
--externalize_embedder \
--prefill_lengths=128, \
--cache_length=1280 \
--quantization_recipe="weight_only_wi8_afp32"
--aot_backend=GOOGLE \
--aot_soc_model=Tensor_G5 \
--aot_compilation_config_dict='{"google_tensor_enable_large_model_support": True}'
Untuk mengetahui informasi selengkapnya, lihat Mengompilasi model dengan Google Tensor SDK.
Runtime AI Qualcomm:
Prasyarat: Ikuti Integrasi Qualcomm LiteRT untuk petunjuk penyiapan SDK dan perangkat yang didukung.
Contoh:
litert-torch export-hf \
--model=google/gemma-3-270m-it \
--output_dir=/tmp/gemma3-270m-google-tensor-g5 \
--split_cache \
--externalize_embedder \
--quantization_recipe='' \
--aot_backend=qualcomm \
--aot_soc_model=SM8750
MediaTek NeuroPilot:
Prasyarat: Ikuti Integrasi MediaTek LiteRT untuk petunjuk penyiapan SDK dan perangkat yang didukung.
Contoh:
litert-torch export-hf \
--model=google/gemma-3-270m-it \
--output_dir=/tmp/gemma3-270m-google-tensor-g5 \
--split_cache \
--externalize_embedder \
--aot_backend=mediatek \
--aot_soc_model=MT8189
Intel OpenVINO
Prasyarat: Ikuti Integrasi LiteRT Intel OpenVINO untuk petunjuk penyiapan SDK dan perangkat yang didukung.
Contoh:
litert-torch export-hf \
--model=google/gemma-3-270m-it \
--output_dir=/tmp/gemma3-270m-google-tensor-g5 \
--split_cache \
--externalize_embedder \
--aot_backend=intel_openvino \
--aot_soc_model=PTL
Menulis ulang dan Mengonversi menggunakan LiteRT Torch Generative API
LiteRT Torch Generative API juga menyediakan elemen penyusun untuk membuat dan mengoptimalkan model PyTorch kustom, termasuk, tetapi tidak terbatas pada lapisan normalisasi, perhatian, dan modul dasar lainnya. Jika model Anda tidak tercakup dalam ekstensi Hugging Face Export LiteRT Torch, Anda dapat membuat model sendiri agar kompatibel dengan LiteRT dan LiteRT-LM.
Ada contoh model termasuk LLM, model difusi, dan model ASR. Jangan ragu untuk mencobanya dan men-deploy model Anda sendiri.
Untuk mengetahui informasi selengkapnya, lihat repo GitHub Generative Torch API.