Transformers documentation
ExecuTorch
Mulai
Kelas dasar
Model
Preprocessor
Inferensi
API Pipeline
Generate API
Optimasi
Berbicara dengan model
Serving
Pelatihan
Perangkat keras
Kuantisasi
Integrasi ekosistem
Sumber daya
API
You are viewing main version, which requires installation from source. If you'd like
regular pip install, checkout the latest stable version (v5.23.0).
ExecuTorch
ExecuTorch adalah runtime ringan untuk inferensi model pada perangkat edge. Ekspor model PyTorch ke format portabel, ahead-of-time. Runtime C++ yang kecil merencanakan memori dan mendistribusikan operasi ke backend yang spesifik perangkat keras. Perilaku eksekusi dan memori diketahui sebelum model berjalan di perangkat, sehingga overhead inferensi rendah.
Ekspor model Transformers dengan pustaka optimum-executorch.
CLI
Python
optimum-cli export executorch \
--model "HuggingFaceTB/SmolLM2-135M-Instruct" \
--task "text-generation" \
--recipe "xnnpack" \
--output_dir="./smollm2_exported"from transformers import AutoTokenizer
from optimum.executorch import ExecuTorchModelForCausalLM
model = ExecuTorchModelForCausalLM.from_pretrained(
"HuggingFaceTB/SmolLM2-135M-Instruct",
recipe="xnnpack",
)
model.save_pretrained("./smollm2_exported")
tokenizer = AutoTokenizer.from_pretrained("HuggingFaceTB/SmolLM2-135M-Instruct")Integrasi Transformers
Proses ekspor menggunakan beberapa komponen Transformers.
- from_pretrained() memuat bobot model dalam format safetensors.
- Optimum menerapkan optimasi graf dan menjalankan torch.export untuk membuat file
model.pteyang menargetkan backend perangkat keras Anda. - AutoTokenizer atau AutoProcessor memuat file tokenizer atau processor dan dijalankan selama inferensi.
- Saat runtime, kelas runner C++ menjalankan file
.ptepada runtime ExecuTorch.
#include <executorch/extension/llm/runner/text_llm_runner.h>
using namespace executorch::extension::llm;
int main() {
// Load tokenizer and create runner
auto tokenizer = load_tokenizer("path/to/tokenizer.json", nullptr, std::nullopt, 0, 0);
auto runner = create_text_llm_runner("path/to/model.pte", std::move(tokenizer));
// Load the model
runner->load();
// Configure generation
GenerationConfig config;
config.max_new_tokens = 100;
config.temperature = 0.8f;
// Generate text with streaming output
runner->generate("The capital of France is", config,
[](const std::string& token) { std::cout << token << std::flush; },
nullptr);
return 0;
}Sumber daya
- Dokumentasi ExecuTorch
- Dokumentasi torch.export
- panduan Ekspor ke produksi