[Bölüm 3] AWS'de Bilgisayarlı Görüye İlk Adımlar: ASL Tanıma Uygulaması İçin Modelleri Canlıya Alma
Kaynak: dev.to

İçindekiler 5 başlık
"AWS'de Bilgisayarlı Görüye İlk Adımlar" serisinin üçüncü ve son bölümüne hoş geldiniz. Bu rehber, veri setinden başlayıp eğitilmiş modelleri canlı bir uygulamaya dönüştürme sürecini adım adım ele alıyor. Serinin ilk bölümünde Amerikan İşaret Dili (ASL) veri seti ve ön işleme, ikinci bölümünde ise özel CNN modeli eğitimi incelenmişti.
Neyi İnşa Ediyoruz?#
Çoğu makine öğrenmesi eğitimi model eğitimi ve doğrulama aşamasında sona erer. Ancak gerçek yazılım geliştirme deneyimi, bu modelleri son kullanıcının erişebileceği canlı bir uygulamaya entegre ettiğimizde başlar.
Çözümün AWS mimarisine hızlı bir genel bakış:
- Modelleri test etmenin en pratik yolu cep telefonuyla fotoğraf çekmektir. Basit, statik ve sunucusuz (serverless) bir ASL Alfabe Tanıma web uygulaması S3 üzerinde barındırılır ve bir CloudFront URL'si üzerinden erişilir.
- Tahmin (prediction) amacıyla modelleri çağırmak için API Gateway kullanılır.
- Bir Lambda fonksiyonu, yüklenen fotoğrafı ön işlemden geçirir ve sunucusuz bir SageMaker inference endpoint (çıkarım uç noktası) adresine gönderir.
- Bu uç nokta, ECR (Elastic Container Registry) üzerinde depolanan bir konteyner kullanılarak oluşturulur.
Altyapının büyük kısmı CloudFormation ile otomatik olarak kurulur; bu da yazılım mühendisliğinde kritik olan tekrarlanabilirliği (reproducibility) sağlar. Ancak öncesinde ECR depolarını oluşturmak, SageMaker ve Lambda konteyner imajlarını derleyip göndermek ve model arşivini S3'e yüklemek gerekir. Web sitesi dosyaları da yığın (stack) dağıtıldıktan sonra S3'e manuel olarak yüklenir.
❓ Neden Sunucusuz (Serverless) Uç Nokta?#
Trafik artışları arasında boşta geçen sürelerin olduğu ve soğuk başlangıçların (cold start) tolere edilebildiği senaryolar için sunucusuz mimari idealdir. Sunucusuz uç noktalar, trafiğe bağlı olarak bilgi işlem kaynaklarını otomatik başlatır ve ölçeklendirir (sıfıra kadar indirebilir). Böylece sunucu tipi seçme veya ölçeklendirme politikalarını yönetme yükü ortadan kalkar. Kullandıkça öde modeli sayesinde, düzensiz trafik desenlerinde oldukça maliyet etkin bir seçenektir. Maksimum 6144 MB (6 GB) bellek desteği, üç modelimiz için fazlasıyla yeterlidir.
❓ Uygulama Maliyeti Ne Kadar?#
Uygulamanın toplam maliyeti 5 doların altında kalmıştır. Sunucusuz uç nokta yaklaşık bir hafta boyunca açık kalmasına rağmen çok düşük bir maliyet üretmiştir; hatta bir önceki bölümde eğitim için kullanılan ml.g5.xlarge sunucusuna daha fazla harcanmıştır. Bu durum, doğru mimari seçiminin (Ölçeklendirme ve Optimizasyon) bütçe üzerindeki doğrudan etkisini gösterir.
Modelleri Çıkarım (Inference) İçin Hazırlama#
⚠️ Bu adım için yerel ortamınızı veya bir SageMaker notebook örneğini (ml.t3.medium fazlasıyla yeterlidir) kullanabilirsiniz.
- Önceki bölümde eğitilen modelleri hazır hale getirin:
raw.keras,filtered.kerasveedges.kerasdosyalarınımodels/dizinine yerleştirin. - Eğitim sırasında kullanılan tam sınıf eşleşmelerini içeren
class_names.jsondosyasını da (GitHub deposundan kopyalayarak/indirerek)models/dizinine ekleyin. models/dizini içerisinden şu komutu çalıştırarak dosyaları arşivleyin:tar -czvf asl-models.tar.gz raw.keras filtered.keras edges.keras class_names.json- Oluşan
asl-models.tar.gzarşivini S3'e yükleyin:aws s3 cp asl-models.tar.gz s3://YOUR-BUCKET/asl-app/models/asl-models.tar.gz
⚠️ YOUR-BUCKET yer tutucusunu kendi S3 bucket adınızla değiştirmeyi unutmayın! Arşiv S3'e yüklendikten sonra, s3://YOUR-BUCKET/asl-app/models/asl-models.tar.gz URI adresini CloudFormation yapılandırmasında kullanacağız.
SageMaker Çıkarım Konteynerini Derleme ve ECR'ye Gönderme#
⚠️ Bu adım için de yerel ortamınızı veya SageMaker notebook örneğinizi kullanarak konteyner imajınızı hazırlamaya devam edebilirsiniz.
Kaynak ve atıf
Bu yazı, dev.to üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- dev.to/aws-builders/part-3-your-first-steps-in-computer-vision-on-aws-deploying-models-for-an-asl-recognition-app-14hf