Transformers documentation
ExecuTorch
ExecuTorch
ExecuTorch, giyilebilir cihazlar, gömülü cihazlar ve mikrodenetleyiciler dahil olmak üzere mobil ve kenar cihazlarında cihaz üzerinde çıkarım yeteneklerini mümkün kılan uçtan uca bir çözümdür. PyTorch ekosisteminin bir parçasıdır ve taşınabilirlik, verimlilik ve performans odaklı olarak PyTorch modellerinin dağıtımını destekler.
ExecuTorch, backend devri, kullanıcı tanımlı derleyici dönüşümleri ve bellek planlaması gibi model, cihaz ve/veya kullanım senaryosuna özgü optimizasyonları gerçekleştirmek için iyi tanımlanmış giriş noktaları sunar. ExecuTorch kullanarak bir PyTorch modelini kenar cihazda çalıştırılmaya hazırlamanın ilk adımı, modeli dışa aktarmaktır. Bu, torch.export adlı PyTorch API’sinin kullanılmasıyla sağlanır.
ExecuTorch Entegrasyonu
🤗 Transformers'ın torch.export kullanılarak dışa aktarılabilmesini sağlamak için bir entegrasyon noktası geliştirilmektedir. Bu entegrasyonun amacı yalnızca dışa aktarmayı mümkün kılmak değil, aynı zamanda dışa aktarılan ürünün ExecuTorch içinde verimli bir şekilde çalışmak üzere daha da indirgenip optimize edilebilmesini, özellikle mobil ve kenar (edge) kullanım senaryoları için, garanti altına almaktır.
sınıf transformers.TorchExportableModuleWithStaticCache
< source >( model: PreTrainedModelbatch_size: int | None = Nonemax_cache_len: int | None = Nonedevice: typing.Optional[torch.device] = None )
PreTrainedModel'in torch.export ile dışa aktarılabilir hale getirilmesini sağlamak üzere tasarlanmış bir tarife modülü, özellikle yalnızca çözücü LM'ler için StaticCache'e. Bu modül, dışa aktarılan modelin ExecuTorch içindeki ek düşürme ve yürütme ile uyumlu olduğunu garanti eder.
Not:
Bu sınıf, modelin ExecuTorch içinde daha da indirgenip verimli bir şekilde çalıştırılmasını sağlayacak şekilde, torch.export kullanılarak dışa aktarma sürecini desteklemek için özellikle tasarlanmıştır.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonecache_position: typing.Optional[torch.Tensor] = None ) → torch.Tensor
Parametreler
- input_ids (
torch.Tensor) — Modüle giren mevcut girdi token kimliğini temsil eden tensör. - inputs_embeds (
torch.Tensor) — Modülün mevcut giriş gömme değerlerini temsil eden tensör. - cache_position (
torch.Tensor) — Önbellekteki mevcut giriş konumunu temsil eden tensör.
Dönüş değeri
torch.Tensor
Modelden gelen Logits çıktısı.
ExecuTorch çalışma zamanı ile uyumlu olan modülün ileri geçişi.
Bu ileri yönlü adaptörün iki temel amacı vardır:
Modelin
torch.exportile Uyumlu Hale Getirilmesi: Uyarlama katmanı,Cachegibi desteklenmeyen nesneleri grafik girdilerinden ve çıktılarından gizleyerek, modelintorch.exportkullanılarak sorunsuz bir şekilde dışa aktarılmasını sağlar.ExecuTorchçalışma zamanıyla uyumluluğu sağlama: Adaptör, modelin ileri (forward) imzasınıexecutorch/extension/llm/runneriçindeki imza ile eşleştirir; böylece dışa aktarılan modelinExecuTorchiçinde hazır halde çalıştırılabildiğinden emin olunur.
transformers.convert_and_export_with_cache
< source >( model: PreTrainedModelexample_input_ids: typing.Optional[torch.Tensor] = Noneexample_cache_position: typing.Optional[torch.Tensor] = Nonedynamic_shapes: dict | None = Nonestrict: bool | None = None ) → Exported program (torch.export.ExportedProgram)
Parametreler
- model (
PreTrainedModel) — Dışa aktarılacak önceden eğitilmiş model. - example_input_ids (
Optional[torch.Tensor]) —torch.exporttarafından kullanılan örnek giriş token kimliği. - example_cache_position (
Optional[torch.Tensor]) —torch.exporttarafından kullanılan örnek mevcut önbellek konumu. - dynamic_shapes(
Optional[dict]) —torch.exporttarafından kullanılan dinamik şekiller. - strict(
Optional[bool]) —torch.export'indynamokullanmasını belirtmek için bayrak.
Dönüş değeri
Dışa aktarılmış program (torch.export.ExportedProgram)
torch.export aracılığıyla oluşturulan dışa aktarılan program.
Bir PreTrainedModel'i dışa aktarılabilir bir modüle dönüştürün ve torch.export kullanarak dışa aktarın; dışa aktarılan modelin ExecuTorch ile uyumlu olduğundan emin olun.