tag Pipeline
Bu sayfada Pipeline etiketi ile işaretlenmiş 5 yapay zeka kavramını bulabilirsiniz.
Makine öğrenimi bağlamında pipeline (boru hattı), ham veriden nihai tahmine ya da çıktıya uzanan işlem adımlarının zincirlendiği sistemdir. Her adım bir öncekinin çıktısını girdi olarak alır; veri ön işleme, özellik mühendisliği, model çıkarımı ve son işleme adımları tek bir tutarlı birim olarak kapsüllenir. Bu yapı hem tekrar kullanımı hem de dağıtım tutarlılığını artırır: geliştirme ortamında çalışan pipeline, üretimde de birebir aynı davranışı sergiler. Pipeline'ın en belirgin avantajı, karmaşık iş akışlarını yönetilebilir, test edilebilir ve bağımsız olarak güncellenebilir birimlere bölmesidir. Veri kayması (data drift) veya model bozulması durumunda sorunlu adım izole edilerek hızla müdahale edilebilir. Yeniden üretilebilirlik (reproducibility) açısından pipeline, veri ve model sürümlemesiyle birlikte MLOps'un temel taşını oluşturur. Hugging Face Transformers kütüphanesi, NLP ve bilgisayarlı görü görevleri için yüksek seviyeli pipeline arayüzleri sunar. `pipeline('sentiment-analysis')` gibi tek satırlık çağrılarla tokenizasyon, model çalıştırma ve sonuç son işleme otomatik olarak gerçekleşir. Transformers.js, aynı pipeline API'sini JavaScript'e taşıyarak tarayıcı ve Node.js ortamlarında çalıştırabilir hale getirir. MLOps platformlarında pipeline kavramı daha geniş bir anlam taşır: veri toplama, eğitim, değerlendirme, dağıtım ve izleme adımlarını kapsayan uçtan uca ML yaşam döngüsü iş akışını ifade eder. Kubeflow Pipelines, MLflow ve Apache Airflow bu tür pipeline'ları orkestre etmek için kullanılan platformlardır. CI/CD analojisiyle düşünüldüğünde ML pipeline, yazılım pipeline'ının veri ve model boyutundaki karşılığıdır. Büyük dil modeli (LLM) odaklı pipeline'lar klasik ML pipeline'larından ayrışır. Eğitim aşaması büyük ölçüde yerini RAG (Retrieval-Augmented Generation) entegrasyonuna, araç çağrısına (tool calling) ve prompt mühendisliğine bırakır. Tipik bir üretim RAG pipeline'ı şu adımları sırayla yürütür: belge parçalama → gömme oluşturma → vektör indeksleme → kullanıcı sorgusunu alma → benzerlik araması → bağlam oluşturma → LLM çıkarımı. LangChain ve LlamaIndex bu bileşenleri modüler biçimde sunar.
Data Preprocessing (Veri Ön İşleme)
Veri Ön İşleme (Data Preprocessing), ham verinin makine öğrenmesi veya derin öğrenme modelleri tarafından işlenebilecek kalitede ve formatta hale getirilmesi için uygulanan dönüşüm süreçlerinin bütünüdür. Gerçek dünya verileri çoğunlukla eksik değerler, aykırı gözlemler, tutarsız formatlar ve gürültü içerir; veri ön işleme bu sorunları gidererek modelin sağlıklı kalıplar öğrenmesini sağlar. Temel adımlar şunlardır: Eksik değer yönetimi — boş hücreler ortalama, medyan veya KNN gibi yöntemlerle doldurulur ya da silinir. Aykırı değer tespiti ve giderimi — istatistiksel sınır dışına çıkan veri noktaları belirlenir, düzeltilir veya kaldırılır. Ölçeklendirme ve normalleştirme — farklı ölçeklerdeki sayısal değişkenler (örneğin yaş ile maaş) Min-Max normalleştirme veya Z-score standartlaştırma ile ortak bir aralığa çekilir; böylece mesafe tabanlı algoritmalar (KNN, SVM) ya da gradyan inişli modeller (sinir ağları) dengeli çalışır. Kategorik kodlama — metin tabanlı kategorik değişkenler One-Hot Encoding veya Label Encoding ile sayısal formata dönüştürülür. Boyut indirgeme — gereksiz veya birbiriyle yüksek korelasyonlu özellikler PCA gibi yöntemlerle elenerek model karmaşıklığı azaltılır. Veri ön işleme, makine öğrenmesi projesinin en fazla zaman harcanan aşamasıdır; veri bilimcilerin yaklaşık yüzde sekseni bu süreçte geçer. scikit-learn'ün Pipeline ve ColumnTransformer yapıları, bu adımları tutarlı ve tekrar kullanılabilir biçimde uygulamayı kolaylaştırır. Doğru veri ön işleme olmadan en güçlü algoritma bile güvenilir tahminler üretemez; bu nedenle model başarısının temeli veri kalitesidir.
DVC (Data Version Control) (DVC — Veri Sürüm Kontrolü)
DVC (Data Version Control), büyük veri setlerini ve makine öğrenmesi model dosyalarını Git ile aynı iş akışında sürümlendirmeye olanak tanıyan açık kaynaklı bir MLOps aracıdır. Iterative tarafından 2017 yılında geliştirilen DVC, geliştiricilerin veri bilimi deneylerini tekrarlanabilir, işbirliğine açık ve izlenebilir bir şekilde yönetmesini sağlar. Git, metin tabanlı kod dosyalarını verimli biçimde sürümlendirmek için tasarlanmıştır ancak gigabayt veya terabayt büyüklüğündeki veri setleri ve model ağırlıkları için uygun değildir. DVC bu sorunu, büyük dosyaları uzak depolama sistemlerine (Amazon S3, Google Cloud Storage, Azure Blob, SSH sunucusu, SFTP veya yerel disk) yönlendirirken yalnızca hafif işaretçi dosyaları (.dvc uzantılı) Git deposuna ekleyerek çözer. Bu sayede Git deposu şişmeden tam veri ve model takibi yapılabilir. DVC'nin temel bileşeni pipeline sistemidir. Her veri işleme adımı (ham veri okuma, ön işleme, özellik çıkarımı, model eğitimi, değerlendirme) dvc.yaml dosyasında bağımlılıkları ve çıktılarıyla birlikte tanımlanır. DVC bu pipeline'ı yürütürken hangi adımların girdilerinde değişiklik olduğunu izler; değişmeyen adımlar önbellekten okunur ve yeniden çalıştırılmaz. Bu mekanizma, büyük ML projelerinde hesaplama süresini önemli ölçüde azaltır. Deney yönetimi açısından DVC Experiments, hiperparametre değişikliklerini birer Git commit gibi izler; farklı çalıştırmalar karşılaştırılabilir ve en iyi deney seçilerek ana dala birleştirilebilir. CI/CD entegrasyonu için GitHub Actions, GitLab CI ve diğer platformlarla doğrudan çalışır; bu sayede her kod değişikliğinde veriye dayalı testler otomatik tetiklenebilir. Python API'si ve komut satırı arayüzüne ek olarak DVC, VS Code eklentisi ve çeşitli IDE araçlarıyla da entegre çalışır. MLflow ile birlikte kullanıldığında deney takibi ve veri sürümleme birbirini tamamlar: MLflow metrik ve parametre kaydederken DVC hangi veri sürümüyle hangi modelin üretildiğini takip eder. Türkiye'de veri bilimi ekibi kuran kuruluşlar için DVC, hem kurulum kolaylığı hem de Git ekosistemiyle tam uyum nedeniyle tercih edilen ilk MLOps aracı olma eğilimindedir.
Feature Store (Özellik Deposu)
Özellik Deposu (Feature Store), makine öğrenmesi projelerinde özellik mühendisliği sürecini merkezi olarak yöneten, özelliklerin hesaplanmasını, saklanmasını, paylaşılmasını ve yeniden kullanılmasını sağlayan veri yönetim platformudur. Kısaca, ML modelleri için 'tek gerçek kaynak' işlevi görür. Tipik bir makine öğrenmesi iş akışında veri bilimciler zamanlarının büyük kısmını ham veriden özellik üretmeye harcar. Aynı özellikler farklı ekipler tarafından bağımsız biçimde yeniden hesaplanır, bu da hem hesaplama kaynağını israf eder hem de tutarsızlıklara yol açar. Üstelik eğitim ortamında hesaplanan özellikler ile servis (inference) ortamında hesaplanan özellikler arasında farklar oluşabilir — buna 'training-serving skew' denir ve model performansını ciddi ölçüde düşürebilir. Özellik deposu bu sorunları tek bir merkezi platform altında çözer. Modern bir özellik deposunun temel bileşenleri şunlardır: Çevrimdışı Mağaza (Offline Store), tarihsel özellik verilerini toplu işleme ve model eğitimi için saklar; bu katman genellikle bir veri ambarına (BigQuery, Snowflake) veya veri gölüne (S3, GCS) bağlanır. Çevrimiçi Mağaza (Online Store), düşük gecikmeli servis için anlık özellik değerlerini Redis, Cassandra veya DynamoDB gibi anahtar-değer depolarında tutar. Özellik Kayıt Defteri (Feature Registry), hangi özelliklerin kim tarafından tanımlandığını, nasıl hesaplandığını ve hangi modeller tarafından kullanıldığını belgeleyen katalog katmanıdır. Özellik Boru Hattı (Feature Pipeline), ham veriden özellik değerlerine ulaşan ETL/ELT süreçlerini otomatikleştirir ve özellik güncelliğini (freshness) yönetir. Özellik deposu kullanmanın temel faydaları şunlardır: Kod tekrarını önler ve hesaplama maliyetini azaltır; training-serving skew sorununu ortadan kaldırır; model yeniden üretebilirliğini (reproducibility) artırır; özellik keşfini kolaylaştırır ve veri bilimciler arasındaki iş birliğini güçlendirir. Popüler açık kaynak seçenekler arasında Feast ve Hopsworks yer alır. Bulut sağlayıcılar da bu alana girmiştir: AWS SageMaker Feature Store, Google Vertex AI Feature Store ve Databricks Feature Engineering en yaygın kullanılan yönetilen hizmetlerdir.
Pipeline (Boru Hattı)
Makine öğrenimi bağlamında pipeline (boru hattı), ham veriden nihai tahmine ya da çıktıya uzanan işlem adımlarının zincirlendiği sistemdir. Her adım bir öncekinin çıktısını girdi olarak alır; veri ön işleme, özellik mühendisliği, model çıkarımı ve son işleme adımları tek bir tutarlı birim olarak kapsüllenir. Bu yapı hem tekrar kullanımı hem de dağıtım tutarlılığını artırır: geliştirme ortamında çalışan pipeline, üretimde de birebir aynı davranışı sergiler. Pipeline'ın en belirgin avantajı, karmaşık iş akışlarını yönetilebilir, test edilebilir ve bağımsız olarak güncellenebilir birimlere bölmesidir. Veri kayması (data drift) veya model bozulması durumunda sorunlu adım izole edilerek hızla müdahale edilebilir. Yeniden üretilebilirlik (reproducibility) açısından pipeline, veri ve model sürümlemesiyle birlikte MLOps'un temel taşını oluşturur. Hugging Face Transformers kütüphanesi, NLP ve bilgisayarlı görü görevleri için yüksek seviyeli pipeline arayüzleri sunar. `pipeline('sentiment-analysis')` gibi tek satırlık çağrılarla tokenizasyon, model çalıştırma ve sonuç son işleme otomatik olarak gerçekleşir. Transformers.js, aynı pipeline API'sini JavaScript'e taşıyarak tarayıcı ve Node.js ortamlarında çalıştırabilir hale getirir. MLOps platformlarında pipeline kavramı daha geniş bir anlam taşır: veri toplama, eğitim, değerlendirme, dağıtım ve izleme adımlarını kapsayan uçtan uca ML yaşam döngüsü iş akışını ifade eder. Kubeflow Pipelines, MLflow ve Apache Airflow bu tür pipeline'ları orkestre etmek için kullanılan platformlardır. CI/CD analojisiyle düşünüldüğünde ML pipeline, yazılım pipeline'ının veri ve model boyutundaki karşılığıdır. Büyük dil modeli (LLM) odaklı pipeline'lar klasik ML pipeline'larından ayrışır. Eğitim aşaması büyük ölçüde yerini RAG (Retrieval-Augmented Generation) entegrasyonuna, araç çağrısına (tool calling) ve prompt mühendisliğine bırakır. Tipik bir üretim RAG pipeline'ı şu adımları sırayla yürütür: belge parçalama → gömme oluşturma → vektör indeksleme → kullanıcı sorgusunu alma → benzerlik araması → bağlam oluşturma → LLM çıkarımı. LangChain ve LlamaIndex bu bileşenleri modüler biçimde sunar.
Kubeflow (Kubeflow)
Kubeflow, Google'ın Kubernetes altyapısı üzerine inşa ettiği açık kaynak makine öğrenimi platform paketidir. 2018'de Google'ın kendi iç ML iş akışlarını kamuya açması sonucu ortaya çıkan Kubeflow, veri bilimcilerin ve ML mühendislerinin model deneme ve geliştirme süreçlerini Kubernetes orkestrasyon katmanında standartlaştırmasını ve üretime taşımasını hedefler. Kubeflow'un beş temel bileşeni vardır. Kubeflow Pipelines (KFP), Python SDK ile tanımlanan DAG (Yönlü Asiklik Çizge) tabanlı ML iş akışlarıdır; her adım izole Docker container içinde çalışır ve yeniden kullanılabilir komponent kütüphanesi sunar. Deney takibi (lineage), artifact yönetimi ve görsel pipeline grafiği de bu bileşene dahildir. KServe (eski adıyla KFServing), üretim ortamında model sunma (inference) platformudur; canary deployment, A/B testi, model versiyonlama ve otomatik ölçeklendirme (autoscaling) destekler; TensorFlow Serving, TorchServe ve NVIDIA Triton gibi backend'lerle entegre çalışır. Katib, Kubernetes üzerinde hiperparametre optimizasyonu (HPO) ve sinir ağı mimarisi araştırması (NAS) gerçekleştirir; Bayesian optimizasyon, CMA-ES ve Hyperband algoritmaları desteklenir. Training Operators bileşeni, PyTorchJob, TFJob ve MPI Operator aracılığıyla dağıtık model eğitimini yönetir; çok node'lu GPU kümeleri üzerinde veri paralelliğini koordine eder. Kubeflow Notebooks ise Jupyter Notebook sunucularını Kubernetes üzerinde başlatarak GPU/CPU kaynak yapılandırması ve çalışma ortamı seçimi sunar. MLOps olgunluk seviyesi yüksek ve Kubernetes altyapısı olan kuruluşlar için güçlü bir seçenek olan Kubeflow, öğrenme eğrisi yoğun bir araçtır: Kubernetes bilgisi zorunludur ve kurulum karmaşıklığı MLflow veya ZenML'e kıyasla yüksektir. Vertex AI Pipelines (Google Cloud), SageMaker Pipelines (AWS) ve Azure ML gibi yönetilen alternatifler altyapı yükünü azaltır. Türkiye'de cloud-agnostic ve on-premises MLOps altyapısı kurmak isteyen büyük şirketler ve araştırma kurumları Kubeflow'u değerlendirmektedir; Kubernetes yetkinliğinin ekipte bulunması ön koşuldur.