2015 yılında Hidden Technical Debt in Machine Learning Systems adlı makale ile temelleri atılmış olan MLOps, DevOps ile benzerlik gösterir ancak DevOps’dan farklı olarak makine öğrenimi projelerine özgü süreçleri kapsar. Yani MLOps, makine öğrenimi modelinin geliştirilmesi, Deployment (Model Dağıtımı) ve Monitoring (Üretim Sonrası İzleme) süreçlerini kapsamaktadır.
MLOps'un birincil faydaları şu şekildedir:
MLOps, veri ekiplerinin daha hızlı model geliştirme elde etmesine, daha yüksek kaliteli ML modelleri sunmasına ve daha hızlı dağıtım ve üretim yapmasına olanak tanır.
MLOps ayrıca, sürekli entegrasyon, teslim ve dağıtım için binlerce modelin, denetlenip, yönetilip ve izlenebileceği geniş ölçeklenebilirlik ve yönetim sağlar.
Makine öğrenimi modelleri zaman içerisinde verinin değişmesi veya çevresel faktörler sebebiyle modelin tahmin başarısı düşebilir. MLOps zaman içerisinde gerçekleşen bu durumun tespit edilmesine olanak sağlar.
Makine öğrenimi projelerindeki MLOps kapsamı, projeye göre farklılık gösterebilir. Bazı durumlarda, MLOps, veri hattından model üretimine kadar tüm süreci kapsar iken başka bir projede sadece model dağıtım sürecini kapsayabilir.
Tüm süreçleri kapsadığını düşünürsek bileşenleri şu şekilde sıralayabiliriz:
Kuruluşların MLOps hedeflerine ulaşmasına yardımcı olan MLOps uygulama yöntemleri vardır. MLOps sistemleri iş birlikçi, sürekli, tekrarlanabilir olmalıdır.
Başarılı bir MLOps sistemi, grup olarak bu geniş beceri yelpazesini kapsayan karma bir ekip gerektirir. Başarılı bir ekip genellikle mümkünse bir MLOps mühendisi, bir veri bilimcisi veya makine öğrenimi mühendisi, bir veri mühendisi ve bir DevOps mühendisi içerir. Buradaki temel sorun, tek başına çalışan bir veri bilimcisinin MLOps hedeflerinin tamamını gerçekleştiremeyecek olmasıdır. Bir MLOps ekibinin kesin unvanları ve organizasyonu değişiklik gösterse de, hibrit ve iş birlikçi bir ekip gerektirir.
Sistemin hedefi ve kaynağı arasındaki verilere uyguladığı bir dizi eylem olan pipeline (işlem hattı), veri mühendisliğinin temel kavramları arasındadır. Bazen MLOps işlem hatları olarak adlandırılan veri işlem hatları, genellikle her kenarın bir yürütme sırasını veya bağımlılığı temsil ettiği ve her düğümün bir eylem olduğu grafik biçiminde tanımlanır. Ayıklama, dönüştürme ve yükleme (ETL) işlem hatları olarak da adlandırılan, veri işlem hatları oluşturmak, yönetmek ve çalıştırmak için birçok özel araç mevcuttur.
Test otomasyonu, tipik olarak entegrasyon testi ve birim testi şeklini alan diğer bir temel DevOps en iyi uygulamasıdır. Yeni bir sürümü dağıtmadan önce bu testleri geçmek bir ön koşuldur. Otomatik, kapsamlı testler, üretim dağıtımlarının hızını önemli ölçüde hızlandırabilir ve ekibin güvenini artırabilir.