Transformers documentation

ExecuTorch

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

ExecuTorch

ExecuTorch adalah solusi end-to-end untuk memungkinkan kemampuan inferensi on-device di berbagai perangkat mobile dan edge, termasuk wearable, perangkat tertanam, dan mikrokontroler. Solusi ini merupakan bagian dari ekosistem PyTorch dan mendukung deployment model PyTorch dengan fokus pada portabilitas, produktivitas, dan performa.

ExecuTorch memperkenalkan titik masuk yang terdefinisi dengan baik untuk melakukan optimasi yang spesifik untuk model, perangkat, dan/atau kasus penggunaan, seperti delegasi backend, transformasi compiler yang didefinisikan pengguna, perencanaan memori, dan lainnya. Langkah pertama dalam menyiapkan model PyTorch untuk dieksekusi pada perangkat edge menggunakan ExecuTorch adalah mengekspor model. Hal ini dicapai melalui penggunaan API PyTorch yang disebut torch.export.

Integrasi ExecuTorch

Titik integrasi sedang dikembangkan untuk memastikan bahwa 🤗 Transformers dapat diekspor menggunakan torch.export. Tujuan dari integrasi ini bukan hanya untuk memungkinkan ekspor, tetapi juga untuk memastikan bahwa artefak yang diekspor dapat diturunkan dan dioptimalkan lebih lanjut agar berjalan secara efisien di ExecuTorch, khususnya untuk kasus penggunaan mobile dan edge.

kelas transformers.TorchExportableModuleWithStaticCache

< >

( model: PreTrainedModelbatch_size: int | None = Nonemax_cache_len: int | None = Nonedevice: typing.Optional[torch.device] = None )

Modul resep yang dirancang untuk membuat PreTrainedModel dapat diekspor dengan torch.export, khususnya untuk LM decoder-only ke StaticCache. Modul ini memastikan bahwa model yang diekspor kompatibel dengan penurunan dan eksekusi lebih lanjut di ExecuTorch.

Catatan: Kelas ini dirancang secara khusus untuk mendukung proses ekspor menggunakan torch.export dengan cara yang memastikan model dapat diturunkan lebih lanjut dan dijalankan secara efisien di ExecuTorch.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonecache_position: typing.Optional[torch.Tensor] = None ) → torch.Tensor

Parameter

  • input_ids (torch.Tensor) — Tensor yang merepresentasikan id token input saat ini ke modul.
  • inputs_embeds (torch.Tensor) — Tensor yang merepresentasikan embedding input saat ini untuk modul.
  • cache_position (torch.Tensor) — Tensor yang merepresentasikan posisi input saat ini dalam cache.

Mengembalikan

torch.Tensor

Output logits dari model.

Forward pass dari modul, yang kompatibel dengan runtime ExecuTorch.

Adapter maju ini melayani dua tujuan utama:

  1. Membuat Model Kompatibel dengan torch.export: Adapter menyembunyikan objek yang tidak didukung, seperti Cache, dari input dan output graf, sehingga model dapat diekspor menggunakan torch.export tanpa menemui masalah.

  2. Mastikan kompatibilitas dengan runtime ExecuTorch: Adapter mencocokkan tanda tangan forward model dengan yang ada di executorch/extension/llm/runner, memastikan bahwa model yang diekspor dapat dijalankan di ExecuTorch tanpa konfigurasi tambahan.

transformers.convert_and_export_with_cache

< >

( 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)

Parameter

  • model (PreTrainedModel) — Model pretrained yang akan diekspor.
  • example_input_ids (Optional[torch.Tensor]) — Contoh id token input yang digunakan oleh torch.export.
  • example_cache_position (Optional[torch.Tensor]) — Contoh posisi cache saat ini yang digunakan oleh torch.export.
  • dynamic_shapes(Optional[dict]) — Bentuk dinamis yang digunakan oleh torch.export.
  • strict(Optional[bool]) — Flag untuk menginstruksikan torch.export agar menggunakan dynamo.

Mengembalikan

Program yang diekspor (torch.export.ExportedProgram)

Program yang diekspor yang dihasilkan melalui torch.export.

Konversi PreTrainedModel menjadi modul yang dapat diekspor dan ekspor menggunakan torch.export, memastikan model yang diekspor kompatibel dengan ExecuTorch.

Update on GitHub