Modern endüstriyel ortamda, reaktif bakımdan tahmin edici bakıma geçiş artık bir rekabet avantajı değil, bir zorunluluktur. Yapılandırılmış sensör verileri (titreşim, sıcaklık, basınç) uzun süredir bu sistemlerin omurgasını oluştururken, devasa miktarda yapılandırılmamış veri hala değerlendirilmiyor. Bunlar arasında termal görüntüler, akustik kayıtlar ve denetim dronlarından gelen ham video akışları yer alır. Bu verilerden yararlanmak, yüksek boyutlu ve yapılandırılmamış girdileri işleyip gerçek zamanlı tahminler sunan sağlam Otomatik Makine Öğrenimi (AutoML) hatlarına ihtiyaç duyar.
Bu yazı, yapılandırılmamış endüstriyel veriler için özel olarak tasarlanmış AutoML hatları oluşturmanın mimarisi, zorlukları ve uygulama stratejilerini incelemektedir.
Endüstriyel Ortamlarda Yapılandırılmamış Verilerin Zorluğu
Geleneksel makine öğrenimi modelleri genellikle özelliklerin manuel olarak mühendislik yapıldığı tablo verilerine dayanır. Ancak, görüntüler ve zaman serisi ses dalgaları gibi yapılandırılmamış verilerde açık özellik tanımları bulunmaz. Örneğin, bir motor rulmanının termal görüntüsünde "ısı dağılımı varyansı" gibi basit bir sütun bulunmaz. Bu ham girdilerden anlamlı kalıplar çıkarmak genellikle Konvolüsyonel Sinir Ağları (CNN) veya Transformer gibi derin öğrenim mimarileri gerektirir.
Bu modelleri manuel olarak oluşturmak zaman alıcıdır ve uzmanlık gerektirir. İşte AutoML devreye girer. AutoML, özellik çıkarımını, model seçimini ve hiperparametre ayarını otomatikleştirerek veri bilimcilerin model mimarilerinin tekrarlayan kodlaması yerine iş mantığına odaklanmasını sağlar. Ancak kritik engel, gecikmenin milisaniyelerle ölçüldüğü gerçek zamanlı ortamlarda bu modelleri dağıtmaktır.
AutoML Hattının Mimarisi
Yapılandırılmamış veriler için etkili bir hatta dört ayrı aşama bulunur: Veri Girişi, Özellik Çıkarımı, Model Eğitimi ve Gerçek Zamanlı Çıkarım.
Giriş aşamasında, IoT cihazlarından gelen ham veri akışları, genellikle Apache Kafka gibi mesaj aracıları kullanılarak tamponlanır. Bu, veri patlamalarının işleme kümesini aşmasını engeller. Ardından verilerin ön işlenmesi gerekir. Görüntüler için bu, normalleştirme ve artırma işlemlerini; ses için ise spektrogram oluşturma işlemlerini içerir.
Sistemin çekirdeği AutoML motorudur. Google Cloud Vertex AI, AWS SageMaker Autopilot gibi ticari platformlar veya PyCaret ve AutoGluon gibi açık kaynaklı çerçeveler, endüstriyel verilerdeki belirli gürültü kalıplarına en uygun en iyi sinir ağı mimarisini otomatik olarak arayabilir.
Python ile Hattın Uygulanması
Ticari platformlar kullanım kolaylığı sunarken, MLflow ve Keras ile özel uygulamalar, gerçek zamanlı gecikme optimizasyonu için daha fazla kontrol sağlar. Aşağıda, hayali bir yapılandırılmamış görüntü veri seti kullanılarak otomatik özellik çıkarımı ve eğitim döngüsünün nasıl yapılandırılacağına dair kavramsal bir örnek verilmiştir.
import tensorflow as tf
import mlflow
from keras import layers, models
def build_auto_model(input_shape):
"""
Termal görüntü analizi için otomatik olarak bir CNN mimarisi oluşturur.
Üretim ortamındaki bir AutoML döngüsünde bu, arama alanı olurdu.
"""
model = models.Sequential([
layers.Conv2D(32, (3, 3), activation='relu', input_shape=input_shape),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Flatten(),
layers.Dense(128, activation='relu'),
layers.Dropout(0.5),
layers.Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
return model
def train_and_log(data_generator, params):
with mlflow.start_run():
model = build_auto_model(params['input_shape'])
# Hiperparametre ayarı mantığının otomatikleştirilmesi buraya gelir
# Gösterim için sabit bir öğrenme oranı kullanıyoruz
model.fit(
data_generator,
epochs=params['epochs'],
validation_split=0.2
)
mlflow.log_metric("validation_accuracy", model.evaluate(data_generator)[1])
mlflow.keras.log_model(model, "model")
# Yürütme akışı, genellikle gelen veri parçalarına veya planlı aralıklara dayalı olarak
# bu işlevi tetikleyen bir zamanlayıcı tarafından yürütülür.
Gerçek Zamanlı Çıkarım İçin Optimize Etme
Eğitim sadece savaşın yarısıdır. Ağır görüntü verileri üzerinde eğitilmiş bir modeli gerçek zamanlı çıkarım için dağıtmak önemli bir optimizasyon gerektirir. Endüstriyel ortamlarda, bir arızanın tespitinde 500 milisaniyelik bir gecikme, felaket bir arızaya yol açabilir.
Alt saniye gecikmesi elde etmek için şunları göz önünde bulundurun:
- Model Kuantizasyonu: Model boyutunu küçültmek ve kenar cihazlarda çıkarımı hızlandırmak için kayan nokta ağırlıklarını 8-bit tamsayılara dönüştürün.
- TensorRT veya ONNX Runtime: Aşırı yükü en aza indirmek için belirli donanımınıza (GPU veya NPU) göre optimize edilmiş çıkarım motorlarını kullanın.
- Yayın Mimarisi: Toplu işlem yerine, veriler geldikçe veri karelerini işleyin. Çıkarım API'si Kubernetes aracılığıyla ölçeklenebilir olan, konteynerize edilmiş bir mikro hizmet mimarisi kullanın.
Örneğin, gerçek zamanlı akışta bir anormallik tespit edildiğinde, sistem bir uyarı tetiklemeli ve potansiyel olarak kapalı döngü bir geri bildirim mekanizması içinde daha yüksek doğruluklu bir ikincil tanı modeli başlatmalıdır.
Sonuç
Yapılandırılmamış endüstriyel veriler için Otomatik Makine Öğrenimi hatları, tahmin edici bakımın geleceğini temsil etmektedir. Yapılandırılmış metriklerin ötesine geçerek görüntüleri, sesleri ve videoları dahil etmek, organizasyonların arızaları daha önce ve daha yüksek doğrulukla tespit etmelerini sağlar. Ancak, bu hatları yönetmenin karmaşıklığı, mimari, otomasyon ve optimizasyon için disiplinli bir yaklaşım gerektirir.
Geliştiriciler için yol, AutoML araçlarını sağlam MLOps uygulamalarıyla entegre etmeyi içerir. Bulut tabanlı çözümlerden yararlanmak veya özel TensorFlow hatları oluşturmak olsun, amaç aynıdır: Ham, kaotik endüstriyel verileri, makinelerin çalışmasını ve üretim hatlarının verimli kalmasını sağlayan, eyleme dönüştürülebilir, gerçek zamanlı bir zekaya dönüştürmektir.