Giriş
Günümüzde veri bilimciler için Boru Hatları (Pipelines), Dağıtım (Deployment) ve MLOps son derece önemli kavramlardır. Not defterinde bir model oluşturmak yeterli değildir. Birçok şirketin odak noktası, boru hatlarını dağıtmak ve uçtan uca süreçleri MLOps en iyi uygulamalarıyla yönetmektir. Bu eğitimde Pipeline, CI/DI, API, Konteyner, Docker, Kubernetes gibi bir dizi önemli kavram ele alınmaktadır. Ayrıca Python’da MLOps çerçeveleri ve kütüphaneleri hakkında bilgi edineceksiniz. Son olarak, eğitim bir Flask tabanlı ML web uygulamasının konteynerleştirilmesinin ve Microsoft Azure bulutuna dağıtılmasının uçtan uca uygulamasını göstermektedir.
Temel Kavramlar
MLOps
MLOps, Machine Learning Operations ifadesinin kısaltmasıdır. MLOps, makine öğrenimi modellerini üretime alma, ardından bunları sürdürme ve izleme sürecini kolaylaştırmaya odaklanır. MLOps, genellikle veri bilimciler, ML mühendisleri ve DevOps mühendislerinden oluşan işbirlikçi bir işlevdir. MLOps kelimesi, yazılım mühendisliğindeki iki farklı alanın yani makine öğrenimi ve DevOps’un bileşimidir.
MLOps, veri hattından makine öğrenimi modelinin üretimde kullanımına kadar her şeyi kapsayabilir. Bazı yerlerde MLOps uygulamasının yalnızca makine öğrenimi modelinin dağıtımı için kullanıldığını göreceksiniz; ancak Keşifsel Veri Analizi (EDA), Veri Ön İşleme, Model Eğitimi vb. dahil olmak üzere ML Yaşam Döngüsü geliştirmesinin birçok farklı alanında MLOps uygulamasına sahip işletmeler de bulacaksınız.
MLOps bir dizi en iyi uygulama olarak başlamış olsa da yavaş yavaş ML yaşam döngüsü yönetimine bağımsız bir yaklaşım haline gelmektedir. MLOps tüm yaşam döngüsüne uygulanır: model oluşturma ile entegrasyondan (yazılım geliştirme yaşam döngüsü ve sürekli entegrasyon/sürekli teslim), orkestrasyon ve dağıtıma; sağlık, tanılama, yönetişim ve iş metriklerine kadar.

Neden MLOps?
İşletmelerin MLOps ile ulaşmak istediği pek çok hedef vardır. Yaygın olanlardan bazıları:
- Otomasyon
- Ölçeklenebilirlik
- Yeniden üretilebilirlik
- İzleme
- Yönetişim
MLOps ve DevOps
DevOps, yazılım uygulamalarını üretime alma konusunda yinelemeli bir yaklaşımdır. MLOps, makine öğrenimi modellerini üretime taşımak için aynı ilkeleri benimser. İster DevOps ister MLOps olsun, nihai amaç yazılım uygulamalarının/ML modellerinin daha yüksek kalite ve kontrolüdür.
CI/CD: sürekli entegrasyon, sürekli teslim ve sürekli dağıtım.
CI/CD, DevOps’tan türetilmiş bir uygulamadır ve sorunları sürekli olarak tanıma, yeniden değerlendirme ve makine öğrenimi modellerini otomatik olarak güncelleme sürecini ifade eder. CI/CD’ye atfedilen temel kavramlar sürekli entegrasyon, sürekli teslim ve sürekli dağıtımdır. ML boru hattını (oluşturma, test etme ve dağıtma) otomatikleştirir ve süreçte veri bilimcilerin manuel müdahale ihtiyacını büyük ölçüde azaltır; böylece süreci verimli, hızlı ve insan hatasına daha az açık hale getirir.

Boru Hattı (Pipeline)
Bir makine öğrenimi boru hattı, bir makine öğrenimi modeli üretmek için gereken iş akışını kontrol etmenin ve otomatikleştirmenin bir yoludur. Makine öğrenimi boru hatları, veri çıkarma ve ön işlemeden model eğitimine ve dağıtıma kadar her şeyi yapan birden çok ardışık adımdan oluşur.
Makine öğrenimi boru hatları yinelemelidir; çünkü modelin doğruluğunu sürekli olarak iyileştirmek ve nihai hedefe ulaşmak için her adım tekrarlanır.

Boru Hattı terimi, bir görevi başarmak için bir araya getirilen bağımsız adımlar dizisini genel olarak tanımlamak için kullanılır. Bu görev makine öğrenimi olabilir ya da olmayabilir. Makine Öğrenimi Boru Hatları çok yaygındır, ancak var olan tek boru hattı türü değildir. Veri Orkestrasyon Boru Hatları başka bir örnektir. Microsoft belgelerine göre üç senaryo vardır:

Dağıtım
Makine öğrenimi modellerinin (veya boru hatlarının) dağıtımı, modelleri üretimde kullanılabilir hale getirme sürecidir; böylece web uygulamaları, kurumsal yazılımlar (ERP’ler) ve API’ler eğitilmiş modeli yeni veri noktaları sağlayarak tüketebilir ve tahminleri alabilir.
Kısacası, Makine Öğreniminde Dağıtım, veriye dayalı pratik iş kararları almak üzere bir makine öğrenimi modelini mevcut bir üretim ortamına entegre etme yöntemidir. Bu, makine öğrenimi yaşam döngüsünün son aşamasıdır.
Genellikle Makine Öğrenimi Model Dağıtımı terimi, modelin yalnızca Boru Hattının bir bileşeni olduğu tüm Makine Öğrenimi Boru Hattının dağıtımını tanımlamak için kullanılır.

Yukarıdaki örnekte de görebileceğiniz gibi, bu boru hattı bir Lojistik Regresyon modelinden oluşmaktadır. Eğitime başlamadan önce gerçekleştirilmesi gereken birkaç adım vardır; örneğin eksik değerlerin ataması (imputation), Tek-Sıcak (One-Hot) kodlama, Ölçekleme ve Temel Bileşenler Analizi (PCA).
Uygulama Programlama Arayüzü (API)
Uygulama Programlama Arayüzü (API), iki uygulamanın birbiriyle konuşmasını sağlayan bir yazılım aracısıdır. Basitçe söylemek gerekirse, bir API, kullanıcının yazılımı önceden tanımlanmış bir formatta girdi sağlarsa, API’nin kullanıcıya çıktıyı sunacağını belirten iki uygulama arasındaki bir sözleşmedir. Başka bir deyişle, API, eğitilmiş makine öğrenimi modellerini/(boru hatlarını) kullanım için barındırdığınız uç noktadır. Pratikte şu şekilde görünür:

Konteyner
Python kodunuzun (veya başka bir kodun) bilgisayarınızda sorunsuz çalıştığı, ancak arkadaşınız aynı kodu çalıştırmayı denediğinde çalışmadığı bir sorun yaşadınız mı? Arkadaşınız tamamen aynı adımları tekrarlıyorsa, aynı sonuçları alması gerekmez mi? Bunun basit cevabı, arkadaşınızın Python ortamının sizinkinden farklı olmasıdır.
Bir ortam neleri içerir?
Python (veya kullandığınız başka bir dil) ile bu uygulamayı oluşturmak için kullanılan tüm kütüphaneler ve bağımlılıklar.
Eğer ortamı başka makinelere (ör. arkadaşınızın bilgisayarı veya Microsoft Azure, AWS ya da GCP gibi bir bulut hizmeti sağlayıcısı) aktarabileceğimiz bir şekilde oluşturabilirsek, sonuçları her yerde çoğaltabiliriz. Konteyner, bir uygulamayı ve tüm bağımlılıklarını paketleyen; böylece uygulamanın bir bilgi işlem ortamından diğerine güvenilir şekilde çalışmasını sağlayan bir yazılım türüdür.
Veri bilimi bağlamında konteynerleri anlamanın en sezgisel yolu, bir gemideki konteynerleri düşünmektir. Amaç, bir konteynerin içeriğini diğerlerinden izole etmek, böylece karışmamalarını sağlamaktır. Veri biliminde konteynerlerin kullanımı tam olarak budur.
Artık konteynerler arkasındaki benzetmeyi anladığımıza göre, uygulamamız için izole bir ortam oluşturmanın alternatif seçeneklerine bakalım. Basit bir alternatif, her bir uygulamanız için ayrı bir makineye sahip olmaktır.
Ayrı makine kullanmak basittir ancak konteyner kullanmanın faydalarını gölgede bırakmaz; çünkü her uygulama için birden çok makineyi sürdürmek pahalıdır, bakımı zordur ve ölçeklendirmesi meşakkatlidir. Kısacası, birçok gerçek yaşam senaryosunda pratik değildir.
İzole bir ortam oluşturmanın bir başka alternatifi sanal makineler kullanmaktır. Konteynerler burada da tercih edilir; çünkü daha az kaynak gerektirirler, çok taşınabilirdirler ve hızla ayağa kaldırılabilirler.

Sanal Makineler ile Konteynerler arasındaki farkları belirleyebiliyor musunuz? Konteyner kullandığınızda misafir işletim sistemlerine ihtiyaç duymazsınız. Bir sanal makine üzerinde çalışan 10 uygulama hayal edin. Bu, konteyner kullandığınızda hiç gerekmezken, 10 misafir işletim sistemi gerektirecektir.
Docker
Docker, kullanıcıların konteyner oluşturmasına, çalıştırmasına ve yönetmesine olanak tanıyan yazılım (Docker olarak da adlandırılır) sağlayan bir şirkettir. Docker konteynerleri en yaygın olanlardır; ancak LXD ve LXC gibi daha az popüler alternatifler de konteyner çözümleri sunar.
Docker, uygulamaları konteyner kullanarak oluşturmayı, dağıtmayı ve çalıştırmayı kolaylaştırmak için tasarlanmış bir araçtır. Konteynerler, bir uygulamayı kütüphaneler ve diğer bağımlılıklar gibi gerekli tüm bileşenleriyle birlikte paketlemek ve hepsini tek bir paket olarak göndermek için kullanılır.

Abartıyı dağıtalım
Günün sonunda Docker, proje klasörünüzde "Dockerfile" adıyla kaydedilen, birkaç satır talimat içeren basit bir dosyadır.
Docker dosyalarını düşünmenin bir başka yolu da onları kendi mutfağınızda icat ettiğiniz tarifler gibi görmektir. Bu tarifleri bir başkasıyla paylaştığınızda ve aynı talimatları izlediklerinde, aynı yemeği ortaya çıkarabilirler. Benzer şekilde, Docker dosyalarınızı başkalarıyla paylaşabilir; onlar da bu Docker dosyasına dayanarak imajlar oluşturup konteyner çalıştırabilirler.
Kubernetes
Google tarafından 2014’te geliştirilen Kubernetes, konteynerleştirilmiş uygulamaları yönetmek için güçlü, açık kaynaklı bir sistemdir. Basitçe söylemek gerekirse, Kubernetes bir makine kümesi boyunca konteynerleştirilmiş uygulamaları çalıştırma ve koordine etme sistemidir. Konteynerleştirilmiş uygulamaların yaşam döngüsünü uçtan uca yönetmek üzere tasarlanmış bir platformdur.
Özellikler
- Yük Dengeleme: Yükü konteynerler arasında otomatik olarak dağıtır.
- Ölçeklendirme: Talep değiştiğinde (örneğin yoğun saatlerde, hafta sonları ve tatillerde) konteyner ekleyip çıkararak otomatik ölçeklenir.
- Depolama: Bir uygulamanın birden çok örneğinde depolamayı tutarlı tutar.
Docker varken neden Kubernetes’e ihtiyaç var?
Gündüz ve gece değişken iş yüklerine sahip kurumsal düzeyde bir ML uygulamasını desteklemek için, birden çok makinede birden çok Docker konteyneri çalıştırmanız gereken bir senaryo hayal edin. Kulağa basit gelse de, bunu manuel yapmak çok iş gerektirir.
Doğru konteynerları doğru zamanda başlatmanız, birbirleriyle nasıl iletişim kuracaklarını belirlemeniz, depolama gereksinimlerini ele almanız ve başarısız olan konteynerlar veya donanımlarla ilgilenmeniz gerekir. Kubernetes’in çözdüğü sorun budur: Çok sayıda konteynerin uyum içinde birlikte çalışmasını sağlayarak operasyonel yükü azaltır.
Google Kubernetes Engine, Google’ın açık kaynak Kubernetes’inin Google Cloud Platform’daki bir uygulamasıdır. GKE’ye diğer popüler alternatifler Amazon ECS ve Microsoft Azure Kubernetes Service’dir.
Terimlerin hızlı özeti:
- Konteyner, bir uygulamayı ve tüm bağımlılıklarını paketleyen; böylece uygulamanın bir bilgi işlem ortamından diğerine güvenilir şekilde çalışmasını sağlayan bir yazılım türüdür.
- Docker, konteyner oluşturmak ve yönetmek için kullanılan yazılımdır.
- Kubernetes, küme ortamında konteynerleştirilmiş uygulamaları yönetmek için açık kaynaklı bir sistemdir.

Python’da MLOps Çerçeveleri ve Kütüphaneleri
MLflow
MLflow, deneyler, yeniden üretilebilirlik, dağıtım ve merkezi bir model kaydı dahil olmak üzere ML yaşam döngüsünü yönetmek için açık kaynaklı bir platformdur. MLflow şu anda MLflow Tracking, MLflow Projects, MLflow Models ve Model Registry sunmaktadır.
Metaflow
Metaflow, bilim insanlarının ve mühendislerin gerçek hayattaki veri bilimi projeleri oluşturmalarına ve yönetmelerine yardımcı olan, kullanıcı dostu bir Python kütüphanesidir. Metaflow, klasik istatistikten en güncel derin öğrenmeye kadar çok çeşitli projelerde çalışan veri bilimcilerin üretkenliğini artırmak için Netflix’te geliştirilmiştir. Metaflow, prototipten üretime kadar veri bilimi projelerini yürütmek için gereken altyapı yığınına birleşik bir API sağlar.
Kubeflow
Kubeflow, Kubernetes üzerinde çalışan karmaşık iş akışlarını orkestre edecek şekilde tasarlanmış, açık kaynaklı bir makine öğrenimi platformudur. Kubeflow, Google’ın TensorFlow modellerini dağıtmak için kullandığı TensorFlow Extended adlı dahili yöntemine dayanır.
Kedro
Kedro, tekrarlanabilir, sürdürülebilir ve modüler veri bilimi kodu oluşturmak için açık kaynaklı bir Python çerçevesidir. Yazılım mühendisliğindeki en iyi uygulamalardan kavramlar ödünç alır ve bunları makine öğrenimi koduna uygular; uygulanan kavramlar arasında modülerlik, ilgi alanlarının ayrımı ve sürümleme bulunur.
FastAPI
FastAPI, Python’da RESTful API’ler geliştirmek için bir Web çerçevesidir. FastAPI, verileri doğrulamak, serileştirmek ve ters serileştirmek için Pydantic ve tür ipuçlarına dayanır ve OpenAPI belgelerini otomatik olarak üretir.
ZenML
ZenML, üretime hazır makine öğrenimi boru hatları oluşturmak için genişletilebilir, açık kaynaklı bir MLOps çerçevesidir. Veri bilimciler için geliştirilmiştir; basit, esnek bir sözdizimine sahiptir, bulut ve araç bağımsızdır ve ML iş akışlarına yönelik arayüz/soyutlamalar sunar.
Örnek: Uçtan Uca Boru Hattı Geliştirme, Dağıtım ve MLOps
Problem Kurulumu
Bir sigorta şirketi, hastaneye yatış sırasında elde edilen demografik ve temel hasta sağlık risk metriklerini kullanarak hasta ücretlerini daha iyi tahmin edip nakit akışı tahminini geliştirmek istemektedir.

Amacımız, bir hastanın demografik ve sağlık bilgilerinin web tabanlı bir forma girildiği ve ardından tahmini ücret tutarının çıktısı alındığı bir web uygulaması oluşturup dağıtmaktır. Bunu başarmak için şunları yapacağız:
- Dağıtım için bir makine öğrenimi boru hattı eğitip geliştirin (basit doğrusal regresyon modeli).
- Flask çerçevesini kullanarak bir web uygulaması oluşturun. Bu uygulama, eğitilmiş ML boru hattını kullanarak yeni veri noktaları için gerçek zamanlı tahminler üretecek (ön uç kodu bu eğitimin odağı değildir).
- Bir Docker imajı ve konteyneri oluşturun.
- Konteyneri Azure Container Registry’ye (ACR) yayınlayın.
- Web uygulamasını konteyner içinde, ACR’ye yayınlayarak dağıtın. Dağıtım tamamlandığında herkese açık hale gelecek ve bir Web URL’si üzerinden erişilebilecektir.
Makine Öğrenimi Boru Hattı
Web uygulamamızın bir parçası olarak kullanılacak bir makine öğrenimi boru hattını eğitmek ve geliştirmek için Python’da PyCaret kullanacağım. Sonraki adımlar buna bağlı olmadığından dilediğiniz çerçeveyi kullanabilirsiniz.
# load dataset
from pycaret.datasets import get_data
insurance = get_data('insurance')
# init environment
from pycaret.regression import *
r1 = setup(insurance, target = 'charges', session_id = 123,
normalize = True,
polynomial_features = True, trigonometry_features = True,
feature_interaction=True,
bin_numeric_features= ['age', 'bmi'])
# train a model
lr = create_model('lr')
# save pipeline/model
save_model(lr, model_name = 'c:/username/pycaret-deployment-azure/deployment_28042020')
PyCaret’te bir modeli kaydettiğinizde, setup fonksiyonunda tanımlanan yapılandırmaya göre tüm dönüşüm boru hattı oluşturulur. Tüm karşılıklı bağımlılıklar otomatik olarak orkestre edilir. 'deployment_28042020' değişkeninde saklanan boru hattını ve modeli görün:

Ön Uç Web Uygulaması
Bu eğitim, bir Flask uygulaması oluşturmayı odak noktası yapmaz. Burada yalnızca bütünlüğü sağlamak için ele alınmaktadır. Makine öğrenimi boru hattımız hazır olduğuna göre, eğitilmiş boru hattımızı okuyup yeni veri noktalarını tahmin edebilecek bir web uygulamasına ihtiyacımız var. Bu uygulamanın iki bölümü vardır:
- Ön uç (HTML ile tasarlandı)
- Arka uç (Flask kullanılarak geliştirildi)
Ön uç şu şekilde görünür:

Bu uygulamanın ön yüzü, biraz CSS stillendirmesi olan oldukça basit bir HTML’dir. Kodu incelemek isterseniz, lütfen bu depoya bakın. Artık tam işlevsel bir web uygulamamız olduğuna göre, Docker kullanarak uygulamayı konteynerleştirme sürecine başlayabiliriz.
Uygulamanın Arka Ucu
Uygulamanın arka ucu, app.py adlı bir Python dosyasıdır. Flask çerçevesi kullanılarak oluşturulmuştur.
from flask import Flask,request, url_for, redirect, render_template, jsonify
from pycaret.regression import *
import pandas as pd
import pickle
import numpy as np
app = Flask(__name__)
model = load_model('deployment_28042020')
cols = ['age', 'sex', 'bmi', 'children', 'smoker', 'region']
@app.route('/')
def home():
return render_template("home.html")
@app.route('/predict',methods=['POST'])
def predict():
int_features = [x for x in request.form.values()]
final = np.array(int_features)
data_unseen = pd.DataFrame([final], columns = cols)
prediction = predict_model(model, data=data_unseen, round = 0)
prediction = int(prediction.Label[0])
return render_template('home.html',pred='Expected Bill will be {}'.format(prediction))
@app.route('/predict_api',methods=['POST'])
def predict_api():
data = request.get_json(force=True)
data_unseen = pd.DataFrame([data])
prediction = predict_model(model, data=data_unseen)
output = prediction.Label[0]
return jsonify(output)
if __name__ == '__main__':
app.run(debug=True)
Docker Konteyneri
Windows kullanıyorsanız Windows için Docker kurmanız gerekir. Ubuntu kullanıyorsanız Docker varsayılan olarak gelir ve kurulum gerekmez.
Uygulamanızı konteynerleştirmenin ilk adımı, uygulamanızın bulunduğu aynı klasörde/dizinde bir Dockerfile yazmaktır. Dockerfile, bir dizi talimattan oluşan basit bir dosyadır. Bu proje için Dockerfile şu şekildedir:
FROM python:3.7
RUN pip install virtualenv
ENV VIRTUAL_ENV=/venv
RUN virtualenv venv -p python3
ENV PATH="VIRTUAL_ENV/bin:$PATH"
WORKDIR /app
ADD . /app
# install dependencies
RUN pip install -r requirements.txt
# expose port
EXPOSE 5000
# run application
CMD ["python", "app.py"]
Dockerfile büyük/küçük harfe duyarlıdır ve proje dosyalarıyla birlikte proje klasöründe olmalıdır. Dockerfile’ın uzantısı yoktur ve herhangi bir editör kullanılarak oluşturulabilir. Bunu oluşturmak için Visual Studio Code kullandık.
Buluta Dağıtım
Dockerfile’ı doğru şekilde ayarladıktan sonra, bu dosyadan bir Docker imajı oluşturmak için bazı komutlar yazacağız; ancak önce bu imajı barındıracak bir hizmete ihtiyacımız var. Bu örnekte uygulamamızı barındırmak için Microsoft Azure’u kullanacağız.
Azure Container Registry
Bir Microsoft Azure hesabınız yoksa veya daha önce kullanmadıysanız, ücretsiz kaydolabilirsiniz. İlk kez kaydolduğunuzda ilk 30 gün için ücretsiz kredi alırsınız. Bu krediyi Azure’da bir web uygulaması oluşturup dağıtmak için kullanabilirsiniz. Kaydolduktan sonra şu adımları izleyin:
- https://portal.azure.com adresine giriş yapın
- Kaynak Oluştur’a tıklayın
- Container Registry arayın ve Oluştur’a tıklayın
- Abonelik, Kaynak grubu ve Kayıt defteri adını seçin (bizim durumumuzda: pycaret.azurecr.io kayıt defteri adımızdır)

Bir kayıt defteri oluşturulduktan sonra ilk adım, komut satırını kullanarak bir Docker imajı oluşturmaktır. Proje klasörüne gidin ve aşağıdaki kodu çalıştırın:
docker build -t pycaret.azurecr.io/pycaret-insurance:latest .

- pycaret.azurecr.io, Azure portalında kaynak oluşturduğunuzda aldığınız kayıt defteri adıdır
- pycaret-insurance imajın adı, latest ise etiketidir; bunlar istediğiniz gibi olabilir
Docker imajından konteyner çalıştırma
İmaj oluşturulduğuna göre, Azure Container Registry’ye göndermeden önce bir konteyneri yerelde çalıştırıp uygulamayı test edeceğiz. Konteyneri yerelde çalıştırmak için aşağıdaki kodu çalıştırın:
docker run -d -p 5000:5000 pycaret.azurecr.io/pycaret-insurance
İnternet tarayıcınızda localhost:5000 adresine giderek uygulamayı çalışırken görebilirsiniz. Bir web uygulaması açılmalıdır.

Bunu görebiliyorsanız, uygulama artık yerel makinenizde çalışıyor demektir ve geriye sadece bunu buluta göndermek kalır. Azure’da dağıtım için okumaya devam edin:
Azure Kimlik Bilgilerini Doğrulama
Konteyneri ACR’ye yüklemeden önceki son adım, yerel makinenizde Azure kimlik bilgilerini doğrulamaktır. Bunu yapmak için komut satırında aşağıdaki kodu çalıştırın:
docker login pycaret.azurecr.io
Bir kullanıcı adı ve parola istenecektir. Kullanıcı adı kayıt defterinizin adıdır (bu örnekte kullanıcı adı "pycaret"). Parolanızı, oluşturduğunuz Azure Container Registry kaynağının erişim anahtarları altında bulabilirsiniz.

Konteyneri Azure Container Registry’ye Gönderme
ACR’ye kimlik doğrulaması yaptıktan sonra, oluşturduğunuz konteyneri aşağıdaki kodu çalıştırarak ACR’ye gönderebilirsiniz:
docker push pycaret.azurecr.io/pycaret-insurance:latest
Konteynerin boyutuna bağlı olarak, push komutu konteyneri buluta aktarmak için bir süre alabilir.
Web Uygulaması
Azure’da bir web uygulaması oluşturmak için şu adımları izleyin:
- Azure portalına giriş yapın
- Kaynak oluştur’a tıklayın
- Web uygulamasını arayın ve oluştur’a tıklayın
- ACR imajınızı uygulamanıza bağlayın


Uygulama artık Azure Web Services üzerinde çalışıyor.

Sonuç
MLOps, dağıtılan modellerin iyi şekilde bakımı yapılmasını, beklenen performansı göstermesini ve iş üzerinde olumsuz etkiler yaratmamasını sağlamaya yardımcı olur. Bu rol, zamanla sapan ya da dağıtılıp bakımı ve izlemesi yapılmayan modellerden kaynaklanan risklere karşı işletmeyi korumada kritik öneme sahiptir.
MLOps, LinkedIn’in Yükselen Meslekler sıralamasında ilk sırada yer almış; beş yılda 9,8 kat büyüme kaydetmiştir.
DataCamp’te, bir makine öğrenimi uygulamasının iş gereksinimlerinin toplanmasından tasarım, geliştirme, dağıtım, işletim ve bakım aşamalarına kadar tüm yaşam döngüsünü kapsayan yeni MLOps Fundamentals Yetenek Yolunu inceleyebilirsiniz. Datacamp’in ayrıca harika bir Understanding Data Engineering kursu da var. Bugün kaydolun ve veri mühendislerinin, kodlama olmadan veri bilimi mümkün kılan temeli nasıl attığını keşfedin.
