AWS SageMaker ile makine öğrenmesi modeli nasıl geliştirilir?
Beceri rehberi

AWS SageMaker ile makine öğrenmesi modeli nasıl geliştirilir?

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 5 dk okuma

AWS SageMaker ile model eğitimi, ayarlama, canlıya alma ve izleme adımlarını, sık yapılan hataları ve öğrenme sırasını örneklerle öğrenin.

SageMaker ne işe yarar?

Amazon SageMaker, Amazon Web Services üzerinde makine öğrenmesi modelinin veri hazırlamadan canlıya almaya kadar bütün yaşam döngüsünü tek platformda yürütmeye yarayan yönetilen bir hizmettir. Eğitim için sunucu kurmak, ortamları sürümlemek, modeli bir uç noktaya (endpoint) dönüştürmek gibi altyapı işlerinin büyük kısmı platform tarafından üstlenilir; ekip modelin kendisine odaklanır.

Platformun değeri, ayrı ayrı kurulması gereken parçaları bir arada sunmasında yatar: not defteri ortamı, yönetilen eğitim işleri, deney kaydı, hiperparametre arama, model kayıt defteri, dağıtım ve izleme. Bir veri bilimci laptop'ında çalışan bir not defterini, aynı kodla bulutta daha büyük makinede eğitip sonucu ekip arkadaşlarıyla paylaşabilir.

SageMaker bir algoritma ya da kütüphane değildir. Scikit-learn, XGBoost, PyTorch veya TensorFlow ile yazdığınız modeli çalıştıran altyapıdır. Bu nedenle önce makine öğrenmesi temellerini bilmek, sonra platformu öğrenmek doğru sıradır.

Hangi ön bilgiler gerekir?

SageMaker öğrenmeden önce üç alanda temel düzey işinizi kolaylaştırır.

  • Python ve bir makine öğrenmesi kütüphanesi: veri yükleme, ön işleme, model kurma ve değerlendirme.
  • Temel bulut kavramları: kullanıcı ve rol yetkileri, depolama alanı, sanal ağ, bölge seçimi.
  • Komut satırı ve sürüm kontrolü: eğitim betiklerini paketlemek ve tekrar üretilebilir kılmak için.

Yetkilendirme ilk engeldir. SageMaker bir eğitim işi başlattığında sizin adınıza veriyi okuyabilmesi için bir yürütme rolüne ihtiyaç duyar. Rolün hangi veri alanına erişebildiğini bilmeyen biri, kodu doğru olduğu halde işin başlamadığını görür.

Adım adım model geliştirme akışı

Tipik bir akış şu sırayı izler.

  • Ortamı kurma: bir etki alanı (domain) ve not defteri ortamı açılır, yürütme rolü tanımlanır, veri bulut depolamasına yüklenir.
  • Keşif ve ön işleme: not defterinde veri incelenir, eğitim ve doğrulama kümeleri ayrılır.
  • Eğitim işi: betiğiniz bir eğitim işi olarak çalıştırılır. Makine tipi ve sayısı kod dışında, iş tanımında belirlenir.
  • Deney takibi: her çalıştırmanın parametreleri ve metrikleri kaydedilir; böylece iki denemeyi karşılaştırabilirsiniz.
  • Hiperparametre ayarı: öğrenme oranı, ağaç derinliği gibi değerler için otomatik arama işi tanımlanır.
  • Model kaydı: hedef metriği en çok iyileştiren eğitim çıktısı model kayıt defterine sürüm olarak eklenir.
  • Dağıtım: kayıtlı model gerçek zamanlı bir uç noktaya ya da toplu çıkarım işine bağlanır.

Bu akışın en önemli alışkanlığı, her adımı not defteri hücresindeki elle yapılan işlemden çıkarıp tekrar çalıştırılabilir bir tanıma dönüştürmektir.

Gerçek bir iş örneği: müşteri kaybı tahmini

Örneğin bir telekom şirketinin veri ekibi, hangi abonelerin hizmeti bırakabileceğini tahmin etmek istiyor. Geçmiş abone verisi bulut depolamasında duruyor.

Ekip önce not defterinde veriyi inceler, eksik değerleri doldurur ve eğitim kümesini ayırır. Ardından bir gradyan artırma modelini eğitim işi olarak çalıştırır. Hiperparametre arama işi birçok kombinasyonu paralel dener; ekip sonuçları deney ekranında karşılaştırır. Seçilen model kayıt defterine eklenir ve bir uç nokta olarak yayımlanır. Çağrı merkezi uygulaması her arama sırasında bu uç noktaya abone özelliklerini gönderir, dönen risk puanını ekranda gösterir.

Birkaç hafta sonra abone davranışı değişir. İzleme bileşeni gelen verinin eğitim verisinden saptığını bildirir ve ekip modeli yeniden eğitir. Bu döngünün kurulabilmesi, işin tek seferlik bir not defteri çalışmasından ürün haline geldiğini gösterir.

Başlangıçtan ileri düzeye öğrenme yolu

Başlangıç düzeyinde hedef, tek bir modeli not defterinden eğitim işine taşımak ve sonucu görmektir. Küçük bir tablo verisi ve hazır bir algoritma bu aşama için yeterlidir.

Orta düzeyde deney yönetimi, hiperparametre arama, model sunma ve uç nokta ayarları öğrenilir. Gerçek zamanlı çıkarım ile toplu çıkarım arasındaki farkı, hangi iş yüküne hangisinin uyduğunu ayırt etmek bu aşamanın ölçütüdür.

İleri düzeyde ise işlem hatları (Pipelines) ile eğitimden dağıtıma kadar bütün adımlar otomatikleştirilir, model izleme ve uyumluluk kontrolleri eklenir, onay süreçleri kurulur. Bu aşama makine öğrenmesi mühendisliğinin ve MLOps'un alanına girer. Son olarak uçtan uca bir üretim projesi kurmak, bilgiyi birleştirmenin en sağlam yoludur.

Sık yapılan hatalar

  • Uç noktayı açık bırakmak: gerçek zamanlı uç noktalar çalıştığı sürece kaynak tüketir. Deneme sonrası kapatılmayan uç noktalar, bulutta en sık görülen gereksiz maliyet kaynaklarından biridir. Trafik azsa sunucusuz veya toplu seçenekler değerlendirilmelidir.
  • Bütün işi not defterinde yapmak: not defteri keşif için iyidir, üretim için değildir. Eğitim mantığı betiğe ve işlem hattına taşınmalıdır.
  • Yetki sorunlarını geç fark etmek: rol ve veri erişimini işin başında doğrulamak, saatler süren hata ayıklamayı önler.
  • Eğitim ile çıkarım ortamının farklı kütüphane sürümleri kullanması: modelin eğitimde çalışıp canlıda farklı sonuç vermesine yol açar.
  • İzlemeyi atlamak: model canlıya alındıktan sonra veri kayması izlenmezse doğruluk sessizce düşer.

Mindset programlarında nerede çalışılır?

Mindset kataloğundaki AWS SageMaker Uzmanlık programının modül başlıkları model geliştirme akışının adımlarıyla örtüşür: SageMaker platformu ve kurulum, model eğitimi ve deney yönetimi, hiperparametre ayarı ve AutoML, model sunma ve uç nokta yönetimi, SageMaker Pipelines ve MLOps, model izleme ve uyumluluk, kapsamlı bir üretim projesi.

Programın ayrıntılı müfredatı eğitim sayfasında yer alır.

İlgili Mindset programı

AWS SageMaker Uzmanlık

Sık sorulanlar

Sık sorulan sorular

SageMaker kullanmak için bulut uzmanı olmak gerekir mi?

Hayır, ancak temel bulut kavramlarını bilmek gerekir. Kullanıcı yetkileri, depolama alanı ve bölge seçimi gibi konular platformun her adımında karşınıza çıkar. Makine öğrenmesi bilginiz varsa bulut tarafını eğitim sırasında öğrenebilirsiniz. Önce küçük bir veri kümesiyle uçtan uca çalışmak, kavramları somutlaştırır. Pratikte ilk hafta kullanıcı rolü, depolama alanı ve bölge ayarlarıyla uğraşmak normaldir; bu süre sonrasında asıl iş olan modele dönersiniz.

SageMaker ile yalnızca derin öğrenme mi yapılır?

Hayır. Platform klasik makine öğrenmesi algoritmalarını da, derin öğrenme çerçevelerini de çalıştırır. Tablo verisi üzerinde bir sınıflandırma modeli kurabilir, görüntü ya da metin modelleri eğitebilirsiniz. Platform modelin türünü değil, onu eğitme ve sunma altyapısını yönetir. Bu esneklik, ekibin mevcut kod tabanını bırakmadan platforma geçebilmesini sağlar.

Not defteri ile eğitim işi arasındaki fark nedir?

Not defteri etkileşimli keşif ortamıdır; kodu hücre hücre çalıştırırsınız. Eğitim işi ise aynı kodun ayrı bir makinede, tanımlı parametrelerle ve kayıt altında çalıştırılmasıdır. Not defteri fikir denemek, eğitim işi tekrar üretilebilir sonuç almak içindir. Üretim akışlarında eğitim işi tercih edilir. Pratikte ikisi birlikte kullanılır: keşif not defterinde yapılır, kesinleşen mantık betiğe taşınıp iş olarak çalıştırılır.

Gerçek zamanlı uç nokta ile toplu çıkarım nasıl seçilir?

Tahminin anında gerektiği durumlarda, örneğin bir kullanıcı ekranında risk puanı göstermek için gerçek zamanlı uç nokta kullanılır. Tahminler periyodik olarak büyük bir veri kümesi için hesaplanabiliyorsa, örneğin gece çalışan bir müşteri listesi puanlaması, toplu çıkarım hem daha basit hem daha ucuzdur. Seçim yaparken tahminin ne kadar taze olması gerektiği ve çağrı sıklığı iki temel ölçüttür.

SageMaker öğrenmek MLOps'a geçişi kolaylaştırır mı?

Evet. Eğitim, kayıt, onay, dağıtım ve izleme adımlarını işlem hattı olarak tanımlamak MLOps'un temelidir ve SageMaker bu adımların hepsini bir arada sunar. Platformdan bağımsız olarak da geçerli olan sürümleme, otomasyon ve izleme alışkanlıklarını burada edinebilirsiniz. Üretimde bu alışkanlıklar, modelin bir kez çalışmasından çok güvenilir biçimde çalışmaya devam etmesini sağlar.