Qwen2-VL'yi AMD MI300X'te İnce Ayarlamak: ROCm'in Söylemedikleri
Qwen2-VL ile blockchain grafik sınıflandırması: AMD MI300X + ROCm'de karşılaşılan gerçek ince ayar sorunları ve çözümleri.
Blockchain işlem grafiklerindeki topoloji sinyalleri metne dönüştürüldüğünde kaybolur; 47 kısa ömürlü cüzdanla çevrili bir hub adresi, metin halinde sıradan bir tablo gibi görünür ama görsel olarak yıldız şeklinde bir yapı olarak anında fark edilir. Bu gözlem, klasik bir grafik sinir ağı yerine görsel-dil modeli kullanmayı mantıklı kılıyor: Qwen2-VL'nin dinamik çözünürlük mekanizması, işlem grafiklerini sabit bir ızgaraya sıkıştırmadan yüksek çözünürlükte işleyebiliyor, ayrıca açık ağırlıklara ve LLaMA-Factory/ms-swift üzerinden çalışan ince ayar araçlarına sahip.
Asıl zorluk donanımda değil, yazılım ekosisteminde. Mevcut ince ayar rehberlerinin neredeyse tamamı CUDA varsayıyor; AMD MI300X ve ROCm 6.x üzerinde çalışmak, flash-attn'in ROCm için ayrı derlenmesi gerektiği, HIP_VISIBLE_DEVICES ile ROCR_VISIBLE_DEVICES'ın çelişebildiği ve HSA_OVERRIDE_GFX_VERSION gibi ortam değişkenlerinin ayarlanmazsa sessizce CPU'ya düşülebildiği bir alan. En sinsi hata: eğitim çöküyormuş gibi görünmüyor, kayıp eğrisi makul çıkıyor, ama verim beklenenden 20 kat düşük oluyor çünkü matmul işlemleri fark edilmeden CPU'da yürüyor.
MI300X'in 192GB HBM3 belleği, 7B parametreli bir modelin tam parametre ince ayarını 80GB altında rahatlıkla sığdırıyor; bu da darboğazı 'sığar mı' sorusundan 'hesaplama birimlerini dolu tutabiliyor muyum' sorusuna kaydırıyor. Ancak CUDA için derlenmiş flash-attn paketinin ROCm'de hatasız kurulup sessizce yanlış gradyanlar üretmesi gibi tuzaklar, dikkatli doğrulama olmadan fark edilmeyen hatalara yol açabiliyor.