Ana içeriğe atla

Prefect ile ML İş Akışı Orkestrasyonu

Güçlü ve açık kaynak bir iş akışı orkestrasyon aracı hakkında her şeyi öğrenin. Bu basit rehberle ilk makine öğrenimi iş akışınızı yerelde ve bulutta oluşturun, dağıtın ve çalıştırın.
Güncel 3 Eki 2026

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Bu eğitimde, Prefect’i temel özellikleri, faydaları ve bileşenlerini inceleyerek ele alacağız. Görevler ve akışlar nasıl oluşturulur, dağıtımlar nasıl yönetilir ve akış çalıştırmaları nasıl yürütülür konularına bakacağız. Son olarak, iş akışınızı Prefect Cloud’a dağıtma ve bulut altyapısını kullanarak çalıştırma sürecinde size rehberlik edeceğiz.

GitHub Actions ve Data Version Control kullanarak makine öğrenimi boru hatlarını nasıl otomatikleştireceğinizle ilgileniyorsanız, Makine Öğrenimi için CI/CD kursumuzu inceleyin.

Prefect nedir?

Prefect, kullanıcıların Python kodu ile veri ve makine öğrenimi boru hatlarını tasarlamasını, izlemesini ve bu boru hatlarına yanıt vermesini sağlayan güçlü ve açık kaynaklı bir iş akışı orkestrasyon aracıdır.

Prefect; otomatik yeniden denemeler, zamanlama ve önbellekleme gibi birçok özellikle birlikte gelir. Sonuçta dayanıklı ve dinamik iş akışları kurmanıza olanak tanıyan güçlü bir araçtır.

Prefect Cloud Gösterge Paneli.

Görsel Kaynak

Prefect ile, kodunuza birkaç dekoratör ekleyerek herhangi bir Python fonksiyonunu kolayca gözlemlenebilir ve orkestre edilebilir bir iş birimine dönüştürebilirsiniz.

Prefect, kuruluş genelinde iş akışı geliştirme ve dağıtımını standartlaştırmak için idealdir. İş akışlarına tam gözlemlenebilirlik sağlar ve kullanıcıların katı DAG’lere veya şablon koda ihtiyaç duymadan kodlarını yönetmelerine olanak tanır.

Prefect’in Temel Özellikleri

Hafif

Tek bir komutla kullanıcılar, geliştirme amaçları için kendi orkestrasyon sunucularını zahmetsizce kurabilir. Bu sadeleştirilmiş süreç yerel geliştirmeyi basitleştirir ve üretim ortamlarına sorunsuz dağıtım sağlar.

Sezgisel Arayüz ve Gösterge Paneli

Prefect, genel olarak sezgisel bir kullanıcı arayüzü sunarak iş akışlarını çalıştırma, izleme, hata ayıklama ve yönetme süreçlerini görsel ve kullanıcı dostu bir şekilde iyileştirir.

Tam Donanımlı

Prefect; zamanlama, yeniden denemeler, yerel gizli anahtar yönetimi, ölçekleme yetenekleri, eşzamanlılık kontrolü, esnek altyapı ve depolama yapılandırma seçenekleri ile sağlam günlük kaydı işlevi gibi özellikler sunar.

Açık Kaynak Esnekliği

Kullanıcılar, açık kaynak Prefect sunucusunu kendileri barındırma özgürlüğüne sahiptir veya Prefect Cloud’u kullanarak gelişmiş özelliklerden, yüksek erişilebilirlikten ve artırılmış güvenlikten yararlanabilir.

Prefect Cloud

Prefect Cloud, açık kaynak Prefect sunucusunun tüm yeteneklerine ek olarak otomasyonlar, olay akışları, etkinlikler, web kancaları, çalışma alanları, organizasyonlar ve daha fazlası gibi barındırılan bir ortam için uyarlanmış ek özellikler sunar. Prefect Cloud’u ücretsiz kullanabilir veya daha güçlü özellikler için ücretli sürüme geçebilirsiniz.

Tamamen Python

Prefect, kullanıcıların tek bir dekoratörle iş akışı orkestrasyonunu başlatmasına olanak tanıyarak gereksiz soyutlamalar olmadan süreci sadeleştirir ve verimli iş akışı yönetimi sağlar.

Bildirim

Prefect iş akışları ve boru hatları hakkında bilgileri Slack, Discord, e‑posta, Microsoft Teams ve daha birçok mesajlaşma servisine gönderin. Bu mekanizma, iş akışı başarısız olursa sizi uyarabilir.

Prefect’in Çekirdek Bileşenleri

Bu bölümde, görevler ve akışlar oluşturmak, bunları dağıtmak ve çalıştırmak ile yönetmek için kullanılan temel bileşenleri ele alacağız. Python eğitimine dalmadan önce bu bileşenleri gözden geçirmek kritik öneme sahiptir.

Prefect Task

Prefect Task, @task dekoratörü ile işaretlenmiş ve Prefect iş akışı içinde ayrık iş birimlerini temsil eden bir Python fonksiyonudur. Görev dekoratörünü ad, açıklama, etiketler, önbellek ayarları, yeniden denemeler ve daha fazlası gibi isteğe bağlı argümanlarla özelleştirebiliriz.

Aşağıdaki kodda, akışlar arasında yeniden kullanılabilecek şekilde @task dekoratörü ile oluşturulmuş üç makine öğrenimi görevi bulunmaktadır.

@task
def train_model(X_train, X_test, y_train):
    # Selecting the best features
    ...

    # Train the model
    ...

    return model


@task
def get_prediction(X_test, model: LogisticRegression):
    ...
	return prediction

@task
def evaluate_model(y_test, prediction: pd.DataFrame):
    ...

Prefect Flow

Prefect Flow, iş akışı mantığını kapsülleyen @flow dekoratörü ile işaretlenmiş bir Python fonksiyonudur. Bu sayede kullanıcılar, karmaşık veri boru hatlarını esneklik ve kolaylıkla tanımlayıp yapılandırabilir ve çalıştırabilir.

Aşağıdaki kodda, @flow dekoratörü kullanılarak bir Akış oluşturduk. Akış, bir görevden diğerine girdi alarak tüm görevleri sıralı olarak çalıştıracaktır.

@flow
def ml_workflow():
    model = train_model(X_train, X_test, y_train)
    predictions = get_prediction(X_test, model)
    evaluate_model(y_test, predictions)

if __name__ == "__main__":
    ml_workflow()

Prefect Deployments

Dağıtımlar, yerel sunucuda veya bulutta saklanan akışlardır ve iş akışınızı uzaktan orkestre etmek için zamanlama ve yürütme ayrıntıları gibi önemli bilgileri içerir.

Prefect Work Pools

Work pool’lar, orkestrasyon ve yürütme ortamları arasında bir aracı görevi görerek akış çalıştırmalarının verimli şekilde zamanlanmasını ve yürütülmesini sağlar. Kullanıcılar, iş akışlarını yerelde çalıştırmak için Aracılarını (worker) kurabilir veya sorunsuz yürütme için bulut altyapısından yararlanabilir.

Adanmış bir hesaplama örneğine benzer şekilde Work pool’lar, iş dağıtımını verimli şekilde yönetir ve görevlere öncelik verir; böylece en uygun yürütme ortamını seçme esnekliği sunarak iş akışı performansı ve ölçeklenebilirliği sağlar.

ML İş Akışının Orkestrasyonu

Bu bölümde, Prefect kullanarak basit bir makine öğrenimi iş akışını oluşturacak, test edecek, dağıtacak ve çalıştıracağız. Ayrıca, akış çalıştırmalarının durumunu Discord sunucumuzda bildirim olarak almak için bildirimleri ayarlayacağız.

Prefect’i Kurma

Python paketini PIP ile kurun

pip install -U prefect

Prefect’in en son sürümünü kullanmak isterseniz, kodu doğrudan GitHub’dan alabilirsiniz.

pip install -U git+https://github.com/PrefectHQ/prefect

Bir Prefect Flow Oluşturma

Kaggle’daki Bank Churn veri setini ön işlemeden geçirip, ardından scikit-learn ile Random Forest Classifiers modelini eğitip değerlendireceğiz.

Kullanacağımız kod, Scikit-learn Pipelines ile Makine Öğrenimi İş Akışınızı Kolaylaştırın başlıklı yazıdan uyarlanmıştır. Modelin nasıl eğitildiği hakkında daha fazla bilgi edinmek isterseniz o eğitime göz atın. Makine öğrenimi Prefect Flow’umuz yedi görevden oluşur:

  1. load_data: pandas kullanarak CSV dosyasını yükleme ve işleme
  2. preprocessing: veriyi eğitime hazırlama, eksik değerleri doldurma, kodlama ve ölçekleme
  3. data_split: veriyi test ve eğitim kümelerine ayırma
  4. train_model: en iyi özellikleri seçme ve modeli eğitme
  5. get_prediction: test kümesini kullanarak tahmin üretme
  6. evaluate_model: doğruluk ve f1 skorunu hesaplama
  7. save_model: modeli skops kullanarak kaydetme

Gerekli tüm görevleri @flow dekoratörü ile ml_workflow adlı bir fonksiyonda birleştirdik. Ayrıca ayrıntılı günlük kaydını etkinleştirmek için dekoratöre ek argümanlar ekledik.

ml_workflow fonksiyonu girdi olarak veri dosyasının konumunu alır ve ardından çeşitli görevleri bir zincir halinde bağlar. Bu iş akışını Prefect sunucusunda dağıtıp çalıştırdığımızda daha iyi görselleştirebileceğiz.

Makine öğrenimi deneylerimizi MLflow kullanarak da takip edebilirsiniz. MLflow takibi, projeler, modeller ve model kayıt defteri hakkında bilgi edinmek için MLflow’a Giriş kursunu alın.

import pandas as pd
import skops.io as sio
from prefect import flow, task
from sklearn.feature_selection import SelectKBest, chi2
from sklearn.impute import SimpleImputer
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, f1_score
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler, OrdinalEncoder


@task
def load_data(filename: str):
    bank_df = pd.read_csv(filename, index_col="id", nrows=1000)
    bank_df = bank_df.drop(["CustomerId", "Surname"], axis=1)
    bank_df = bank_df.sample(frac=1)
    return bank_df


@task
def preprocessing(bank_df: pd.DataFrame):
    cat_col = [1, 2]
    num_col = [0, 3, 4, 5, 6, 7, 8, 9]

    # Filling missing categorical values
    cat_impute = SimpleImputer(strategy="most_frequent")
    bank_df.iloc[:, cat_col] = cat_impute.fit_transform(bank_df.iloc[:, cat_col])

    # Filling missing numerical values
    num_impute = SimpleImputer(strategy="median")
    bank_df.iloc[:, num_col] = num_impute.fit_transform(bank_df.iloc[:, num_col])

    # Encode categorical features as an integer array.
    cat_encode = OrdinalEncoder()
    bank_df.iloc[:, cat_col] = cat_encode.fit_transform(bank_df.iloc[:, cat_col])

    # Scaling numerical values.
    scaler = MinMaxScaler()
    bank_df.iloc[:, num_col] = scaler.fit_transform(bank_df.iloc[:, num_col])
    return bank_df


@task
def data_split(bank_df: pd.DataFrame):
    # Splitting data into training and testing sets
    X = bank_df.drop(["Exited"], axis=1)
    y = bank_df.Exited

    X_train, X_test, y_train, y_test = train_test_split(
        X, y, test_size=0.3, random_state=125
    )
    return X_train, X_test, y_train, y_test
    # Identify numerical and categorical columns


@task
def train_model(X_train, X_test, y_train):
    # Selecting the best features
    KBest = SelectKBest(chi2, k="all")
    X_train = KBest.fit_transform(X_train, y_train)
    X_test = KBest.transform(X_test)

    # Train the model
    model = LogisticRegression(max_iter=1000, random_state=125)
    model.fit(X_train, y_train)

    return model


@task
def get_prediction(X_test, model: LogisticRegression):
    return model.predict(X_test)


@task
def evaluate_model(y_test, prediction: pd.DataFrame):
    accuracy = accuracy_score(y_test, prediction)
    f1 = f1_score(y_test, prediction, average="macro")

    print("Accuracy:", str(round(accuracy, 2) * 100) + "%", "F1:", round(f1, 2))


@task
def save_model(model: LogisticRegression):
    sio.dump(model, "bank_model.skops")


@flow(log_prints=True)
def ml_workflow(filename: str = "train.csv"):
    data = load_data(filename)
    prep_data = preprocessing(data)
    X_train, X_test, y_train, y_test = data_split(prep_data)
    model = train_model(X_train, X_test, y_train)
    predictions = get_prediction(X_test, model)
    evaluate_model(y_test, predictions)
    save_model(model)


if __name__ == "__main__":
    ml_workflow()

Prefect Flow’umuzu test etmek için Python dosyasını terminalden çalıştırın.

$ python main.py

Akış başarıyla tamamlandı. Model metriklerini görüntüledi ve model ağırlıklarını kaydetti.

Prefect kullanarak ML iş akışını çalıştırma

Makine öğrenimine yeniyseniz ve verinizi nasıl ön işlemeden geçireceğinizi, modelinizi nasıl eğitip optimize edeceğinizi, nasıl değerlendireceğinizi ve nasıl kaydedeceğinizi öğrenmek istiyorsanız, Python ile Machine Learning Scientist kariyer yolunu değerlendirin. Bu program, en baştan bilmeniz gereken her şeyi öğretecektir.

Akışı Dağıtma

Bir makine öğrenimi boru hattını elle kurup çalıştırmak, scikit-learn boru hatlarıyla bile yapılabilecek basit bir iştir.

Ancak Prefect kullanmanın birden fazla faydası vardır. Bunlar arasında şunlar bulunur:

  • boru hattını izleme olanağı,
  • CRON ile zamanlama,
  • başarısızlık durumunda otomatik yeniden deneme,
  • günlük kaydı ve gözlemlenebilirliği etkinleştirme,
  • bildirim alma,
  • ve insan müdahalesi olmadan çalışabilen otomatik iş akışları oluşturma.

Şimdi, iş akışımızı yerel Prefect sunucusuna dağıtarak otomatikleştirmeyi öğreneceğiz.

Önce dosya ve akış fonksiyonu adlarını vererek bir “Deployment” oluşturmamız gerekir. Dağıtımımıza ayrıca “dev” etiketini ekliyoruz.

Not: Prefect’te etiketler, Prefect ekosistemindeki akışları, görevleri ve dağıtımları kategorize etmek ve düzenlemek için kullanılabilir.

$ prefect deployment build main.py:ml_workflow -n 'ml_workflow_bank_churn' -a --tag dev

Dağıtım başarıyla oluşturuldu. Şimdi, akışı Prefect Agent kullanarak nasıl çalıştıracağımıza dair talimatlar veriyor.

Found flow 'ml-workflow'
Deployment YAML created at 
'C:\Repository\GitHub\ML-Workflow-Orchestration-With-Prefect\ml_workflow-deployment.yaml'.
Deployment storage None does not have upload capabilities; no files uploaded.  Pass --skip-upload to 
suppress this warning.
Deployment 'ml-workflow/ml_workflow_bank_churn' successfully created with id 
'ce30d1c7-f454-4064-870c-429a8039c194'.

To execute flow runs from this deployment, start an agent that pulls work from the
'default-agent-pool' work pool:
$ prefect agent start -p 'default-agent-pool'

Dağıtımı Yerelde Çalıştırma

Prefect ajanları, mevcut akış çalıştırmalarını belirlemek ve bunları yürütme ortamına dağıtmak için work pool’ları izlemekten sorumludur.

Tek bir work pool içinde, çakışmayı önlemek ve sorunsuz ölçeklendirme sağlamak için her biri benzersiz kimliğe sahip birden fazla ajan bulunabilir.

Şimdi, varsayılan work pool adıyla yeni bir terminalde Prefect ajanlarını başlatacağız.

$ prefect agent start -p 'default-agent-pool'

Prefect Agent Çalıştırma

Yeni bir terminale gidin ve “akış_fonksiyonu/dağıtım adı” vererek dağıtımı çalıştırın. Akışı çalıştırmak için yalnızca dağıtım adını da kullanabilirsiniz.

$ prefect deployment run 'ml-workflow/ml_workflow_bank_churn'

Dağıtım için bir akış çalıştırması oluşturuldu; bu çalıştırma işçiler olup olmadığını kontrol edecek ve iş akışını başlatacaktır.

Creating flow run for deployment 'ml-workflow/ml_workflow_bank_churn'...
Created flow run 'cryptic-potoo'.
└── UUID: 77833ee3-0f7e-42f9-8002-0a562c7d3ed4
└── Parameters: {}
└── Scheduled start time: 2024-03-14 21:30:40 PKT (now)
└── URL: <no dashboard available>

Akış çalıştırmamıza ait günlükleri görmek için ajanı başlattığımız terminale geçin. Prefect ajanı, akıştaki tüm görevleri başarıyla yürüttü.

Bu basit bir örnektir. Dağıtım oluşturmaya ek argümanlar vererek iş akışını zamanlayabilir veya otomatikleştirebiliriz.

Prefect Arayüzü

Şu ana kadar iş akışımızı terminallerde gözlemledik. Şimdi, tüm akış çalıştırmalarını, dağıtımları, work pool’u ve bildirimleri görebileceğimiz bir Prefect gösterge paneli başlatalım.

Yeni bir terminalde Prefect sunucusunu başlatın ve panele erişmek için verilen yerel bağlantıya tıklayın.

$ prefect server start

Prefect sunucusunu başlatma

Önceki tüm çalıştırmaları görmek için sol paneldeki "Flow" seçeneğine tıklayın. Bazı akışların, work pool eksikliği nedeniyle çalıştırılmadığını; diğerlerinin ise deneme aşamasında "dev" etiketi olmadan yürütüldüğünü fark edebilirsiniz.

Prefect Gösterge Paneli: Akış Çalıştırmaları

Flows seçeneğine tıklamak mevcut tüm akışları gösterir. Tek bir dağıtım içinde birden fazla akış bulunabilir.

Prefect Gösterge Paneli: Akışlar

Dağıtım bölümünde, mevcut Dağıtımımızı etkinliği ve etiketleriyle birlikte görebiliriz. Bu bölümde, hızlı çalıştırma seçeneğini kullanarak akışı kolayca başlatabilir veya kullanıcı arayüzü üzerinden zamanlayabilirsiniz.

Prefect Gösterge Paneli: Dağıtımlar

Work Pools kısmında, varsayılan Prefect Agent’ımızı göreceksiniz. Prefect CLI’ı kullanarak bir bulut work pool da kurabilirsiniz.

Prefect Gösterge Paneli: Workpool’lar

Discord Bildirimi Ekleme

Şimdi ilginç kısma başlayalım.

Kimse iş akışını 7/24 izlemek istemez. Bunun yerine, tercih ettiğimiz mesajlaşma uygulamasında iş akışının durumu hakkında bildirim almak isteriz. Böylece sorunları hızlıca çözebiliriz.

Bunu başarmak için bir Discord webhook’u oluşturacağız. Webhook kimliği ve belirtecini kullanarak Prefect bildirimi ayarlayacağız. Bu, tüm günlük bilgilerini Discord sunucusuna gönderecek.

Webhook oluşturmak için Discord sunucu ayarlarınıza gidin, "Integrations"a tıklayın ve "View Webhooks"u seçin. Ardından "New Webhook"a tıklayın.

Prefect Gösterge Paneli: Entegrasyonlar

Görüntüyü, adı ve kanalı değiştirin. Ardından Webhook URL’sini kopyalayın.

Discord Webhook Oluşturma

Webhook URL’si iki bölümden oluşur: Webhook kimliği ve Webhook belirteci: https://discord.com/api/webhooks/<webhook_id>/<webhook_token>. Bir Prefect bildirimi oluşturmak için bağlantıdan bu iki kısmı elle ayırmamız gerekir.

Prefect arayüzünde Discord bildirimi oluşturmak için "Notifications" seçeneğine gidin ve üstteki "+" düğmesine tıklayın. Ardından istenen çalıştırma durumlarını, etiketleri, Discord webhook’unu ve bildirim türünü seçin.

Sonrasında Webhook ID ve Webhook token bilgisini girin ve mavi "Create" düğmesine tıklayın.

Prefect Bildirimi Oluşturma

Discord sunucumuzun ana kanalında bildirimleri görmek için dağıtımı çalıştırmamız gerekir.

$ prefect deployment run 'ml-workflow/ml_workflow_bank_churn'

Harika. Aynı yöntemi kullanarak Microsoft Teams, Slack, SMS ve e‑posta gibi çeşitli mesajlaşma servislerini de kurabilir, hatta kendi özel webhook’umuzu oluşturabiliriz.

Discord Prefect Bot tüm günlükleri gösteriyor

Zamana dayanacak boru hatları oluşturmayı öğrenmek için Python’da Makine Öğrenimi İş Akışları Tasarlama kursunu alın.

Dağıtımı Bulutta Çalıştırma

Makine öğrenimi akışımızı yerelde dağıttıktan sonra, şimdi Prefect Cloud’a dağıtma zamanı. Bu süreç yerel dağıtımlardan çok daha kolaydır; çünkü herhangi bir sunucu veya ajan başlatmanız ya da CLI aracıyla çalıştırma yapmanız gerekmez. Her şey Prefect tarafından yönetilir.

Kodu GitHub Deposuna Göndermek

Mevcut akışı dağıtmadan önce, bulutta erişilemeyen yerel bir dizinden dosya ve verilere erişmeye çalışacağı için hata vereceğini not etmek önemlidir. Bu dosyaları Prefect Cloud’a erişilebilir kılmak için kodumuzu herkese açık bir GitHub deposuna oluşturup göndermeliyiz.

Bu işlem GitHub web sitesi üzerinden kolayca yapılabilir veya VSCode Git uzantısı kullanılarak uzak depo oluşturulup arayüz üzerinden kod gönderilebilir.

Prefect Çalışma Alanı için VSCode.

Bulut dağıtımları için kullanacağımız proje deposu: kingabzpro/ML-Workflow-Orchestration-With-Prefect

Prefect Cloud’u Kurma

https://app.prefect.cloud/auth/login adresine giderek Prefect Cloud hesabınızı oluşturun ve ardından Prefect CLI aracıyla oturum açın.

$ prefect cloud login

Basitçe "Web tarayıcısı ile giriş yap" seçeneğini tercih edin ve yerel istemciyi Prefect Cloud ile kimlik doğrulamak için adımları izleyin.

Prefect Cloud’a giriş yapma

Yerelde çalışan ajanımızı kullanmak yerine, Prefect Cloud altyapısından tam olarak yararlanmak için Prefect tarafından yönetilen bir work pool oluşturacağız.

$ prefect work-pool create DC-work-pool --type prefect:managed

Ücretsiz bir hesap için Prefect, denemeleriniz ve keşifleriniz için ayda 10 ücretsiz bilgisayar saati sunar.

Python Kodunun Dağıtımı

Şimdi akışımızı programatik olarak Prefect Cloud’a dağıtacağız.

deployment.py adında yeni bir dosya oluşturun.

Prefect akış fonksiyonu için argümanları ayarlayın:

  • source: akış dosyasını içeren GitHub deposunun bağlantısı.
  • entrypoint: dosya adı ve akış fonksiyonu adı.
  • work_pool_name: Prefect yönetimli work pool adını belirtin.
  • tags: kategorize etmek için.
  • job_variables: kodu çalıştırmak için gerekli Python paketlerini kurmak üzere. Eğer Perfect ajanımız gibi hibrit bir work pool kullanıyorsanız job_variables sağlamanıza gerek yoktur.
from prefect import flow

if __name__ == "__main__":
    flow.from_source(
        source="https://github.com/kingabzpro/ML-Workflow-Orchestration-With-Prefect.git",
        entrypoint="main.py:ml_workflow",
    ).deploy(
        name="first-prefect-deployment",
        work_pool_name="DC-work-pool",
        tags=["dev"],
        job_variables={"pip_packages": ["pandas", "skops", "scikit-learn"]},
    )

Python kodunu çalıştırın.

$ python deployment.py

Akış Prefect Cloud’a dağıtıldı. CLI veya Prefect Cloud gösterge paneli üzerinden çalıştırılabilir.

Buluta Prefect Dağıtımı.

Akışı Bulutta Çalıştırma

Akışı çalıştırmak için https://app.prefect.cloud/ adresine gitmemiz gerekir. Ardından “Deployments” bölümüne gidin, dağıtımınızın üzerindeki dikey üç nokta düğmesine tıklayın ve “Quick run” seçeneğini seçin.

Prefect Cloud Gösterge Paneli: Dağıtımlar

Çalıştırmamızın nasıl ilerlediğini görmek için “Flow Run” bölümüne gidin ve iş akışı grafiğini görüntülemek üzere en son çalıştırmaya tıklayın.

Akış diyagramı, görevler arasındaki bağlantıların genel görünümünü ve her işlemin aldığı süreyi sunar.

Prefect Cloud Gösterge Paneli: Akış Çalıştırmaları diyagramı

Ayrıntılı günlükler için aşağı kaydırın ve zaman damgasıyla birlikte gerçekleştirilen tüm görevleri görüntüleyin.

Prefect Cloud Gösterge Paneli: Akış çalıştırma Günlükleri

“Work Pools” bölümüne gidersek, ücretsiz kullanıcılar için 10 saatlik sınırdan 0,1 saat kullandığımızı açıkça görebiliriz.

Prefect Cloud Gösterge Paneli: Kullanılan work pool hesaplaması

Proje kurulumu, veri hazırlama, modelleme ve dağıtımda yer alan görevleri anlamanıza yardımcı olacak bir infografik içeren Makine Öğrenimi İş Akışı rehberine göz atın.

Son Düşünceler

Tek bir makine öğrenimi iş akışını kurmak kolaydı. Gerçek dünyada aynı anda birden fazla makine öğrenimi ve veri iş akışını çalıştırmanız gerekebilir. Prefect’in öne çıktığı yer burasıdır. Prefect, sunucuları veya work pool’ları yerelde ya da bulutta çalıştırmayı seçme konusunda ölçeklenebilirlik ve esneklik sunar. Zamanlama, otomasyon ve iş akışlarını yönetme için harika bir araçtır.

Bu eğitimde, Prefect ekosisteminin başlıca özelliklerini ve işlevlerini ele aldık. Ayrıca bir makine öğrenimi akışını yerelde ve bulutta nasıl dağıtacağımızı öğrendik. MLOps yolculuğunuza devam etmek için bir sonraki adım, “Makine Öğrenimi için CI/CD’ye Yeni Başlayanlar Rehberi”ni takip ederek makine öğrenimi iş akışları için CI/CD oluşturmayı öğrenmektir.

Prefect, iş akışı orkestrasyonu için MLOps alanındaki araçlardan yalnızca biridir. Veri versiyonlama, özellik mağazaları, model testleri, model dağıtımı ve sunumu, model izleme, çalışma zamanı motorları ve uçtan uca MLOps araçları gibi diğer önemli araçlar hakkında bilgi edinmek için 2024’te Bilmeniz Gereken 25 En İyi MLOps Aracı makalesini okuyun. Ayrıca, araçların nasıl karşılaştırıldığını görmek için Prefect ve Airflow Karşılaştırması yazımıza da göz atabilirsiniz. 


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

Sertifikalı bir veri bilimcisi olarak, yenilikçi makine öğrenimi uygulamaları oluşturmak için en son teknolojileri kullanmaya büyük ilgi duyuyorum. Konuşma tanıma, veri analizi ve raporlama, MLOps, konuşma yapay zekası ve NLP alanlarında güçlü bir geçmişe sahip olarak, gerçek bir etki yaratabilecek akıllı sistemler geliştirme becerilerimi geliştirdim. Teknik uzmanlığımın yanı sıra, karmaşık kavramları açık ve özlü bir dille ifade etme yeteneğine sahip, becerikli bir iletişimciyim. Sonuç olarak, veri bilimi konusunda aranan bir blog yazarı oldum ve giderek büyüyen veri profesyonelleri topluluğuyla görüşlerimi ve deneyimlerimi paylaşıyorum. Şu anda, içerik oluşturma ve düzenlemeye odaklanıyorum. Büyük dil modelleriyle çalışarak, hem işletmelerin hem de bireylerin verilerinden en iyi şekilde yararlanmalarına yardımcı olabilecek güçlü ve ilgi çekici içerikler geliştiriyorum.

Konular
Makine Öğrenimi
Python

Makine Öğrenimi Yolculuğunuza Bugün Devam Edin!

Kurs

Python'da Machine Learning İş Akışları Tasarlama

4 sa
12.8K
Zamanın testinden geçen boru hatları inşa etmeyi öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör