Transformers documentation

Çekirdekler

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

and get access to the augmented documentation experience

to get started

Çekirdekler

PyTorch işlemleri genel amaçlıdır. Donanım üreticileri ve topluluk, belirli platformlarda daha hızlı çalışan özel uygulamalar oluşturur. Bu optimize çekirdeklerin yüklenmesi, derleyici sürümlerini, CUDA araç setlerini ve platforma özel derlemeleri eşleştirmeyi gerektirdiği için bir zorluktur.

platformdesteklenen cihazlar
NVIDIA GPU'lar (CUDA)Hesaplama yeteneği 7.0+ olan modern mimariler (Volta, Turing, Ampere, Hopper, Blackwell)
AMD GPU'lar (ROCm)ROCm destekli cihazlarla uyumlu
Apple Silicon (Metal)M serisi çipler (M1, M2, M3, M4 ve yenileri)
Intel GPU'lar (XPU)Intel Data Center GPU Max Serisi ve uyumlu cihazlar

Kernels, bu sorunu Hub üzerinden derlenmiş ikili dosyaları dağıtarak çözer. Platformunuzu çalışma zamanında algılar ve doğru ikili dosyayı otomatik olarak yükler.

use_kernels=True olduğunda, Transformers, kullanılabilir optimize edilmiş çekirdek uygulamalarına sahip katmanları belirler. Başlangıç süresini azaltmak için çekirdekler yalnızca gerektiğinde Hub'dan indirilir ve önbelleğe alınır. Çekirdekler, dikkat, normalizasyon ve birleştirilmiş işlemler gibi hesaplama yoğun işlemleri hızlandırır.

Tüm işlemlerin çekirdek (kernel) uygulamaları yoktur. Kütüphane, uygun bir çekirdek bulunmadığında standart PyTorch'a geri düşer.

Belirlenim

Bazı çekirdekler, işlem sıralamasının değiştirilmesi veya biriktirme stratejileri nedeniyle PyTorch'ten biraz farklı sonuçlar üretebilir. Bu farklar işlevsel olarak eşdeğerdir ancak yeniden üretilebilirliği etkiler.

Belirleyici davranış için şunları deneyin.

  • Çekirdek deposu belgelerinde determinizm garantileri için kontrol edin. Örneğin, gpt-oss-metal-kernels içindeki SDPA çekirdeği, PyTorch uygulamasıyla %97 oranında eşleşmektedir.
  • Kullanım senaryonuzu etkileyen belirli çekirdekleri devre dışı bırakın.
  • Rastgele tohumları ve PyTorch deterministik bayraklarını ayarlayın.

Kaynaklar

Update on GitHub