LiteRT Torch Generative API, Transformer tabanlı PyTorch modellerini LiteRT/LiteRT-LM biçimine dönüştürmek ve oluşturmak için tasarlanmış yüksek performanslı bir kitaplıktır. Bu sayede geliştiriciler, cihaz üzerinde metin ve görüntü oluşturmak için üretken yapay zeka modellerini, özellikle de büyük dil modellerini (LLM'ler) sorunsuz bir şekilde kolayca dağıtabilir.
Torch Generative API, CPU, GPU ve NPU için model dönüştürmeyi destekler. Torch Generative API'yi LiteRT-LM ile eşleştirerek üretken modelleri tamamen cihaz üzerinde çalıştıran, gizliliğe odaklı ve hızlı yanıt veren uygulamalar oluşturabilirsiniz.
Hugging Face Transformer Library'den dönüştürme
LiteRT Torch Hugging Face Export uzantısı, üretken yapay zeka modellerini doğrudan Hugging Face Transformers Library'den LiteRT-LM biçimine dönüştürmek için kolaylaştırılmış bir yol sağlar. Özel modeller oluşturup optimize etmek için PyTorch yapı taşları sağlayan LiteRT Torch Generative API'leri ile karşılaştırıldığında bu araç, ağırlıkları indirme, PyTorch model mimarilerini çevirme ve grafik optimizasyonları ile nicemleme gibi optimizasyon tekniklerini tek bir iş akışında uygulama gibi karmaşık işlemleri gerçekleştirir. LiteRT-LM çalışma zamanı kullanılarak CPU, GPU ve NPU'da cihaz üzerinde çıkarım için optimize edilmiş bir .litertlm dosyası oluşturur.
Ön koşullar
Dışa aktarma uzantısını kullanmadan önce aşağıdaki kurulumu yaptığınızdan emin olun:
- LiteRT Torch Python paketini yükleyin. Hugging Face Export uzantısı doğrudan
litert-torchpaketine yerleştirilmiştir. - (İsteğe bağlı) NPU derlemesi için LiteRT NPU SDK uzantılarını
pip install ai-edge-litert[npu-sdk]kullanarak yükleyin. Daha fazla bilgi için LiteRT NPU AOT Compilation Colab'i inceleyebilirsiniz. - Hugging Face ortamı, doğrudan Hugging Face Hub'dan yükleme yapmayı planlıyorsanız ayarlanır. export_hf aracı,
HF_TOKENveya CLI gibi standart Transformers kimlik doğrulama mekanizmalarını kullanır. Örneği inceleyin:
Erişimi kısıtlanmış modelleri (ör. Gemma veya Llama) indirmek için KSA'yı ya da bir ortam değişkenini kullanarak Hugging Face ile kimliğinizi doğrulamanız gerekir:
# 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
Temel Kullanım
Komut satırını veya Python API'yi kullanarak export_hf kullanabilirsiniz. Araç, modeli Hugging Face'ten otomatik olarak indirir veya sağlanan yerel yoldan yükler, izler, varsayılan optimizasyonları uygular ve modeli CPU ile GPU çıkarımı için uyumlu bir .litertlm dosyasına dönüştürür.
Komut Satırı Arayüzü (KSA)
litert-torch export_hf komutunu kullanın. Hugging Face model kimliğini ve seçilen çıkış dizinini sağlamanız gerekir.
litert-torch export_hf \
--model=google/gemma-3-270m-it \
--output_dir=/tmp/gemma3-270m-it-litertlm
Yerel veya özel bir modeli dışa aktarmak için safetensor kontrol noktasına giden yolu da iletebilirsiniz:
litert-torch export_hf \
--model=/path/to/safetensor/dir \
--output_dir=/my_custom_litertlm
Python API
Python komut dosyalarına veya not defterlerine entegrasyon için export modülünü litert_torch.generative.export_hf'den içe aktarın.
from litert_torch.generative.export_hf import export
export.export(
model='google/gemma-3-270m-it',
output_dir='/tmp/gemma3-270m-it-litertlm',
)
LiteRT-LM ile cihaz üzerinde dağıtım
Modelinizi .litertlm dosyasına başarıyla aktardıktan sonra, hem CPU hem de GPU'da yüksek performanslı yürütme için LiteRT-LM'yi kullanarak doğrudan cihaz üzerinde dağıtabilirsiniz. LiteRT-LM API'nin nasıl kullanılacağı hakkında ayrıntılı bilgi edinin. NPU hızlandırma için NPU AOT derleme kılavuzuna bakın.
Desteklenen Mimariler
export_hf aracı, aşağıdaki Transformer modeli mimarilerini doğrular.
Bu durum, config.json içindeki model_type alanı kontrol edilerek doğrulanabilir.
- Gemma 3 (
Gemma3ForCausalLM) - Gemma 3n (
Gemma3nForCausalLM) - Gemma 4 (
Gemma4ForCausalLM) - Llama (
LlamaForCausalLM) - Mistral (
MistralForCausalLM) - Qwen 2/2.5 (
Qwen2ForCausalLM) - Qwen 3 (
Qwen3ForCausalLM) - SmolLM 3 (
SmolLM3ForCausalLM)
Gelişmiş ayarlar
Uzantı işaretlerinde bulunan gelişmiş seçenekleri keşfedebilirsiniz. Ancak deneyebileceğiniz bazı yaygın düğmeler aşağıda verilmiştir.
Görsel Dil Modelleri
Desteklenen modellerde, Vision Encoder modelini yüklemek ve dışa aktarmak için --task=image_text_to_text ve --export_vision_encoder değerlerini ayarlayabilirsiniz.
Desteklenen mimariler:
- Gemma 3 (
Gemma3ForConditionalGeneration) - Gemma 4 (
Gemma4ForConditionalGeneration)
Kuantizasyon Yapılandırması
Üretken yapay zeka modelleri, optimizasyon olmadan uç cihazlarda verimli bir şekilde çalışamayacak kadar büyük olabilir. Varsayılan olarak export_hf, AI Edge Quantizer'ı kullanarak dynamic_wi8_afp32
nicelendirme tarifini uygular. Bu tarif, etkinleştirmeleri FP32'de tutarken ağırlıkları kanal başına INT8'e nicelendirir.
--quantization_recipe işaretini (veya Python'da quantization_recipe parametresini) kullanarak bu varsayılan davranışı geçersiz kılabilirsiniz.
AI Edge Quantizer'daki yerleşik bir tarifin adını sağlayabilir veya özel bir JSON tarifinin yolunu belirtebilirsiniz.
Örnek:
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
Jinja Şablonunu Geçersiz Kılma
Dönüştürücü modeliyle birlikte gelen Jinja şablonu, LiteRT-LM ile uyumlu olmayabilir (ör.Gemma4 modelleri). Bu durumda, use_jinja_template işaretini False olarak ayarlayabilir veya şablonu geçersiz kılmak için jinja_chat_template_override seçeneğini kullanabilirsiniz.
Örnek:
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
NPU AOT Compilation
CPU ve GPU'nun yanı sıra, NPU'ya özgü seçenekleri belirterek modellerinizi dışa aktarırken desteklenen NPU hızlandırıcılarını da hedefleyebilirsiniz.
Google Tensor
Ön koşullar: Geliştirme ortamı kurulumu için Google Tensor SDK sayfasındaki talimatları uygulayın.
Google Tensor TPU'ları hedefleyen LLM'leri dışa aktarmak için TPU derlemesi için gereken ek işaretlerle ilgili örneği uygulayın.
Örnek:
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}'
Daha fazla bilgi için Google Tensor SDK ile modelleri derleme başlıklı makaleyi inceleyin.
Qualcomm AI Runtime:
Ön koşullar: SDK kurulum talimatları ve desteklenen cihazlar için LiteRT Qualcomm Entegrasyonu'nu uygulayın.
Örnek:
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:
Ön koşullar: SDK kurulum talimatları ve desteklenen cihazlar için LiteRT MediaTek Entegrasyonu'nu uygulayın.
Örnek:
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
Ön koşullar: SDK kurulum talimatları ve desteklenen cihazlar için LiteRT Intel OpenVINO Entegrasyonu'nu inceleyin.
Örnek:
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
LiteRT Torch Generative API'yi kullanarak yeniden yazma ve dönüştürme
LiteRT Torch Generative API, normalleştirici katmanlar, dikkatler ve diğer temel modüller dahil ancak bunlarla sınırlı olmamak üzere özel PyTorch modelleri oluşturmak ve optimize etmek için yapı taşları da sağlar. Modeliniz LiteRT Torch Hugging Face Export uzantısı kapsamında değilse LiteRT ve LiteRT-LM ile uyumlu kendi modellerinizi oluşturabilirsiniz.
LLM'ler, difüzyon modelleri ve ASR modelleri gibi model örnekleri vardır. Bu kaynakları inceleyebilir ve kendi modelinizi dağıtabilirsiniz.
Daha fazla bilgi için Generative Torch API GitHub deposu'na bakın.