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.

code_blocks

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şlemenin en kritik hatası, test setindeki bilgiyi eğitime sızdırmaktır (data leakage). Doğru yaklaşımda fit() yalnızca eğitim seti üzerinde çalışır, transform() ise her iki sete ayrı ayrı uygulanır. scikit-learn Pipeline bu akışı otomatik yönetir; cross-validation döngülerinde bile her fold için bağımsız fit/transform garantilenir. Metin verilerinde ön işleme; tokenizasyon, stop word kaldırma, lemmatizasyon, lowercasing ve noktalama temizleme adımlarını kapsar. Görüntü verilerinde ise yeniden boyutlandırma, piksel normalleştirme ve veri artırma (data augmentation) temel adımlardır. Veri ön işleme, makine öğrenmesi projesinin en fazla zaman harcanan aşamasıdır; veri bilimcilerin yaklaşık yüzde seksenini bu süreç kapsar. Doğru veri ön işleme olmadan en güçlü algoritma bile güvenilir tahminler üretemez; model başarısının temeli veri kalitesidir.

arrow_forward
code_blocks

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.

arrow_forward
inventory_2

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.

arrow_forward
account_tree

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.

arrow_forward
code_blocks

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 deney takibi, artifact yönetimi ile görsel pipeline grafiği sunar. KServe (eski adıyla KFServing), üretim ortamında model sunma platformudur; canary deployment, A/B testi ve otomatik ölçeklendirme (autoscaling) destekler; TensorFlow Serving, TorchServe ve NVIDIA Triton ile entegre çalışır. Katib, Kubernetes üzerinde hiperparametre optimizasyonu (HPO) ve sinir ağı mimarisi araştırması (NAS) gerçekleştirir; Bayesian optimizasyon ve Hyperband algoritmaları desteklenir. Training Operators bileşeni, PyTorchJob ve TFJob aracılığıyla dağıtık model eğitimini koordine eder; çok node'lu GPU kümeleri üzerinde veri paralelliğini yönetir. Kubeflow Notebooks ise Jupyter Notebook sunucularını Kubernetes üzerinde başlatarak GPU/CPU kaynak yapılandırması 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 daha fazla zaman ve uzmanlık gerektirir. Vertex AI Pipelines (Google Cloud), SageMaker Pipelines (AWS) ve Azure ML gibi yönetilen alternatifler altyapı yükünü azaltır; ancak belirli bir bulut ekosistemiyle bağımlılık yaratır. Türkiye'de cloud-agnostic ve on-premises MLOps altyapısı kurmak isteyen büyük şirketler ile araştırma kurumları Kubeflow'u değerlendirmektedir. Kubeflow'u MLflow ile birlikte kullanmak yaygın ve etkili bir pratiktir: MLflow deney takibi ve model registry için, Kubeflow Pipelines ise iş akışı orkestrasyon ve dağıtık eğitim için tercih edilir. Bu kombinasyon, her iki platformun güçlü yönlerini bir arada değerlendirmeyi, aynı zamanda açık ve taşınabilir bir MLOps altyapısı kurmayı mümkün kılar.

arrow_forward