Transformers documentation
LiteRT
LiteRT
LiteRT (eski adıyla TensorFlow Lite), Google'ın cihaz üzerinde çıkarım için kullandığı çalışma zamanıdır. Model biçimi .tflite'dir ve dil modelleri, LiteRT-LM çalışma zamanı için tek bir .litertlm dosyası olarak dağıtılır.
Bir Transformers modelini litert-torch ile dışa aktarın. Bu, torch.export grafiğini ONNX veya bir TensorFlow SavedModel üzerinden değil, doğrudan LiteRT'ye indirger.
pip install litert-torch
export_hf, bir dil modelini Hub'dan yükler, varsayılan olarak ağırlıkları int8'e kuantize eder ve model.litertlm dosyasını yazar.
litert-torch export_hf \
--model="HuggingFaceTB/SmolLM2-135M-Instruct" \
--output_dir="./smollm2_litertlm"litert_torch.convert, örnek girdilerle bir modeli izler ve bir .tflite dosyası dışa aktarır. Dönen nesne modeli ayrıca çalıştırır, bu sayede dışa aktarma işlemi yerinde kontrol edilebilir.
import litert_torch
from transformers import AutoModelForMaskedLM, AutoTokenizer
model_id = "google-bert/bert-base-uncased"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForMaskedLM.from_pretrained(model_id).eval()
inputs = tokenizer("Paris is the [MASK] of France.", return_tensors="pt", padding="max_length", max_length=128)
litert_model = litert_torch.convert(model, sample_kwargs=dict(inputs))
litert_model.export("bert.tflite")
outputs = litert_model(**{name: tensor.numpy() for name, tensor in inputs.items()})
mask_index = inputs["input_ids"][0].tolist().index(tokenizer.mask_token_id)
print(tokenizer.decode(outputs["logits"][0, mask_index].argmax())) # capitalTransformers entegrasyonu
- from_pretrained(), model ağırlıklarını safetensors biçiminde yükler.
- litert-torch, torch.export çalıştırır ve grafiği LiteRT operatörlerine indirger.
export_hf, KV önbelleğini, prefill ve decode imzalarını ve int8 kuantizasyonunu ekler. - AutoTokenizer tokenizer’ı yükler.
export_hfonu ve sohbet şablonunu.litertlmdosyasına paketler. - Çalışma zamanında
.tfliteLiteRT üzerinde,.litertlmise LiteRT-LM üzerinde çalışır; bunlara Kotlin, Swift, C++ veya Python (ai-edge-litertvelitert-lm-api) üzerinden erişilebilir. Eskitflite-runtimetekerlekleri Python 3.11'de sona erer.
Transformers v4, TensorFlow üzerinden dönüştürme yapan
optimum-cli export tflitekomutunu belgelemiştir. Bu komut, v5'te TensorFlow desteğinin kaldırılmasıyla birlikte (#40760) kaldırılmış olup Optimum 2.x'in bir parçası değildir.
Kaynaklar
- LiteRT ve LiteRT-LM belgeleri
- PyTorch modellerini dönüştürme ve GenAI modelleri kılavuzları