Buckets:
| # Kernels | |
| As operações do PyTorch são de uso geral. Os fornecedores de hardware e a comunidade criam implementações especializadas que rodam mais rápido em plataformas específicas. A instalação desses kernels otimizados é um desafio, pois exige a compatibilização de versões de compiladores, toolkits CUDA e builds específicos da plataforma. | |
| | plataforma | dispositivos compatíveis | | |
| | :--- | :--- | | |
| | GPUs da NVIDIA (CUDA) | Arquiteturas modernas com capacidade de computação 7.0+ (Volta, Turing, Ampere, Hopper, Blackwell) | | |
| | GPUs AMD (ROCm) | Compatível com dispositivos compatíveis com ROCm | | |
| | Apple Silicon (Metal) | Chips da série M (M1, M2, M3, M4 e mais novos) | | |
| | GPUs da Intel (XPU) | Intel Data Center GPU Max Series e dispositivos compatíveis | | |
| [Kernels](https://huggingface.co/docs/kernels/index) resolve isso distribuindo binários pré-compilados por meio do [Hub](https://huggingface.co/kernels-community). Ele detecta sua plataforma em tempo de execução e carrega automaticamente o binário adequado. | |
| Quando `use_kernels=True`, o Transformers identifica camadas com implementações de kernel otimizadas disponíveis. Ele baixa e [armazena em cache](../installation#cache-directory) kernels do Hub apenas quando necessário, para reduzir o tempo de inicialização. Os kernels aceleram operações intensivas de computação, como atenção, normalização e operações fundidas. | |
| Nem todas as operações possuem implementações de kernel. A biblioteca recorre ao PyTorch padrão quando nenhum kernel está disponível. | |
| ## Determinismo | |
| Alguns kernels produzem resultados ligeiramente diferentes dos do PyTorch devido à reordenação de operações ou a estratégias de acumulação. Essas diferenças são funcionalmente equivalentes, mas afetam a reprodutibilidade. | |
| Para um comportamento determinístico, tente o seguinte. | |
| - Consulte a documentação do repositório de kernels para as garantias de determinismo. Por exemplo, o kernel SDPA em [gpt-oss-metal-kernels](https://huggingface.co/kernels-community/gpt-oss-metal-kernels#4-scaled-dot-product-attention-sdpa) corresponde à implementação do PyTorch 97% das vezes. | |
| - Desative kernels específicos que afetam seu caso de uso. | |
| - Defina as sementes aleatórias e as flags de determinismo do PyTorch. | |
| ## Recursos | |
| - guia [Carregando kernels](./loading_kernels) para começar | |
| - Repositório do GitHub [Kernels](https://github.com/huggingface/kernels) | |
| - post no blog [Reforce seus modelos em 5 minutos com o Hugging Face Kernel Hub](https://huggingface.co/blog/hello-hf-kernels) | |
Xet Storage Details
- Size:
- 2.59 kB
- Xet hash:
- 89b79a1ce35dd7cf4cdb71bf98d6e9ca5a15a183ea8ba7aab19620487352ce84
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.