LiteRT Torch Generative API, एक हाई-परफ़ॉर्मेंस लाइब्रेरी है. इसे ट्रांसफ़ॉर्मर पर आधारित PyTorch मॉडल को LiteRT/LiteRT-LM फ़ॉर्मैट में लिखने और बदलने के लिए डिज़ाइन किया गया है. इससे डेवलपर, जनरेटिव एआई मॉडल को आसानी से डिप्लॉय कर सकते हैं. खास तौर पर, लार्ज लैंग्वेज मॉडल (एलएलएम) को डिवाइस पर टेक्स्ट और इमेज जनरेट करने के लिए डिप्लॉय किया जा सकता है.
Torch Generative API, सीपीयू, जीपीयू, और एनपीयू के लिए मॉडल कन्वर्ज़न की सुविधा देता है. Torch Generative API को LiteRT-LM के साथ जोड़कर, ऐसे ऐप्लिकेशन बनाए जा सकते हैं जो तेज़ी से काम करते हैं और जिनमें निजता का पूरा ध्यान रखा जाता है. ये ऐप्लिकेशन, जनरेटिव मॉडल को पूरी तरह से डिवाइस पर चलाते हैं.
Hugging Face Transformer Library से मॉडल को बदलना
LiteRT Torch Hugging Face Export एक्सटेंशन, जनरेटिव एआई मॉडल को सीधे Hugging Face Transformers Library से LiteRT-LM फ़ॉर्मैट में बदलने का आसान तरीका उपलब्ध कराता है. LiteRT Torch Generative APIs की तुलना में, यह टूल एक ही वर्कफ़्लो में कई काम कर सकता है. जैसे, वेट डाउनलोड करना, PyTorch मॉडल आर्किटेक्चर का अनुवाद करना, और ग्राफ़ ऑप्टिमाइज़ेशन और क्वांटाइज़ेशन जैसी ऑप्टिमाइज़ेशन तकनीकें लागू करना. LiteRT Torch Generative APIs, कस्टम मॉडल बनाने और उन्हें ऑप्टिमाइज़ करने के लिए pytorch बिल्डिंग ब्लॉक उपलब्ध कराते हैं. यह .litertlm फ़ाइल आउटपुट करता है. इसे LiteRT-LM रनटाइम का इस्तेमाल करके, सीपीयू, जीपीयू, और एनपीयू पर डिवाइस पर मौजूद फ़ाइलों के आधार पर अनुमान लगाने के लिए ऑप्टिमाइज़ किया जाता है.
ज़रूरी शर्तें
एक्सपोर्ट एक्सटेंशन का इस्तेमाल करने से पहले, पक्का करें कि आपने यह सेटअप किया हो:
- LiteRT Torch Python पैकेज इंस्टॉल करें. Hugging Face Export एक्सटेंशन, सीधे
litert-torchपैकेज में बनाया गया है. - (वैकल्पिक) एनपीयू कंपाइलेशन के लिए, LiteRT NPU SDK एक्सटेंशन इंस्टॉल करें. इसके लिए,
pip install ai-edge-litert[npu-sdk]का इस्तेमाल करें. ज़्यादा जानकारी के लिए, LiteRT NPU AOT Compilation Colab पर जाएं. - अगर आपको सीधे Hugging Face Hub से लोड करना है, तो Hugging Face एनवायरमेंट सेट अप किया जाता है. export_hf टूल, स्टैंडर्ड ट्रांसफ़ॉर्मर पुष्टि करने के तरीकों का इस्तेमाल करता है. जैसे,
HF_TOKENया सीएलआई. उदाहरण देखें:
Gemma या Llama जैसे गेटेड मॉडल डाउनलोड करने के लिए, आपको सीएलआई या एनवायरमेंट वैरिएबल का इस्तेमाल करके, Hugging Face से पुष्टि करनी होगी:
# 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
बुनियादी इस्तेमाल
export_hf का इस्तेमाल, कमांड लाइन या Python API की मदद से किया जा सकता है. यह टूल, Hugging Face से मॉडल को अपने-आप डाउनलोड कर लेगा या दिए गए लोकल पाथ से मॉडल को लोड कर लेगा. इसके बाद, उसे ट्रेस करेगा, डिफ़ॉल्ट ऑप्टिमाइज़ेशन लागू करेगा, और उसे .litertlm फ़ाइल में बदल देगा. यह फ़ाइल, सीपीयू और जीपीयू इन्फ़्रेंस के साथ काम करती है.
कमांड लाइन इंटरफ़ेस (सीएलआई)
litert-torch export_hf कमांड का इस्तेमाल करें. आपको Hugging Face मॉडल आईडी और चुना गया आउटपुट डायरेक्ट्री देना होगा.
litert-torch export_hf \
--model=google/gemma-3-270m-it \
--output_dir=/tmp/gemma3-270m-it-litertlm
किसी लोकल या कस्टम मॉडल को एक्सपोर्ट करने के लिए, safetensor चेकपॉइंट का पाथ भी पास किया जा सकता है:
litert-torch export_hf \
--model=/path/to/safetensor/dir \
--output_dir=/my_custom_litertlm
Python API
Python स्क्रिप्ट या नोटबुक में इंटिग्रेट करने के लिए, litert_torch.generative.export_hf से export मॉड्यूल इंपोर्ट करें.
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 की मदद से डिवाइस पर डिप्लॉयमेंट
मॉडल को .litertlm फ़ाइल में एक्सपोर्ट करने के बाद, इसे सीधे तौर पर डिवाइस पर डिप्लॉय किया जा सकता है. इसके लिए, LiteRT-LM का इस्तेमाल करें. इससे सीपीयू और जीपीयू, दोनों पर बेहतर परफ़ॉर्मेंस मिलती है. LiteRT-LM API इस्तेमाल करने के तरीके के बारे में ज़्यादा जानें. एनपीयू की मदद से तेज़ी से काम करने के लिए, एनपीयू एओटी कंपाइलेशन गाइड देखें.
इस्तेमाल किए जा सकने वाले आर्किटेक्चर
export_hf टूल, Transformers मॉडल के इन आर्किटेक्चर की पुष्टि करता है.
इसकी पुष्टि करने के लिए, config.json में model_type फ़ील्ड देखें.
- Gemma 3 (
Gemma3ForCausalLM) - Gemma 3n (
Gemma3nForCausalLM) - Gemma 4 (
Gemma4ForCausalLM) - Llama (
LlamaForCausalLM) - Mistral (
MistralForCausalLM) - Qwen 2/2.5 (
Qwen2ForCausalLM) - Qwen 3 (
Qwen3ForCausalLM) - SmolLM 3 (
SmolLM3ForCausalLM)
बेहतर सेटिंग
एक्सटेंशन फ़्लैग में उपलब्ध बेहतर विकल्पों को एक्सप्लोर किया जा सकता है. हालांकि, यहां कुछ सामान्य नॉब दिए गए हैं जिन्हें आज़माया जा सकता है.
विज़न लैंग्वेज मॉडल
जिन मॉडल के साथ यह सुविधा काम करती है उनके लिए, विज़न एनकोडर मॉडल को लोड और एक्सपोर्ट करने के लिए, --task=image_text_to_text और --export_vision_encoder सेट किया जा सकता है.
इन आर्किटेक्चर के साथ काम करता है:
- Gemma 3 (
Gemma3ForConditionalGeneration) - Gemma 4 (
Gemma4ForConditionalGeneration)
क्वांटाइज़ेशन कॉन्फ़िगरेशन
जनरेटिव एआई मॉडल अक्सर इतने बड़े होते हैं कि बिना ऑप्टिमाइज़ेशन के, उन्हें एज डिवाइसों पर ठीक से नहीं चलाया जा सकता. डिफ़ॉल्ट रूप से, export_hf, dynamic_wi8_afp32
क्वांटाइज़ेशन रेसिपी लागू करता है. इसके लिए, AI Edge Quantizer का इस्तेमाल किया जाता है. यह रेसिपी, वज़न को पर-चैनल INT8 में क्वांटाइज़ करती है, जबकि ऐक्टिवेशन को FP32 में रखती है.
--quantization_recipe फ़्लैग (या Python में quantization_recipe पैरामीटर) का इस्तेमाल करके, इस डिफ़ॉल्ट व्यवहार को बदला जा सकता है.
AI Edge Quantizer से, पहले से मौजूद किसी रेसिपी का नाम दिया जा सकता है. इसके अलावा, कस्टम JSON रेसिपी का पाथ भी बताया जा सकता है.
उदाहरण:
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 टेंप्लेट ओवरराइड
ऐसा हो सकता है कि ट्रांसफ़ॉर्मर मॉडल के साथ आने वाला जिंजा टेंप्लेट, LiteRT-LM (जैसे, Gemma4 मॉडल) के साथ काम न करे.use_jinja_template फ़्लैग को False पर सेट किया जा सकता है. इसके अलावा, टेंप्लेट को बदलने के लिए jinja_chat_template_override विकल्प का इस्तेमाल किया जा सकता है.
उदाहरण:
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 कंपाइलेशन
सीपीयू और जीपीयू के अलावा, एनपीयू के साथ काम करने वाले ऐक्सलरेटर को भी टारगेट किया जा सकता है. इसके लिए, आपको एनपीयू से जुड़े विकल्प देने होंगे.
Google Tensor
ज़रूरी शर्तें: डेवलपमेंट एनवायरमेंट सेट अप करने के लिए, Google Tensor SDK पेज पर जाएं.
Google Tensor TPU को टारगेट करने वाले एलएलएम एक्सपोर्ट करने के लिए, टीपीयू कंपाइल करने के लिए ज़रूरी अतिरिक्त फ़्लैग का उदाहरण देखें.
उदाहरण:
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}'
ज़्यादा जानकारी के लिए, Google Tensor SDK की मदद से मॉडल कंपाइल करना लेख पढ़ें.
Qualcomm AI Runtime:
ज़रूरी शर्तें: एसडीके सेटअप करने के निर्देशों और इसके साथ काम करने वाले डिवाइसों के लिए, LiteRT Qualcomm Integration का पालन करें.
उदाहरण:
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:
ज़रूरी शर्तें: एसडीके टूल सेट अप करने के निर्देशों और काम करने वाले डिवाइसों के लिए, LiteRT MediaTek इंटिग्रेशन का पालन करें.
उदाहरण:
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
ज़रूरी शर्तें: एसडीके सेटअप करने के निर्देशों और काम करने वाले डिवाइसों के बारे में जानने के लिए, LiteRT Intel OpenVINO इंटिग्रेशन लेख पढ़ें.
उदाहरण:
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 का इस्तेमाल करके, कॉन्टेंट को फिर से लिखें और उसे बदलें
LiteRT Torch Generative API, कस्टम PyTorch मॉडल बनाने और उन्हें ऑप्टिमाइज़ करने के लिए बिल्डिंग ब्लॉक भी उपलब्ध कराता है. इनमें नॉर्मलाइज़र लेयर, अटेंशन, और अन्य बुनियादी मॉड्यूल शामिल हैं. हालांकि, इसमें और भी मॉड्यूल शामिल हो सकते हैं. अगर आपका मॉडल, LiteRT Torch Hugging Face Export एक्सटेंशन के साथ काम नहीं करता है, तो LiteRT और LiteRT-LM के साथ काम करने वाले अपने मॉडल बनाए जा सकते हैं.
इसमें एलएलएम, डिफ़्यूज़न मॉडल, और एएसआर मॉडल जैसे मॉडल के उदाहरण दिए गए हैं. इनकी जांच करें और अपना मॉडल डिप्लॉय करें.
ज़्यादा जानकारी के लिए, Generative Torch API की GitHub रिपॉज़िटरी देखें.