Edge AI nedir? Her ölçümü bir veri merkezine göndermek yerine, makine öğrenimi çıkarımını veriyi toplayan cihazda veya hemen yanındaki bir ağ geçidinde çalıştırma pratiğidir. Bu yazının sonunda uçta (edge) çıkarımın nasıl çalıştığını, hangi donanımın hangi işe uygun olduğunu ve sisteminizin geri kalanının ham veri yerine yanıt alması için bir edge cihazın göndereceği mesajları nasıl tasarlayacağınızı öğreneceksiniz.
Tek Paragrafta Edge AI
Eğitilmiş bir model bir fonksiyondur: girdi verisi girer, bir tahmin çıkar. Bu fonksiyonu eğitmek büyük veri kümeleri ve çok miktarda hesaplama gücü gerektirir; bu nedenle genellikle bulutta veya bir iş istasyonunda yapılır. Onu çalıştırmak, yani çıkarım ise çok daha ucuzdur. Edge AI eğitilmiş modeli alır, küçültür ve optimize eder, ardından çıkarımı verinin doğduğu yerde çalıştırır: bir kamera, bir titreşim sensörü, bir mikrofon, bir PLC ağ geçidi. Cihaz daha sonra vardığı sonucu, örneğin "kapıda insan var", "rulman arızası olası" veya "parça hatalı" bilgisini, MQTT gibi hafif bir protokolle bildirir.
Uçta Çıkarım Nasıl Çalışır
Hedef bir mikrodenetleyici de olsa bir GPU modülü de olsa yaşam döngüsü aynıdır:
Veriyi toplayın ve etiketleyin; gerçek ortamdaki gerçek sensörlerden.
Bir model eğitin; TensorFlow, PyTorch gibi bir framework veya Edge Impulse gibi bir araçla.
Hedef için optimize edin. Tipik adımlar nicemleme (ağırlıkları 32 bit kayan nokta yerine 8 bit tam sayı olarak saklamak), budama ve belirli bir hızlandırıcı için derlemedir.
Cihaza dağıtın; bir dosya veya firmware imajı olarak.
Çıkarımı bir döngüde çalıştırın: sensörü okuyun, ön işleyin (bir görüntüyü yeniden boyutlandırın, FFT hesaplayın), modeli çalıştırın, son işleyin (eşikler uygulayın, zaman içinde yumuşatın).
Sonucu yayınlayın ve yeniden eğitim için ara sıra örnekler yükleyin.
Doğruluk kaydığında modeli güncelleyin; kontrollü bir dağıtım (rollout) kullanarak.
adım, edge AI'ın IoT ile buluştuğu yerdir. Cihaz bir video akışı veya saniyede binlerce ivmeölçer örneği göndermek yerine, ne olduğunu anlatan birkaç yüz baytlık bir mesaj yayınlar.
Yapay Zekayı Neden Uçta Çalıştırmalı
| Neden | Pratikte anlamı |
|---|---|
| Gecikme | Ağda gidiş-dönüş olmadan milisaniyeler içinde karar verilir; retler, güvenlik duruşları ve robotik için gereklidir |
| Bant genişliği | Video ve yüksek hızlı titreşim verisi yerelde kalır; ağı yalnızca sonuçlar geçer |
| Gizlilik | Görüntüler ve ses tesisten asla çıkmaz; yalnızca etiketler ve sayımlar çıkar |
| Dayanıklılık | İnternet bağlantısı koptuğunda algılama çalışmaya devam eder |
| Maliyet | Sürekli iş yükleri için daha az veri aktarımı ve bulut hesaplaması |
Ödünleşimler de vardır. Edge cihazların belleği ve hesaplama gücü sınırlıdır, bu yüzden modellerin küçük olması gerekir. Yüzlerce cihazı güncellemek tek bir bulut hizmetini güncellemekten daha zordur. Sahada çalışan bir modeli izlemek de veri merkezinde çalışan bir modeli izlemekten daha zordur. Edge AI ve bulut yapay zeka karşılaştırması, hangi yaklaşımın ne zaman kazandığını ve hibrit tasarımların bunları nasıl birleştirdiğini daha derinlemesine ele alıyor.
Edge AI Donanım Katmanları
Edge AI çok geniş bir cihaz yelpazesini kapsar. Faydalı bir zihinsel model dört katmandır:
- Mikrodenetleyiciler (ESP32-S3, Arm Cortex-M kartları). Kilobaytlarca RAM, miliwattlarca güç; anahtar kelime algılama, hareket tanıma ve titreşim sınıflandırma modelleri. Burası TinyML'in dünyasıdır; TinyML nedir yazısına bakın.
- Tek kartlı bilgisayarlar (Raspberry Pi sınıfı). Küçük görü ve ses modellerini CPU üzerinde makul kare hızlarında çalıştırır ve Python ile programlanması kolaydır.
- Tek kartlı bilgisayar artı hızlandırıcı (Coral Edge TPU, Hailo modülleri). Ayrılmış bir sinir işlemcisi modelin yükünü üstlenir ve düşük güçte gerçek zamanlı nesne algılamayı pratik hale getirir.
- GPU edge modülleri ve endüstriyel bilgisayarlar (NVIDIA Jetson, GPU'lu PC'ler). Birden çok kamera akışı, daha büyük modeller, segmentasyon ve poz tahmini.
Doğruluk ve gecikme ihtiyaçlarınızı karşılayan en düşük katmanı seçin: daha ucuzdur, daha az güç tüketir ve daha az hareketli parçası vardır. Edge AI donanım karşılaştırması belirli kartları tek tek inceliyor.
Yaygın Edge AI Kullanım Senaryoları
- Görü: insan ve araç algılama, güvenlik bölgesi izleme, hata kontrolü, sayım ve doluluk.
- Ses: anahtar kelime algılama, anormal makine sesleri, cam kırılması algılama.
- Titreşim ve akım: motor ve pompalarda rulman aşınması, dengesizlik ve hizasızlık.
- Çevresel: CO2 ve sıcaklık desenlerinden çıkarılan doluluk, sızıntı algılama.
- Endüstriyel kontrol: doğrudan ölçülmesi pahalı olan bir değeri tahmin eden sanal sensörler.
Her durumda cihaz yoğun bir sinyali seyrek ve anlamlı bir olaya dönüştürür.
Ham Veriyi Değil, Çıkarım Sonuçlarını Yayınlayın
IoT için edge AI'da en önemli tasarım kararı, hat üzerinden neyin gideceğidir. İyi bir çıkarım mesajı küçük, zaman damgalı ve kendini açıklayan bir mesajdır:
{
"ts": "2026-10-16T08:15:02Z",
"device": "pump-07",
"model": "vib-anomaly-v3",
"label": "bearing_wear",
"score": 0.87,
"window_s": 2.0
}
Cihazı bağlamına yerleştiren site/area/line/device/inference gibi bir topic hiyerarşisi kullanın ve bir abone gerçekten ihtiyaç duymadıkça ham veriyi yerelde tutun. Örneğin ConnectMQ, ISA-95 tarzı topic hiyerarşilerini tanır ve cihazlar görünümünde cihazları tesis, alan ve hatta göre gruplar; birkaç edge düğümünden fazlasına sahip olduğunuzda bu karşılığını verir. Ardından bir bulut MQTT broker, edge cihaz kimin dinlediğini bilmeden sonucu gösterge panellerine, uyarı sistemlerine, historian'lara ve bulut modellerine dağıtır.
Örnek: Python ile Bir Edge Çıkarım Yayıncısı
Aşağıdaki betik, deseni herhangi bir Linux edge cihazında gösterir. infer() fonksiyonu, TensorFlow Lite, ONNX Runtime veya bir üretici çalışma zamanıyla değiştireceğiniz bir yer tutucudur. Trafiği düşük tutmak için yalnızca etiket değiştiğinde veya kalp atışı olarak her 60 saniyede bir yayın yapar.
pip install "paho-mqtt>=2.0" numpy
import json
import time
import uuid
from datetime import datetime, timezone
import numpy as np
import paho.mqtt.client as mqtt
RUN = uuid.uuid4().hex[:8]
TOPIC = f"connectmq/demo/{RUN}/site1/pumps/pump-07/inference"
MODEL = "vib-anomaly-v3"
def read_window():
"""Yer tutucu sensör okuması: 1 kHz'te 2 sn titreşim."""
t = np.arange(2000) / 1000
signal = np.sin(2 * np.pi * 50 * t) + 0.3 * np.random.randn(t.size)
if np.random.rand() < 0.1:
signal += 0.8 * np.sin(2 * np.pi * 180 * t) # simüle edilmiş arıza harmoniği
return signal
def infer(window):
"""Yer tutucu model: arıza bandındaki enerji. Gerçek bir çalışma zamanıyla değiştirin."""
spectrum = np.abs(np.fft.rfft(window))
band = spectrum[170 * 2:190 * 2].sum() / spectrum.sum()
score = float(min(1.0, band * 8))
return ("bearing_wear" if score > 0.5 else "normal"), score
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id=f"pump-07-{RUN}")
client.connect("broker.connectmq.com", 1883, keepalive=60)
client.loop_start()
print("publishing to", TOPIC)
last_label, last_sent = None, 0.0
while True:
label, score = infer(read_window())
now = time.time()
if label != last_label or now - last_sent > 60:
msg = {
"ts": datetime.now(timezone.utc).isoformat(timespec="seconds"),
"device": "pump-07",
"model": MODEL,
"label": label,
"score": round(score, 3),
"window_s": 2.0,
}
client.publish(TOPIC, json.dumps(msg), qos=1)
print(msg)
last_label, last_sent = label, now
time.sleep(1)
Olayları görmek için başka bir terminalden yazdırılan topic'e abone olun:
mosquitto_sub -h broker.connectmq.com -p 1883 -i edge-viewer-5d1e -t 'connectmq/demo/<run-id>/#' -v
Ücretsiz herkese açık MQTT broker bu tür bir test için idealdir, ancak orada yayınlanan her şey topic'e abone olan herkes tarafından görülebilir. Gerçek cihazlar için kendi broker kimlik bilgilerinizi ve 8883 portunda TLS kullanın.
Hesaba Katılması Gereken Edge AI Tuzakları
- Sahayla eşleşmeyen eğitim verisi. Laboratuvar verisi gerçek aydınlatmayı, gürültüyü veya montajı nadiren yansıtır. Erken aşamada sahaya kurulmuş sensörlerden veri toplayın.
- Mesajlarda model sürümü olmaması. Bu olmadan, kötü bir uyarıyı hangi modelin ürettiğini anlayamazsınız.
- Sessiz kayma. Modelin ne zaman emin olmamaya başladığını görebilmek için güven skorlarını ve periyodik istatistikleri yayınlayın.
- Aşırı yayın. Her çıkarımı tam hızda göndermek bant genişliği avantajını ortadan kaldırır. Değişiklikte, eşikte veya yavaş bir kalp atışıyla yayınlayın.
- Güncelleme yolu olmaması. Yeni bir modelin cihazlara nasıl ulaşacağını ilk dağıtımdan önce planlayın; ML modellerini edge cihazlara dağıtma seçenekleri ele alıyor.
Edge modellerin bulut analitiği ve LLM ajanlarıyla birlikte nerede durduğuna dair daha geniş bir bakış için yapay zeka ve IoT rehberini okuyun.
ConnectMQ ile Başlayın
Edge AI cihazlarının sonuçlarını gönderebilecekleri güvenilir bir yere ihtiyacı vardır. ConnectMQ, TCP, TLS ve WebSocket üzerinden MQTT 3.1.1 ve 5.0'ı destekleyen, çıkarım olaylarının gelişini izlemek için canlı bir topic gezgini sunan yönetilen bir MQTT broker hizmetidir. app.connectmq.com adresinde ücretsiz Serverless planında kredi kartı gerektirmeden bir broker oluşturun ve edge cihazlarınızı ona yönlendirin.
Sık Sorulan Sorular
En basit haliyle edge AI nedir?
Edge AI, bir cihazın veriyi analiz için uzak bir sunucuya göndermek yerine, eğitilmiş bir makine öğrenimi modelini sensörlerine yakın bir yerde kendisinin çalıştırması demektir. Cihaz ardından sonucu bildirir.
Edge AI ile TinyML aynı şey mi?
TinyML, çok az belleğe ve güce sahip mikrodenetleyicilere odaklanan bir edge AI alt kümesidir. Edge AI ayrıca Raspberry Pi kartları, hızlandırıcılar ve GPU modülleri gibi daha büyük cihazları da kapsar.
Edge AI hâlâ buluta ihtiyaç duyar mı?
Genellikle evet, ancak farklı işler için: eğitim, filo izleme, uzun vadeli depolama ve birçok tesisten gelen sonuçları birleştirme. Uç gerçek zamanlı çıkarımı, bulut ise küresel bir bakıştan fayda sağlayan her şeyi üstlenir.
Edge AI sonuçları için neden MQTT kullanılmalı?
Çıkarım sonuçları, birçok sistemin tüketmek istediği küçük, olay odaklı mesajlardır. MQTT'nin yayınla/abone ol modeli, QoS seviyeleri ve düşük ek yükü bu desene çok iyi uyar.



