Azure ML Real-Time Endpoint Deploy

murat d
BilgeAdam Teknoloji
3 min readSep 4, 2022

Azure ML üzerinde geliştirdiğimiz bir pipeline’a anlık olarak istek gönderip kullanabiliriz.

Bunun için oluşturduğumuz pipeline’ın çalışmış olan versiyonlarına gitmemiz gerekiyor. Aşağıdaki menüden kullanmak istediğimiz pipeline’nın daha önce çalıştırılmış versiyonuna gidebiliriz.

Aşağıdaki kısımdan bir “Real-time inference pipeline” oluşturalım

Aşağıdaki şekilde yeni bir pipeline oluşmuş oldu. Burada “Submit” Butonuna tıklayarak çalıştıralım.

Çalışmış olan pipeline’larımızın listesini aşağıdaki menüden bakabiliriz. Bu son çalıştırdığımız pipeline en üstte yer alacaktır.

Aşağıdaki şekilde çalışan pipeline’ı “Jobs => Experiments (Mrt)” altında görebiliriz. Son çalışan pipeline’a tıkladığımızda aşağıdakine benzer bir ekran göreceğiz. Burada “Deploy” butonuna tıklayalım

Aşağıdaki şekilde yeni bir ekran geliyor. Deploy edeceğimiz makine türünü (Compute type) seçmemiz gerekiyor.

AKS : Azure Kubernates Services
ACI : Azure Container Services

AKS’yi büyük hacimli işlemler için kullanabilirsiniz. Örneğin projenizi canlıya alacaksanız ve yüksek performansa ihtiyacınız varsa bunu seçebilirsiniz.

ACI’yi geliştirme, test yada küçük hacimli işlemler için kullanabilirsiniz.

Performans ihitiyacınıza göre CPU ve Memory değerlerini değiştirebilirsiniz. Seçtiğiniz değelere göre ücret de değişecektir.

Bu işlemden sonra soldaki menüde “Endpoint”’e tıkladıgımızda oluşturduğumuz Real-time endpoint’i görebiliriz. Ancak bu endpoint’in oluşması biraz zaman alabilir.

Endpoint’in oluşmasını beklediğimizde aşağıdaki şekilde görünüyor olması gerekir.

Endpoint oluştuktan sonra “Consume” kısmına geldiğimizde buraya hangi URL üzerinden bağlanacağımızı ve güvenlik anahtarlarını bize gösterir.

Bu URL’yi kullanarak istekte bulunmak için “Postman” uygulamasını kullanabiliriz.

Postman uygulamasını açıp yeni bir sayfa açalım. Yukarıdaki “REST endpoint” adresini POST adresi olarak girelim.

Auhorization kısmında “Bearer Token” seçelim.

Token kısmına ise “Primary Key” değerini girelim.

Azure ML’deki Endpoint sayfamıza girdiğimizde bize örnek bir JSON vermektedir. Buradaki JSON örneğini kopyalayalım

“Postman” uygulamasında “Body” kısmına aşağıdaki şekilde yapıştıralım. Sonrasında “SEND” butonuna tıklayalım.

Yukarıdaki işlemleri yaptığımızda

Azure ML deki bir pipeline modelini herkes kullanabilsin diye web servis olarak deploy ettik.

Bu web servise Postman ile bağlanıp ona modelimize uygun verileri gönderdik. Ve bir araç fiyatı tahminlemesini istedik.

Sonuç olarak bize aşağıdaki değeri döndürmüş oldu.

Model kötü olduğu için aracın fiyatını negatif buldu :)

Kaynaklar:

https://learn.microsoft.com/en-us/azure/machine-learning/tutorial-designer-automobile-price-deploy?source=recommendations

--

--