Transformers documentation
Çekirdekler
Ç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.
| platform | desteklenen 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
- Başlamak için Çekirdekleri yükleme kılavuzuna göz atın
- Kernels GitHub deposu
- Hugging Face Kernel Hub ile Modellerinizi 5 Dakikada Geliştirin blog yazısı