AutoKernel, PyTorch modelleri için GPU çekirdeklerini otomatik olarak optimize eden yenilikçi bir araçtır. @karpathy/autoresearch projesinden ilham alan AutoKernel, otonom yapay zeka ajanlarının LLM eğitim araştırmalarındaki başarısını GPU çekirdek optimizasyonuna taşıyor. Geliştiricilerin bir PyTorch modeli sağlamasıyla, AutoKernel modelin darboğazlarını oluşturan GPU çekirdeklerini profiller ve her bir darboğazı bağımsız bir Triton çekirdeği olarak ayıklar. Ardından, bu çekirdekleri otonom bir şekilde optimize eder: kodu düzenler, performansı kıyaslar ve yapılan değişikliği ya kalıcı hale getirir ya da geri alır.
Bu süreç, program.md adlı kapsamlı bir talimat dosyasını okuyan bir ajan tarafından yönetilir. Ajan, kernel.py dosyasını düzenler, bench.py ile sabit bir kıyaslama testi çalıştırır (5 aşamalı doğruluk kontrolü ve roofline analizi içerir) ve değişikliğin kalıcı olup olmayacağına karar verir. orchestrate.py ise Amdahl yasasını kullanarak bir sonraki optimize edilecek çekirdeğe ne zaman geçileceğine karar verir. Her bir optimizasyon deneyi yaklaşık 90 saniye sürer, bu da gece boyunca yüzlerce deneme yapılabileceği anlamına gelir. Sonuç olarak, AutoKernel uçtan uca doğruluk kontrolü yapar ve toplam hızlanmayı raporlar.
Bu sistem, NVIDIA GPU (H100/A100/RTX 4090), Python 3.10+ ve uv gibi temel gereksinimlerle çalışır. GPT-2, LLaMA ve BERT gibi modellerle test edilmiştir. AutoKernel, yapay zeka modellerinin GPU üzerindeki performansını artırmak için geliştiricilere önemli bir kolaylık ve verimlilik sunar.
Bu araç, yapay zeka modellerinin GPU üzerindeki performansını otomatik olarak artırarak geliştiricilere önemli zaman kazandırıyor ve daha verimli sistemler sağlıyor.