Öngörülü model işaretleme dili kullanılarak yapay zeka ve makine öğrenmesi modellerinin web servisi olarak servis edilmesi
Deploying artificial intelligence and machine learning models as a web service using predictive model markup language
Yazar: ERSİN YILDIZ
Danışman: PROF. DR. TURGAY TUGAY BİLGİN
Bursa Teknik Üniversitesi / Lisansüstü Eğitim Enstitüsü / Akıllı Sistemler Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2022
Konu: Bilim ve Teknoloji = Science and Technology
Dizin: Bilgisayar yazılım dilleri = Computer software languages ; Makine öğrenmesi = Machine learning ; Mimari yazılımlar = Architectural softwares ; Uygulama yazılımı = Application software ; Web servisleri = Web services ; Yapay zeka = Artificial intelligence

Özet:
Bilgisayar teknolojisi günden güne gelişmekte ve bu gelişim yukarı yönde ivmelenerek devam etmektedir. Gelişen bilgisayar ve elektronik teknolojisi, bilgisayar özelliği taşıyan cihazların üretimindeki maliyeti düşürmüş, son kullanıcıya ulaşmasını kolaylaştırmıştır. Buna paralel olarak gelişmekte olan internet teknolojisi de son kullanıcıların bilgisayarlarla olan temas noktalarının çeşitlenmesini sağlamış ve insan bilgisayar etkileşimini artmıştır. Bunun bir sonucu olarak günümüz bilgisayar kullanıcıları üretilen ham veride önemli bir kaynak haline gelmişlerdir. Son kullanıcı pazarının yanında endüstrideki dijital dönüşüm akımının ve buna bağlı çalışmaların bir neticesi olarak kurumların ham veriye olan bakış açısı değişmiş, veri toplama ve anlamlandırma alanındaki çalışmalar önem kazanmıştır. Kurumlar 
topladıkları ham veriyi depolama, işleme, anlamlandırma ve gelecekte kullanma yönünde çalışmalar yapmaktadırlar.
Bahsedilen gelişmeler neticesinde veri madenciliği ve makine öğrenmesi alanlarında yapılan çalışmalar önem kazanmış, bu alanda iş gücü ihtiyacı artmıştır. Ham verinin toplanması, analiz edilmesi, işlenmesi, model eğitilmesi ve başka bir projeye entegre edilmesi aşamalarının her biri farklı disiplinler içermekte, tek kişinin tüm sürece hakim olması güçleşmektedir. Bu çalışmada eğitilmiş bir makine öğrenmesi modelinin öngörüleme aşamasında üçüncü taraf herhangi bir uygulama ile entegre olabilmesi için modellerin web servisi olarak servis edilmesi amaçlanmıştır. Böylelikle veri bilimcilerin veya veri mühendislerinin modelin entegrasyonuna ayıracağı zamanı en aza indirmek ve proje maliyetini düşürmek hedeflenmiştir. Modellerin web servisine dönüştürülmesi çalışmasında model serileştirme yöntemi olarak öngörülü model işaretleme dili (Predictive Model Markup Language: PMML) tercih edilmiştir. PMML birçok veri madenciliği uygulamasınca desteklenmektedir ve model serileştirmede ortak dil olarak kabul edilmiştir. Geliştiricilerin ürettikleri 
PMML dosyalarını yükleyebilecekler, yönetebilecekleri ve elde edecekleri uçbirimlerin dokümantasyonunu görebilecekleri, hizmet olarak yazılım mantığında çalışan bir de arayüz geliştirilmiştir. Yapılan çalışmalar neticesinde bir web arayüzü ve bir sunucu taraflı uygulama geliştirilmiştir. Web arayüzü kullanıcı yönetimi ve model yönetimi için arayüz 
sağlamaktadır. Sunucu taraflı uygulama ise önyüz isteklerini karşılamakta ve ek olarak modellerin seri durumdan çıkarılarak tahmin işleminin gerçekleştirilmesi için bir uygulama arayüzü sunmaktadır. Çalışma sonunda, literatürde kabul görmüş örnek veri setleri kullanılarak, geliştirilen sistemin performans ölçümleri yapılmış, yük altındaki tepkisi incelenmiştir. Modelin web servisine dönüştürülmesi durumunda tahmin süresindeki değişimin araştırılması ve veri seti büyüklüğünün PMML dokümanının büyüklüğüne etkisinin araştırılması gerçekleştirilmiştir. Sonrasında ise sistemin normal yük altında ve ani yük artışı durumunda ortalama yanıt süresi, doğruluk değeri, hata oranı ve standart sapma 
metrikleri üzerinden değerlendirmesi yapılmıştır. Ölçümler sonucunda, sistemin genel olarak istekleri karşılamada kararlı davrandığı görülmüş, fakat bazı sınıflandırıcı algoritmalarda düşük performans gösterirken bazılarında ise yüksek performans gösterebildiği görülmüştür. Dolayısıyla böyle bir sistemde kullanılması hedeflenen model eğitilirken PMML serileştirmesine ve hızlı öngörülemeye uygun algoritmaların seçilmesi önerilmiştir.

Abstract:
Computer technology is developing day by day and the development continues by accelerating upwards. Developments in computer and electronic technology have reduced the production costs of devices with computer features and made it easier to reach the end user. In addition, the developing internet technology has also enabled the diversity of the end users' contact points with computers and increased humancomputer interaction. As a result of this, today's computer users have become an important source of raw data produced. In addition to the end-user market, as a result of the digital transformation trend in the industry and related studies, the perspective of corporations on raw data has changed, and studies in the field of data collection and interpretation have gained importance. Corporations are working on storing, processing, interpreting and using the raw data they collect in the future. As a result of the aforementioned developments, studies in the fields of data mining and machine learning have gained importance, and the need for labor in this field has increased. The stages of collecting, analyzing, processing, training a model and 
integrating it into another project involve different disciplines, making it difficult for a single person to dominate the whole process. In this study, it is aimed to serve the models as a web service so that a trained machine learning model can be integrated with any third-party application during the prediction phase. Thus, it is aimed to minimize the time that data scientists or data engineers will devote to the integration of the model and to reduce the cost of the project. Predictive Model Markup Language (PMML) was preferred as the model serialization method in the conversion of models to web service. PMML is supported by many data mining applications and has been adopted as the common language for model serialization. A software-as-a-service interface has also been developed, where developers can upload, manage and view the documentation of the endpoints they produce. As a result of the studies, a web interface and a server-side application were developed. The web interface provides interface for user management and model management. The server-side application, on the other hand, handles the frontend requests and additionally provides an application interface for deserializing models and performing the prediction process. At the end of the study, performance measurements of the developed system were made using sample data sets accepted in the literature, and its response under load was examined. In the case of converting the model to a web service, the change in the prediction time and the effect of the size of the data set on the size of the PMML document were investigated. Afterwards, the system was evaluated on average 
response time, throughput, error rate and standard deviation metrics under normal load and in case of sudden load increase. As a result of the measurements, it was seen that the system was stable in meeting the requests in general, but it was seen that it showed low performance in some classifier algorithms and high performance in others. Therefore, it has been suggested to select algorithms suitable for PMML serialization and fast prediction while training the 
model intended to be used in such a system.