Giriş
Unsloth, Nvidia ile işbirliği yaparak LLM (Büyük Dil Modelleri) eğitim sürelerini %25 hızlandırmayı başardı. Bu optimizasyonlar, özellikle Nvidia'nın RTX serisi gibi tüketici GPU'ları üzerinde etkili bir şekilde çalışıyor. Geliştiricilerin GPU'larından en iyi şekilde yararlanmaları için yapılan bu işbirliği, eğitim sürecindeki gizli darboğazları ortadan kaldırmayı hedefliyor.
Performans Artışı Sağlayan Üç Ana İyileştirme
Nvidia'nın GPU'ları, karmaşık hesaplamaları parçalara ayırıp paralel işleyebiliyor. Ancak, model eğitim sürecinde genellikle yüksek etkili çekirdekler üzerinde yoğunlaşan geliştirmeler, yeni tür darboğazların ortaya çıkmasına neden oluyor. Unsloth ve Nvidia, bu darboğazları hedef alarak üç önemli iyileştirme gerçekleştirdi:
Paketlenmiş Dizi Meta Verisinin Önbelleğe Alınması: Eğitim sürecinde, her katmanda yeniden yapılandırılmasına gerek olmayan sabit meta verilerin önbelleğe alınması. Bu, her katmanda aynı bilgilerin yeniden inşa edilmesini engelleyerek etkili bir hız artışı sağlıyor.
Çift Bellek Kullanımıyla Gecikmenin Gizlenmesi: Aktivite kontrol noktalarının daha verimli bir şekilde yönetilmesi için iki bellek kullanılarak, bir bellek üzerindeki geri hesaplama süreci devam ederken diğer bellek önceden yüklenebiliyor. Bu sayede, veri aktarım süreleri azaltılıyor.
GPT-OSS MoE Yönlendirmesinin Maliyetini Düşürme: Token gruplama işleminin optimize edilmesi, işlem süresini önemli ölçüde azaltıyor.
Paketlenmiş Dizi Meta Verisinin Önbelleğe Alınması
Kısa dizilerden oluşan bir örnek grubunu ele alalım. Bu dizileri sabit bir uzunluğa doldurmak yerine, daha uzun bir paketlenmiş dizi halinde birleştiriyoruz. Bu işlem sırasında modelin, orijinal dizilerin başlangıç ve bitiş noktalarını bilmesi gerekiyor. Bu nedenle, paketlenmiş token'larla birlikte dizi meta verileri de taşınıyor. Bu meta veriler:
Dizi uzunlukları
Cumulative dizilime göre ofsetler (cu_seqlens)
Maksimum dizi uzunluğu
Yukarıdaki üç öğeden türetilen dikkat yapısı
Elde edilen bu meta veriler, her katmanda aynı şekilde kullanıldığından, her katman için yeniden oluşturulması gereksiz bir iş yükü oluşturuyor. Örneğin, bir paketlenmiş diziyi oluşturmak ve onu katmanlar boyunca kullanmak, işlem süresini %43.3 oranında artırıyor.
Çift Bellek Kullanımıyla Gecikmenin Gizlenmesi
Aktivite kontrol noktaları, büyük modellerin eğitiminde yaygın bir teknik. Ancak, bir aktivite GPU'ya geri yükleneceği zaman yaşanan gecikme, işlemi yavaşlatıyor. Unsloth, bu süreci optimize etmek için çift bellek sistemi kullanıyor. Bir bellek geri hesaplama yaparken, diğer bellek aktiviteyi önceden yüklüyor. Bu, işlem sürelerini kısaltıyor ve daha verimli bir eğitim süreci sağlıyor.
Sonuç
Unsloth ve Nvidia'nın işbirliği, LLM eğitim süreçlerini önemli ölçüde hızlandırıyor. Yapılan optimizasyonlar, hem geliştiricilere hem de araştırmacılara büyük bir avantaj sağlıyor. Önbelleğe alma ve çift bellek kullanımı gibi teknikler, eğitim süreçlerini daha verimli hale getirirken, Nvidia'nın GPU'larının potansiyelini en üst düzeye çıkarıyor. Bu gelişmeler, gelecekte daha karmaşık ve güçlü modellerin eğitimine olanak tanıyacak.




