Gradient-boosted karar ağaçları (GBDT), gerçek zamanlı dolandırıcılık filtrelerinden petabayt ölçeğinde talep tahminlerine kadar birçok alanda önemli bir rol oynamaktadır. XGBoost, son derece yüksek doğruluk, SHAP ile uyumlu açıklanabilirlik ve dizüstü bilgisayarlarda, çoklu GPU düğümlerinde ya da Spark kümelerinde çalışabilme esnekliği nedeniyle uzun süredir tercih edilen bir açık kaynak kütüphanesidir. XGBoost’un 3.0 sürümü, ölçeklenebilirliği temel hedef olarak geliştirilmiştir. Tek bir NVIDIA GH200 Grace Hopper Süper Çipi, gigabayt ölçeğinden 1 terabayt (TB) ölçeğine kadar veri setlerini işleyebilir hale gelmiştir.
Uyumlu bellek mimarisi, yeni harici bellek motorunun 900 GB/s NVIDIA NVLink-C2C üzerinden veri akışı sağlamasına olanak tanır, böylece 1 TB’lık bir model dakikalar içinde eğitilebilir—112 çekirdekli (çift soket) bir CPU sistemine göre 8 kat daha hızlıdır. Bu da karmaşık çok düğümlü GPU kümelerine olan ihtiyacı azaltır ve ölçeklenebilirliği daha basit hale getirir.
Bu yazıda, XGBoost 3.0 sürümü‘ndeki yeni özellikler ve geliştirmeler üzerinde durulacak; ayrıca harici bellek konusunda derinlemesine bir inceleme sunulacak ve Grace Hopper Süper Çipi’nin 1 TB ölçeğine ulaşma süreci açıklanacaktır.
Finansal Sistemler için Kullanım Durumu
XGBoost, dolandırıcılık tespiti, kredi risk tahmini ve algoritmik ticaret gibi kritik finansal sistemlere güç sağlar. Piyasa kapitalizasyonu açısından dünyanın en büyük bankalarından biri olan RBC, hız, doğruluk ve açıklanabilirlik talep eden bir lead scoring (öncelik belirleme) sistemi işletmektedir. Makine öğrenimi pipeline’ını modernize etmek ve yüzbinlerce kayıt üzerinde sürekli model ayarlamaları yapabilmek için RBC, XGBoost’u seçmiştir.
“Veri hacimlerinin projeksiyonlarına ulaşmak için XGBoost’un, NVIDIA GPU’ları ile desteklenerek, öncelikli lead scoring modelimizi mümkün kılacağından eminiz,” diyor RBC’den Christopher Ortiz, Genel Yapay Zeka Planlama ve Değerlendirme Direktörü. “GPU’ları kullanarak, uçtan uca %16’ya kadar hız artışı sağladık ve model eğitimi için TCO’da %94’lük bir azalma gördük. Bu, verimlilik ve maliyet etkinliğinde devrim niteliğinde bir sıçrama temsil ediyor. Verilerimiz büyüdükçe daha iyi sonuçlar elde etmek için özellikleri daha hızlı optimize edebiliyoruz.”
XGBoost’un 1 TB Boyutundaki Veri Setlerinde Kullanımı
XGBoost ile GPU hızlandırmasının mümkün olabilmesi için GPU histogram yöntemi tanıtılmıştır. Bu yöntem, CPU üzerindeki XGBoost’a kıyasla önemli hız artışları sağlamıştır. Ancak iki kısıtlama hala mevcuttu:
- Verilerin sıkıştırılmasına rağmen, GPU belleği, GPU hızlandırması yapılabilecek veri setleri için ana sınırlayıcı faktördür.
- 3.0 sürümünden önce, deneysel harici bellek, GPU belleğinde hala birleştirilmiş partileri akıtan bir yöntemle çalışıyordu.
Bu kısıtlamaları aşmak için iki mekanizma kullanılabilir:
- Quantile DMatrix, her özelliği belirli sayıda quantile kümesine önceden yerleştirir. Bu sayede, veri setinin bellek kullanımını önemli ölçüde azaltarak model doğruluğunu büyük ölçüde etkilemeden sıkıştırma sağlar.
- Dask ve Spark gibi dağıtık çatıların hesaplamalarını parçalayarak kullanım.
Yeni Harici Bellek Quantile DMatrix
XGBoost 3.0, 1 TB ölçeğindeki veri setlerini tek bir GH200 Grace Hopper Süper Çipi üzerinde ölçeklendirmeyi mümkün kılan Harici Bellek Quantile DMatrix ile birlikte geliyor. Bu, dağıtık bir çerçeve kurmanın karmaşıklığını aşar ve Grace Hopper süper çiplerinin ultra hızlı C2C bant genişliğinden yararlanır.
Harici Bellek Quantile DMatrix, veri kümesi dosyalarını okumak için yöntemleri tanımlayan mevcut Veri İteratörlerinin üzerine inşa edilmiştir. Tüm veri seti belleği yönetimini sağlar ve XGBoost booster nesnenize bir parametre olarak kullanılır (Şekil 1). Harici Bellek Quantile DMatrix’i, her özelliği önceden yerleştiren tanıdık QuantileDMatrix gibi düşünebilirsiniz, ancak aynı quantile mantığını kullanır. Bu, mevcut hiperparametrelerinizi koruyarak aynı doğruluğu elde etmenizi sağlar. Bu arada, veriler ana RAM’de bulunur ve her iterasyonda GPU’ya akış sağlanır. Daha fazla bilgi için XGBoost belgelerine bakabilirsiniz.

NVIDIA Grace Hopper Süper Çipi’nin Akış Sağlarken Fark Yarattığı Alanlar
Bu yapı, NVIDIA Grace tabanlı süper çipler için idealdir. Bir GH200 süper çipi, NVLink C2C ile bağlantılı 72 çekirdekli bir Grace CPU ve bir Hopper GPU’yu paketler. Bu, 900 GB/s iki yönlü bant genişliği sağlar; bu, PCIe Gen 5’in x16 bant genişliğinin yaklaşık 7 katı kadar olup, çok daha düşük gecikmeye sahiptir.
1 TB’lık bir eğitim görevi genellikle yaklaşık 2 TB DRAM’e sahip bir CPU kutusu veya 8 ila 16 NVIDIA H100 GPU’su içeren küçük bir GPU kümesi gerektirir. Bu yapı daha hızlı olabilir, ancak dağıtık çerçevelerin yönetimiyle daha karmaşık hale gelir. XGBoost 3.0 harici bellek akışı ile birlikte, tek bir GH200 süper çipi (80 GB HBM3 ve 480 GB LPDDR5X, 900 GB/s NVLink-C2C ile beslenmiş) artık hem RAM aşırı yüklenmesinden kaçınabilir, hem de çok GPU podunun karmaşıklığını aşabilir.
Grace Hopper’ı 1 TB Veri Setinde Test Etme
GPU’lar yoğun (veya neredeyse yoğun) tablolar üzerinde mükemmel performans gösterir, çünkü XGBoost bunları keskin bir şekilde sıkıştırarak veri yolu trafiğini azaltır ve histogramların hızlı paylaşımlı bellekte saklanmasını sağlar. Bu, GPU için şeklin hemen hemen önemli olmadığını gösterir: geniş-kısa ve dar-uzun tablolar aynı sürede sonuçlanır.
Ancak ExtMemQuantileDMatrix, şekle duyarlıdır. XGBoost’u bir özellik matrisinde (x) ve etiketlerde (y) eğitirken, sadece özellik matrisi sıralanır, etiketler veya diğer veriler üzerinde herhangi bir işlem yapılmaz. Bu durumda, ince veri setlerinde etiketlerin (satır sayısının) büyüklüğü, tek bir GH200 süper çipinde hangi veri setinin sığabileceğini belirleyen kısıtlayıcı faktör olmaktadır.
Şekil 2, toplam veri boyutunun sabit kaldığı, ancak veri setindeki satır ve sütun sayısının değiştiği durumu göstermektedir.

Harici Bellek İçin En İyi Uygulamalar
GH200 süper çip sistemleri üzerinde harici bellek avantajlarını kullanabilmek için aşağıdaki ipuçları ile başlayabilirsiniz. Daha fazla bilgi için XGBoost belgelerine göz atın.
grow_policy=’depthwise’ ayarını yaparak ağaçları katman katman oluşturmak, harici bellek için daha uygundur:
xgb_model = xgb.XGBRegressor(tree_method='hist',
device='cuda',
seed=42,
grow_policy='depthwise')
RAPIDS ile birlikte kullanırken daima yeni bir RAPIDS Bellek Yöneticisi (RMM) havuzunda başlayın:
import cupy as cp, rmm, xgboost as xgb
from rmm.allocators.cupy import rmm_cupy_allocator
mr = rmm.mr.ArenaMemoryResource(rmm.mr.CudaAsyncMemoryResource())
rmm.mr.set_current_device_resource(mr)
cp.cuda.set_allocator(rmm_cupy_allocator)
with xgb.config_context(use_rmm=True):
dtrain = xgb.ExtMemQuantileDMatrix(it_train, max_bin=256)
bst = xgb.train({"device": "cuda", "tree_method": "hist"}, dtrain)
CUDA 12.8 veya daha üstü bir sürümde ve HMM etkinleştirilmiş bir sürücü ile çalıştırın (Grace Hopper).
XGBoost 3.0’da Başka Neler Var?
Harici bellek yenilemesinin yanı sıra XGBoost 3.0 birçok performans güncellemesi ve API temizliği sunmaktadır. Bunlar arasında:
- dağıtılmış harici bellek için deneysel destek. Artık, GPU RAM’i sıkışık olduğunda ana belleğe geri dönerek disk dışı modeller üzerinde eğitim yapabileceksiniz.
- DMatrix yapılandırma sırasında GPU bellek kullanımını azaltarak, partiler halinde girdi alımlarının başlangıcını hızlandırma, XGBoost 3.0’ı daha hızlı kılmaktadır.
- GPU histogram ve yaklaşık yöntemlerde, çoğunlukla yoğun veriler için yaklaşık 2 kat hızlılık ve daha düşük bellek kullanımı sağlanmıştır.
- Harici bellek artık kategorik özellikleri, her hedef türünü (kuantile regresyon da dahil) ve tüm tahmin türlerini—SHAP dahil—desteklemektedir.
XGBoost 3.0 ile Başlayın
XGBoost 3.0’da harici bellek iyileştirmeleri, veri setleriniz GPU bellek kapasitesini aştığında çalışmanın varsayılan yolunu oluşturuyor. Öne çıkanlar:
- Aynı doğruluk, daha küçük ayak izi: ExtMemQuantileDMatrix, GPU’ya her boosting turu için zamanında akış sağlamak üzere önceden yerleştirilmiş, sıkıştırılmış sayfaları ana RAM’den aktarmaktadır.
- Grace Hopper ile genişletilmiş GPU RAM’i: NVLink, sıradan ana belleği GPU RAM’in hızlı bir uzantısı haline getirirken, bir Grace Hopper Süper Çipi, daha önce birden fazla GPU’nun (tek ya da birden fazla düğüm üzerinde) gerektirdiği TB boyutundaki bir işi kusursuz bir şekilde tamamlayabilir.
- Kolay yükseltme: Zaten RAPIDS Bellek Yöneticisi kullanıyorsanız, harici bellek yolunu değiştirmek, GPU iş akışlarınız için kolay bir değişimdir. Mevcut pipeline’larınızı bozmadan devam edebilirsiniz.
XGBoost 3.0, TB ölçeğindeki GBDT eğitimini tek bir Grace Hopper çipi üzerinde, her zaman kullandığınız aynı XGBoost çağrılarıyla gerçekleştirmenizi sağlar.
Başlamak için, XGBoost 3.0’ı indirin ve Kurulum Rehberine göz atın. Harici bellek hakkında daha fazla bilgi için XGBoost belgelerine başvurabilirsiniz.
Geri bildirim veya GPU hızlandırmasıyla ilgili sorularınız için topluluğumuza Slack kanalıına katılabilirsiniz. Veri bilimi hakkında hızlandırılmış hizmetler için Hızlandırılmış Veri Bilimi Öğrenme Yoluna göz atabilirsiniz.