Pipeline (Boru Hattı)

Veri ön işlemeden model dağıtımına uzanan ML iş akışı adımlarını zincirleyerek otomatikleştiren yapı.

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.

Pipeline Türleri

smart_toy Çıkarım Pipeline

Ön işleme + model + son işleme. Hugging Face pipeline() API'si bu yapıyı soyutlar. Tokenizasyon ve softmax otomatik uygulanır.

model_training Eğitim Pipeline

Veri yükleme, artırma, ileri geçiş, kayıp hesaplama, geri yayılım ve ağırlık güncelleme adımları. PyTorch Lightning ve HF Trainer standartlaştırır.

schema MLOps Pipeline

Veri toplama → hazırlık → eğitim → değerlendirme → dağıtım → izleme döngüsü. Kubeflow, MLflow ve SageMaker Pipelines bu akışı yönetir.

search RAG Pipeline

Sorgu → embedding → vektör arama → bağlam oluşturma → LLM üretimi adımları. LangChain, LlamaIndex ve özel boru hatları bu akışı kapsüller.

code Transformers.js Pipeline Kullanımı

Transformers.js pipeline API'si Hugging Face Python arayüzünü JavaScript'e taşır: `const pipe = await pipeline('text-classification')` ile hızlıca başlanabilir. Desteklenen görevler: duygu analizi (sentiment-analysis), soru yanıtlama (question-answering), metin üretimi (text-generation), nesne tespiti (object-detection), ses tanıma (automatic-speech-recognition) ve daha fazlası. Modeller ONNX Runtime Web üzerinde çalışır; tarayıcıda ilk çalıştırmada model ağırlıkları önbelleğe alınır.

AI/ML Pipeline'ının Temel Aşamaları

  • check_circle Veri Toplama ve Depolama: Ham verinin çeşitli kaynaklardan (API, veritabanı, dosya sistemi) toplanması ve yapılandırılmış biçimde depolanması. Veri kalitesi pipeline'ın nihai çıktısını doğrudan belirler.
  • check_circle Veri Ön İşleme: Eksik değerlerin doldurulması, aykırı değerlerin tespiti, normalleştirme ve kategorik kodlama adımları. Modelin öğreneceği sinyalin gürültüden arındırılmasını sağlar.
  • check_circle Özellik Mühendisliği (Feature Engineering): Ham veriden model için anlamlı özelliklerin türetilmesi. Klasik ML'de kritik; derin öğrenmede kısmen model tarafından öğrenilir ama hâlâ önemli.
  • check_circle Model Eğitimi: Seçilen algoritmanın temizlenmiş veri üzerinde optimize edilmesi. Hiperparametre seçimi, çapraz doğrulama ve erken durdurma bu aşamada yönetilir.
  • check_circle Değerlendirme ve Doğrulama: Modelin test kümesi üzerinde performans metriklerinin hesaplanması. Precision, recall, F1, AUC-ROC gibi görev bazlı metrikler raporlanır.
  • check_circle Model Dağıtımı (Deployment): Eğitilmiş modelin üretim ortamına taşınması: REST API, batch işleme veya uç cihaz çıkarımı şeklinde. CI/CD entegrasyonu ve sürüm yönetimi bu aşamada önem kazanır.
  • check_circle İzleme ve Yeniden Eğitim: Üretimde model performansının ve veri kaymasının (data drift) izlenmesi. Performans düşünce otomatik tetiklenen yeniden eğitim döngüsü MLOps pratiğinin özüdür.

LLM Pipeline'larının Klasik ML Pipeline'larından Farkı

Geleneksel makine öğrenimi pipeline'ları veri işleme, özellik üretimi, model eğitimi ve değerlendirme aşamalarını sıralı biçimde yürütür. Büyük dil modeli (LLM) odaklı modern pipeline'lar bu yapıyı köklü biçimde değiştirmiştir. LLM pipeline'larında eğitim aşaması çoğu zaman devre dışı bırakılır; bunun yerine prompt mühendisliği, RAG entegrasyonu ve araç çağrısı (tool calling) ön plana çıkar. Örnek bir üretim LLM pipeline'ı şu bileşenlerden oluşabilir: belge yükleme ve parçalama → gömme oluşturma → vektör veritabanına indeksleme → kullanıcı sorgusu alma → benzerlik araması → bağlam oluşturma → LLM çıkarımı → yanıt son işleme. Apache Airflow, Prefect ve Dagster gibi iş akışı orkestrasyon araçları batch pipeline'larını yönetmek için yaygın kullanılır. LangChain, LlamaIndex ve Haystack ise LLM spesifik pipeline bileşenlerini modüler biçimde sunar. MLOps perspektifinden: pipeline'ı yeniden üretilebilir (reproducible) kılmak veri ve model sürümlemesiyle sağlanır; MLflow ve DVC bu amaçla yaygın kullanılan açık kaynak araçlardır.

quiz Sık Sorulan Sorular

  • check_circle Pipeline içindeki adımlar paralel çalıştırılabilir mi?: Bağımsız adımlar paralel yürütülebilir (veri parallelism, model parallelism). Ancak zincirleme bağımlılık olan adımlar sıralı çalışmalıdır.
  • check_circle Özel model ile Hugging Face pipeline kullanılabilir mi?: Evet. pipeline() fonksiyonuna model parametresi olarak Hub model ID'si veya yerel model yolu verilebilir. AutoModel ile yüklenen modeller uyumludur.
  • check_circle Pipeline nedir?: Veri işleme veya model geliştirme sürecindeki birbirine bağlı adımların otomatik biçimde sıralandığı iş akışıdır. AI/ML bağlamında veri toplamadan model dağıtımına kadar tüm aşamaları kapsar.
  • check_circle ML pipeline ile LLM pipeline arasındaki fark nedir?: ML pipeline özellik mühendisliği ve model eğitimine odaklanır. LLM pipeline ise prompt tasarımı, RAG entegrasyonu, araç çağrısı ve çıkarım optimizasyonunu merkeze alır; yeniden eğitim genellikle opsiyoneldir.
  • check_circle Pipeline orkestrasyonu için hangi araçlar kullanılır?: Batch işlemler için Apache Airflow, Prefect ve Dagster popüler seçeneklerdir. LLM pipeline'ları için LangChain, LlamaIndex ve Haystack modüler bileşenler sunar. MLflow veri ve model sürümlemesini yönetir.
  • check_circle Pipeline'da veri kayması (data drift) nasıl izlenir?: Üretimdeki giriş verisi dağılımı eğitim verisiyle sürekli karşılaştırılır. Evidently AI ve WhyLogs gibi araçlar istatistiksel testlerle kayma tespit eder; eşik aşıldığında yeniden eğitim tetiklenir.