SON DAKİKA

Nvdia

“Makine Öğrenimi Görevlerini Hızlandıran Etkileşimli AI Ajanı Oluşturma”

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.

An image showing the Data Science Agent consisting of six layers: User Interface, Agent Orchestrator, LLM Layer, Memory Layer, Temporary Data Storage, and Tool Layer.
Şekil 1. Veri Bilimi Ajanı’nın mimari diyagramı

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.

Figure 2 illustrates this flow for the query to "optimize SVC with 50 trials". The input is first paraphrased into a clarified intent, improving LLM accuracy, then converted into a structured function call and executed with GPU tools gpu_tools.optimize_svc(X_train, y_train, preprocessor, 50).
Şekil 2. “50 denemede SVC optimize et” örnek sorgusu için organize olma akışı

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.py ve llm.py betiklerine GitHub’dan bakabilirsiniz.

A diagram showing four sequential steps: Step 1 - User request with tool specifications. Step 2 - LLM generates a structured tool call. Step 3 - Agent parses and executes the tool. Step 4 - Tool results appended to conversation.
Şekil 3. Fonksiyon çağırma 4 adımda

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:

  1. 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.
  2. Hafıza Yönetimi
    Büyük veri setlerini yönetmek için hafıza optimizasyon stratejileri kullanılır. Float32 dö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.
  3. 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.pandas hızlandırıcısı, pandas işlemlerini GPU eşdeğerleriyle değiştirirken, cuml.accel otomatik 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
Tablo 1: Ajan tarafından CUDA-X Veri Bilimi kütüphanesinin kullanımı ile sağlanan uçtan uca hızlandırma

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:

Kaynak

Nvdia Blog

Düşüncenizi Paylaşın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgili Teknoloji Haberleri