Veri bilimcileri, analiz öncesinde büyük ve düzensiz veri setlerini temizlemek ve hazırlamak için genellikle çok fazla zaman harcarlar. Bu süreç, güçlü programlama ve istatistik uzmanlığı gerektirir. Özellik mühendisliği, model ayarları ve iş akışları arasında tutarlılığı sağlamak karmaşık ve hataya açık bir iştir. Bu zorluklar, CPU tabanlı makine öğrenimi (ML) iş akışlarının yavaş ve ardışık doğasıyla arttıkça, deney yapma ve yineleme süreçlerini son derece verimsiz hale getirir.
Hızlandırılmış Veri Bilimi ML Ajanı
Bir veri bilimi ajansı geliştirdik ve bu ajanın kullanıcı niyetini yorumlama ve ML iş akışındaki tekrarlayan görevleri düzenleme yeteneği sayesinde veri bilimi ve ML deneyimini basitleştirmeyi hedefliyoruz. GPU hızlandırması sayesinde, bu ajan NVIDIA CUDA-X Veri Bilimi kütüphanelerini kullanarak milyonlarca örneği işleyebiliyor. Bu yapı, veri bilimcisinin niyetini optimize edilmiş bir iş akışına dönüştürmek üzere tasarlanmış NVIDIA Nemotron Nano-9B-v2 adlı kompakt ve güçlü açık kaynak dil modelini sergiliyor.
Bu kurulum ile geliştiriciler, ajanın kullanıcı ile doğal bir dilde sohbet ederek büyük veri setlerini keşfedebilir, modelleri eğitebilir ve sonuçları değerlendirebilirler. Bu sistem, doğal dil ile yüksek performanslı hesaplama arasında bir köprü oluşturarak, kullanıcıların ham veriden iş içgörülerine sadece birkaç dakika içinde ulaşmalarını sağlıyor. Bu ajanın, ihtiyaçlarınıza uygun farklı LLM’ler, araçlar ve depolama çözümleriyle kendi ajansınızı oluşturmak için bir başlangıç noktası olarak kullanmanızı teşvik ederiz. Bu ajanın Python skriptlerini GitHub‘dan keşfedebilirsiniz.
Veri Bilimi Ajanı Organizesi
Ajanın mimarisi, modularlık, ölçeklenebilirlik ve GPU hızlandırması için tasarlanmıştır. Beş ana katman ve bir geçici veri deposu ile organize edilmiştir. Bu katmanlar, doğal dil talimatlarını yürütülebilir veri işleme ve ML iş akışlarına dönüştürmek için birlikte çalışır. Aşağıdaki diyagram, iş akışının her katmanın nasıl etkileşimde bulunduğunu göstermektedir.

Katmanların işleyişine daha yakından bakalım.
Kategori 1: Kullanıcı Arayüzü
Kullanıcı arayüzü, kullanıcıların ajana açıkça İngilizce ile etkileşimde bulunabilmeleri için Streamlit tabanlı bir sohbet botu ile geliştirilmiştir.
Kategori 2: Ajan Koordinatörü
Bu katman, tüm katmanları koordine eden merkezi bir kontrol merkezidir. Kullanıcı taleplerini yorumlar, niyet anlayışı için LLM ile yürütme yetkisi verir, doğru GPU hızlandırmalı araç işlevlerini çağırır ve doğal dilde yanıt verir. Her orchestrator yöntemi, bir GPU işlevinin etrafında hafif bir sarmalamadır. Örneğin, kullanıcı sorgusundaki _describe_data , basic_eda() işlevini çağırırken, _optimize_ridge sorgusu optimize_ridge_regression() işlevini çağırır.

Kategori 3: LLM Katmanı
LLM katmanı, ajanın mantık motoru olarak görev yaparak, Nemotron Nano 9B-v2 ile iletişim kurması için dil model müşterisini başlatır. Bu katman, ajanın doğal dil girdilerini yorumlamasını ve bunları yapılandırılmış, yürütülebilir eylemlere çevirmesini sağlar. Dört ana mekanizma üzerinden çalışmaktadır: LLM modeli, dayanıklı iletişim için tekrar stratejisi, yapılandırılmış araç çağırma ve bir araç çağırma penceresi.
- LLM Modeli
LLM katmanı mimarisi LLM bağımsızdır ve işlev çağırmayı destekleyen her dil modeli ile çalışabilir. Bu uygulama için kullandığımız Nemotron Nano-9B-v2, işlev çağırma ve gelişmiş akıl yürütme yeteneklerini destekler. Daha küçük boyutu sayesinde, bu model verimlilik ve yetenek arasında optimal bir denge sunar ve çıkarım için tek bir GPU üzerinde dağıtılabilir. Aynı boyut sınıfındaki diğer modellerle karşılaştırıldığında, 6 kat daha yüksek token oluşturma verimliliği sunar. Ayrıca, düşünme bütçesi özelliği, geliştiricilerin “düşünme” token sayısını kontrol etmelerini sağlar ve akıl yürütme maliyetlerini %60’a kadar azaltır. Bu mükemmel performans ve maliyet verimliliği bir araya geldiğinde, üretim dağıtımı için ekonomik olarak uygun gerçek zamanlı sohbet akışlarını mümkün kılar. - Dayanıklı İletişim için Tekrar Stratejisi
LLM istemcisi, geçici ağ hatalarını ve API limitlerini yönetmek için bir exponential backoff tekrar mekanizması uygulayarak, olumsuz ağ koşullarında veya yüksek API yükün altında güvenilir iletişim sağlar. - Yapılandırılmış Araç Çağırma
Yapılandırılmış araç çağırma, doğal dil ile kod yürütme arasında köprü kurarak, LLM’nin kullanıcı niyetini yapılandırılmış araç çağırmalarına dönüştürmesini sağlar. Ajan, her aracın adını, amacını, parametrelerini ve kısıtlarını belirten OpenAI uyumlu işlev şemaları kullanarak mevcut araçları tanımlar. - Fonksiyon Çağırma Penceresi
Fonksiyon çağırma, LLM’yi bir metin oluşturucudan akıl yürütme motoruna dönüştürerek API organizasyonunu sağlıyor. Model, Nemotron Nano-9B-v2, mevcut araçların yapılandırılmış “API spesifikasyonu” ile sağlanır; böylece kullanıcı niyetini anlamaya çalışır, uygun işlevleri seçer, doğru türde parametreleri çıkarır ve çok adımlı veri işleme ile ML işlemlerini koordine eder. Tüm bu işlemler, kullanıcıların API sözdizimini anlamasını veya kod yazmasını gerektirmeden doğal dil ile gerçekleştirilir.Şekil 3’teki tam işlev çağırma akışı, doğal dilin yürütülebilir koda nasıl dönüştüğünü gösterir. Şekil 3’te listelenen işlemler için
chat_agent.pyvellm.pybetiklerine GitHub’dan bakabilirsiniz.

Kategori 4: Hafıza Katmanı
Hafıza katmanı (ExperimentStore), model yapılandırmaları, performans metrikleri ve doğruluk ile F1 puanları gibi değerlendirme sonuçları dahil olmak üzere deney meta verilerini depolar. Bu meta veriler, standart JSONL formatında bir oturum için özel dosyada kaydedilir, böylece oturum içi izleme ve get_recent_experiments() ve show_history() işlevleri aracılığıyla geri alım yapılabilir.
Kategori 5: Geçici Veri Depolama
Geçici veri depolama katmanı, sistemin geçici dizinindeki oturum özel çıktı dosyalarını (best_model.joblib ve predictions.csv) saklar. Bu dosyalar, kullanıcı arayüzü aracılığıyla anında indirilebilir ve kullanılabilir. Ajans kapandığında bu dosyalar otomatik olarak silinir.
Kategori 6: Araç Katmanı
Araç katmanı, veri bilimi işlevlerini yürütmekten sorumlu ajanın hesaplama çekirdeğidir; veri yükleme, keşifsel veri analizi (EDA), model eğitimi ve değerlendirmesi, hiperparametre optimizasyonu (HPO) gibi işlevleri içerir. Kullanıcı sorgusuna dayanarak yürütme için seçilen fonksiyon aşağıdaki optimizasyon stratejilerini kullanır:
- Tutarlılık ve Tekrar Edilebilirlik
Ajan, eğitim, test ve üretim ortamları arasında tutarlı veri ön işleme ve model eğitimi sağlamak için scikit-learn (popüler açık kaynak kütüphanesi) gibi farklı soyutlama yöntemleri kullanır. Bu tasarım, eğitim sırasında öğrenilen dönüşümlerin (tamamlama değerleri, ölçekleme parametreleri ve kodlama haritaları) tüm çıkarım verisine otomatik olarak uygulanmasını sağlayarak yaygın ML hatalarını (veri sızıntısı ve tutarsız ön işleme gibi) engeller. - Hafıza Yönetimi
Büyük veri setlerini yönetmek için hafıza optimizasyon stratejileri kullanılır.Float32dönüşümü hafıza kullanımını azaltırken, GPU hafıza yönetimi aktif önbellek GPU hafızasını serbest bırakır ve sıkı çıkış yapılandırması, GPU’larda sıkışık formatlarda olduğu kadar hızlıdır. - Fonksiyon Yürütme
Araç yürütme ajansı, CUDA-X veri bilimi kütüphaneleri olan cuDF ve cuML kullanarak GPU hızlandırmalı performans sunar ve pandas ile scikit-learn’in aynı sözdizimini korur. Bu kod değişikliği yapmadan hızlandırma, Python’un modül ön yükleme mekanizması kullanılarak sağlanır; böylece geliştiriciler mevcut CPU kodunu GPU’larda yeniden yapılandırma yapmadan çalıştırabilirler.cudf.pandashızlandırıcısı, pandas işlemlerini GPU eşdeğerleriyle değiştirirken,cuml.accelotomatik olarak scikit-learn modellerini cuML’in GPU uygulamaları ile değiştirir.
Aşağıdaki komut, hem veri işleme hem de makine öğrenimi bileşenleri için GPU hızlandırmasını etkinleştiren bir Streamlit arayüzü başlatır:
python -m cudf.pandas -m cuml.accel -m streamlit run user_interface.py
ML Ajanının Hızlandırılması, Modülerliği ve Genişletilmesi
Ajan, yeni işlev çağırmaları, deney mağazaları, LLM entegrasyonları ve diğer iyileştirmeler yoluyla kolayca genişletme için modüler bir tasarıma sahiptir. Katmanlı mimarisi, zamanla ek yeteneklerin entegrasyonuna destek verir. Paketin içinde, popüler makine öğrenimi algoritmaları, keşifsel veri analizi (EDA) ve hiperparametre optimizasyonu (HPO) desteği bulunmaktadır.
CUDA-X veri bilimi kütüphanelerini kullanarak, agent, veri işleme ve makine öğrenimi iş akışlarını uçtan uca hızlandırır. Bu GPU tabanlı hızlandırma, belirli bir işlemi bağlamında %3 ile %43 oranında performans artışları sağlamaktadır. Aşağıdaki tablo, ML işlemleri, veri işleme ve HPO dahil birçok kritik görevde sağlanan hız artışlarını göstermektedir.
| Ajan Görevi | CPU (sn) | GPU (sn) | Hız Artışı | Açıklamalar |
| Sınıflandırma ML görevi | 21,410 | 6,886 | ~3x | 1 milyon örnekle lojistik regresyon, rastgele orman sınıflandırması ve lineer destek vektör sınıflandırması ile |
| Regresyon ML görevi | 57,040 | 8,947 | ~6x | 1 milyon örnekle ridge regresyonu, rastgele orman regresyonu ve lineer destek vektör regresyonu kullanarak |
| ML algoritması için hiperparametre optimizasyonu | 18,447 | 906 | ~20x | cuBLAS hızlandırmalı matris işlemleri (QR ayrıştırması, SVD) baskın; düzenleme yolu paralel olarak hesaplanır ve kullanılır |
Nemotron Modelleri ve CUDA-X Veri Bilimi Kütüphaneleri ile Başlayın
Nemotron modelleri ve CUDA-X Veri Bilimi kütüphaneleri ile başlamaya hazır olun. Açık kaynak veri bilimi ajanı GitHub‘da ve veri kümelerinizle entegre edilmek üzere hazır. Ajanı indirip denediğiniz veri setlerini, ne kadar hız elde ettiğinizi ve yaptığınız özelleştirmeleri bizimle paylaşmanızı bekliyoruz.
Daha fazla bilgi edinin:
- Nemotron modelleri ve ajans uygulamaları
- CUDA-X Veri Bilimi kütüphaneleri: kod değişikliği olmadan cuML ve RAPIDS.ai topluluk defterleri
- Google Colab ile en son veri işleme ve ML kütüphaneleri
- Veri bilimi için DLI öğrenim yolu kendi hızında ve eğitmenli kurslarla


















