MLOps: Makine Öğrenimi Dünyasında DevOps

2018 yılında MLOps kavramı profesyonel çevrelerde ve sektörde hızla benimsenen ve şu anda bağımsız bir yön olarak gelişen yapay zekaya yönelik tematik konferanslarda ortaya çıktı. Gelecekte MLOps, BT'deki en popüler alanlardan biri haline gelebilir. Nedir ve neyle yenir? Aşağıda öğrenelim.

MLOps: Makine Öğrenimi Dünyasında DevOps

MLOps nedir?

MLOps (makine öğrenimi teknolojilerini, süreçlerini ve geliştirilen modelleri iş süreçlerine uygulamaya yönelik yaklaşımları birleştirmek), yapay zeka sistemleri oluştururken iş temsilcileri, bilim adamları, matematikçiler, makine öğrenimi uzmanları ve BT mühendisleri arasında işbirliğinin yeni bir yoludur.

Başka bir deyişle, makine öğrenimi yöntem ve teknolojilerini iş sorunlarını çözmek için yararlı bir araca dönüştürmenin bir yoludur. 

Verimlilik zincirinin modelin geliştirilmesinden çok önce başladığını anlamak gerekir. İlk adımı, bir iş problemini, verilerden çıkarılabilecek değere ilişkin bir hipotezi ve bunu uygulamaya yönelik bir iş fikrini tanımlamaktır. 

MLOps kavramı, makine öğrenimi modelleri ve teknolojileriyle ilişkili olarak DevOps kavramına bir benzetme olarak ortaya çıktı. DevOps, sürekli geliştirme, işlevlerin bir dizi bağımsız mikro hizmete bölünmesi, otomatikleştirilmiş test ve bireysel dağıtımların dağıtılması da dahil olmak üzere bir dizi yaklaşımı kullanarak esnekliği ve güvenilirliği korurken bireysel değişikliklerin uygulama hızını artırmanıza olanak tanıyan bir yazılım geliştirme yaklaşımıdır. değişiklikler, küresel sağlık izleme, tespit edilen arızalara hızlı müdahale sistemi vb. 

DevOps, yazılım yaşam döngüsünü tanımladı ve topluluk, aynı metodolojiyi büyük verilere uygulama fikrini ortaya attı. DataOps, büyük miktarlarda verinin çeşitli ve birlikte çalışabilen platformlarda depolanması, iletilmesi ve işlenmesi özelliklerini dikkate alarak metodolojiyi uyarlama ve genişletme girişimidir.
  
İşletmelerin iş süreçlerinde uygulanan belirli bir kritik makine öğrenimi modeli kitlesinin ortaya çıkmasıyla birlikte, matematiksel makine öğrenimi modellerinin yaşam döngüsü ile yazılım yaşam döngüsü arasında güçlü bir benzerlik fark edildi. Tek fark, model algoritmaların makine öğrenmesi araç ve yöntemleri kullanılarak oluşturulmasıdır. Bu nedenle, makine öğrenimi modelleri için yazılım geliştirmede halihazırda bilinen yaklaşımların uygulanması ve uyarlanması fikri doğal olarak ortaya çıktı. Böylece, makine öğrenimi modellerinin yaşam döngüsünde aşağıdaki temel aşamalar ayırt edilebilir:

  • bir iş fikrinin tanımlanması;
  • model eğitimi;
  • modelin test edilmesi ve iş sürecine uygulanması;
  • modelin işleyişi.

Operasyon sırasında modeli yeni verilerle değiştirmeye veya yeniden eğitmeye ihtiyaç duyulduğunda döngü yeniden başlar; model geliştirilir, test edilir ve yeni bir sürüm devreye alınır.

Geri çekilmek. Neden yeniden eğitip yeniden eğitmiyorsunuz? "Modeli yeniden eğitme" teriminin çift anlamı vardır: uzmanlar arasında bu, modelin iyi tahminde bulunması, aslında tahmin edilen parametreyi eğitim setinde tekrarlaması, ancak harici veri örneğinde çok daha kötü performans göstermesi durumunda bir model hatası anlamına gelir. Doğal olarak böyle bir model bir kusurdur çünkü bu kusur kullanımına izin vermemektedir.

Bu yaşam döngüsünde DevOps araçlarını kullanmak mantıklı görünüyor: otomatik test etme, dağıtım ve izleme, model hesaplamalarını ayrı mikro hizmetler biçiminde tasarlama. Ancak bu araçların ek ML bağlaması olmadan doğrudan kullanımını engelleyen bir dizi özellik de vardır.

MLOps: Makine Öğrenimi Dünyasında DevOps

Modellerin çalışması ve karlı olması nasıl sağlanır?

MLOps yaklaşımının kullanımını göstereceğimiz bir örnek olarak, bir bankacılık (veya başka herhangi bir) ürün için sohbet desteğini robotlaştırma gibi klasik görevi ele alacağız. Tipik olarak, bir sohbet desteği iş süreci şuna benzer: Bir müşteri, bir sohbete soru içeren bir mesaj girer ve önceden tanımlanmış bir diyalog ağacı dahilinde bir uzmandan yanıt alır. Böyle bir sohbeti otomatikleştirme görevi genellikle, geliştirilmesi ve sürdürülmesi çok emek gerektiren, ustalıkla tanımlanmış kurallar dizisi kullanılarak çözülür. Bu tür otomasyonun verimliliği, görevin karmaşıklık düzeyine bağlı olarak %20-30 olabilir. Doğal olarak, bir yapay zeka modülünün (makine öğrenimi kullanılarak geliştirilen bir model) uygulanmasının daha karlı olduğu fikri ortaya çıkıyor:

  • operatörün katılımı olmadan daha fazla sayıda talebi işleyebilir (konuya bağlı olarak bazı durumlarda verimlilik %70-80'e ulaşabilir);
  • diyalogdaki standart dışı ifadelere daha iyi uyum sağlar - açıkça formüle edilmemiş bir talebe dayanarak kullanıcının niyetini, gerçek arzusunu belirleyebilir;
  • modelin cevabının ne zaman yeterli olduğunu ve bu cevabın “farkındalığı” konusunda şüpheler olduğunda ve ek açıklayıcı bir soru sormanız veya operatöre geçmeniz gerektiğinde nasıl belirleneceğini bilir;
  • ek olarak otomatik olarak da eğitilebilir (yanıt komut dosyalarını sürekli olarak uyarlayan ve düzelten bir grup geliştirici yerine, model ayrıca uygun makine öğrenimi kitaplıkları kullanılarak bir Veri Bilimi uzmanı tarafından eğitilir). 

MLOps: Makine Öğrenimi Dünyasında DevOps

Bu kadar gelişmiş bir model nasıl çalışır hale getirilir? 

Diğer herhangi bir sorunu çözerken olduğu gibi, böyle bir modül geliştirmeden önce bir iş sürecini tanımlamak ve makine öğrenimi yöntemini kullanarak çözeceğimiz belirli görevi resmi olarak tanımlamak gerekir. Bu noktada Ops kısaltmasıyla ifade edilen operasyonelleştirme süreci başlıyor. 

Bir sonraki adım, Veri Bilimcisinin, Veri Mühendisi ile işbirliği içinde, verilerin kullanılabilirliğini ve yeterliliğini ve iş fikrinin uygulanabilirliğine ilişkin iş hipotezini kontrol etmesi, bir prototip model geliştirmesi ve bunun gerçek etkinliğini test etmesidir. Bir modelin geliştirilmesinden, belirli bir iş sürecini gerçekleştiren sistemlere entegre edilmesine geçiş ancak işletme tarafından onaylandıktan sonra başlayabilir. Uçtan uca uygulama planlaması, modelin nasıl kullanılacağı ve hangi ekonomik etkiyi getireceğinin her aşamada derinlemesine anlaşılması, MLOps yaklaşımlarının şirketin teknolojik ortamına dahil edilmesi süreçlerinde temel bir noktadır.

Yapay zeka teknolojilerinin gelişmesiyle birlikte makine öğrenimi kullanılarak çözülebilecek sorunların sayısı ve çeşitliliği katlanarak artıyor. Bu tür iş süreçlerinin her biri, kitlesel çalışanların (çağrı merkezi, belgelerin kontrol edilmesi ve tasnif edilmesi vb.) emeğinin otomasyonu nedeniyle şirket için bir tasarruftur, yeni çekici ve kullanışlı işlevler eklenerek müşteri tabanının genişletilmesidir, kaynakların optimum kullanımı ve yeniden dağıtımı ve çok daha fazlası nedeniyle para tasarrufu sağlıyor. Sonuçta herhangi bir süreç değer yaratmaya odaklanır ve sonuç olarak belirli bir ekonomik etki getirmesi gerekir. Burada iş fikrini açıkça formüle etmek ve modelin şirketin genel değer yaratma yapısında uygulanmasından beklenen karı hesaplamak çok önemlidir. Bir modelin uygulanmasının kendini haklı çıkarmadığı durumlar vardır ve makine öğrenimi uzmanlarının harcadığı zaman, bu görevi gerçekleştiren operatörün işyerinden çok daha pahalıdır. Bu nedenle yapay zeka sistemleri oluşturmanın ilk aşamalarında bu tür durumları tespit etmeye çalışmak gerekiyor.

Sonuç olarak, modeller ancak MLOps sürecinde iş problemi doğru bir şekilde formüle edildiğinde, öncelikler belirlendiğinde ve modelin sisteme dahil edilmesi süreci geliştirmenin ilk aşamalarında formüle edildiğinde kar elde etmeye başlar.

Yeni süreç – yeni zorluklar

ML modellerinin sorunların çözümünde ne kadar uygulanabilir olduğuna ilişkin temel iş sorusuna kapsamlı bir yanıt olan yapay zekaya duyulan genel güven sorunu, MLOps yaklaşımlarını geliştirme ve uygulama sürecindeki en önemli zorluklardan biridir. Başlangıçta işletmeler, makine öğreniminin süreçlere dahil edilmesi konusunda şüphecidir; daha önce kural olarak insanların çalıştığı yerlerde modellere güvenmek zordur. İş dünyası için programlar, geçerliliğinin hâlâ kanıtlanması gereken bir “kara kutu” gibi görünüyor. Ayrıca bankacılıkta, telekom operatörlerinin ve diğerlerinin işlerinde hükümet düzenleyicilerinin katı gereklilikleri vardır. Bankacılık süreçlerinde uygulanan tüm sistem ve algoritmalar denetime tabidir. Bu sorunu çözmek, iş dünyasına ve düzenleyicilere yapay zeka yanıtlarının geçerliliğini ve doğruluğunu kanıtlamak için modelle birlikte izleme araçları da tanıtılıyor. Ayrıca, düzenleyici modeller için zorunlu olan ve Merkez Bankası'nın gerekliliklerini karşılayan bağımsız bir doğrulama prosedürü bulunmaktadır. Bağımsız bir uzman grubu, girdi verilerini dikkate alarak modelin elde ettiği sonuçları denetler.

İkinci zorluk, bir makine öğrenimi modelini uygularken model risklerini değerlendirmek ve hesaba katmaktır. Bir kişi aynı elbisenin beyaz mı yoksa mavi mi olduğu sorusuna yüzde yüz kesin olarak cevap veremese bile yapay zekanın da hata yapma hakkı vardır. Verilerin zamanla değişebileceğini ve yeterince doğru bir sonuç üretebilmek için modellerin yeniden eğitilmesi gerektiğini de dikkate almakta fayda var. İş sürecinin zarar görmemesini sağlamak için model risklerini yönetmek ve modelin performansını izlemek, onu düzenli olarak yeni verilerle yeniden eğitmek gerekir.

MLOps: Makine Öğrenimi Dünyasında DevOps

Ancak güvensizliğin ilk aşamasından sonra tam tersi etki ortaya çıkmaya başlar. Süreçlere ne kadar çok model başarılı bir şekilde uygulanırsa, işletmenin yapay zeka kullanımına olan iştahı o kadar artar; makine öğrenimi yöntemleri kullanılarak çözülebilecek yeni ve yeni sorunlar bulunur. Her görev, belirli yetkinlikler gerektiren bir sürecin tamamını tetikler:

  • veri mühendisleri verileri hazırlar ve işler;
  • veri bilimcileri makine öğrenimi araçlarını kullanır ve bir model geliştirir;
  • BT modeli sisteme uygular;
  • ML mühendisi, taleplerin akışını, yanıt süresini vb. dikkate alarak modelin uygulama modunun gereksinimlerine bağlı olarak bu modelin sürece nasıl doğru bir şekilde entegre edileceğini, hangi BT araçlarının kullanılacağını belirler. 
  • Bir makine öğrenimi mimarı, bir yazılım ürününün endüstriyel bir sistemde fiziksel olarak nasıl uygulanabileceğini tasarlar.

Döngünün tamamı çok sayıda yüksek vasıflı uzman gerektirir. ML modellerinin geliştirilmesinde ve iş süreçlerine nüfuz etme derecesinde belirli bir noktada, görev sayısındaki artışla orantılı olarak uzman sayısını doğrusal olarak ölçeklendirmenin pahalı ve etkisiz hale geldiği ortaya çıkıyor. Bu nedenle, MLOps sürecinin otomatikleştirilmesi sorusu ortaya çıkıyor - birkaç standart makine öğrenimi problemi sınıfının tanımlanması, standart veri işleme ardışık düzenlerinin geliştirilmesi ve modellerin ek eğitimi. İdeal bir resimde, bu tür sorunların çözülmesi, Büyük Veri, Veri Bilimi, DevOps ve BT'nin kesişimindeki yetkinliklerde eşit derecede yetkin olan profesyonelleri gerektirir. Dolayısıyla Veri Bilimi sektöründeki en büyük sorun ve MLOps süreçlerini organize etmedeki en büyük zorluk, mevcut eğitim pazarında bu tür bir yetkinliğin olmayışıdır. Bu gereksinimleri karşılayan uzmanlar şu anda işgücü piyasasında nadirdir ve ağırlıkları altın değerindedir.

Yetkiler konusu hakkında

Teorik olarak, tüm MLOps görevleri klasik DevOps araçları kullanılarak ve rol modelinin özel bir uzantısına başvurmadan çözülebilir. O halde, yukarıda belirttiğimiz gibi, bir veri bilimcisi yalnızca bir matematikçi ve veri analisti değil, aynı zamanda tüm boru hattının gurusu olmalıdır - mimariyi geliştirmekten, mimariye bağlı olarak modelleri çeşitli dillerde programlamaktan, hazırlamaktan sorumludur. bir veri merkezi ve uygulamanın kendisinin konuşlandırılması. Ancak uçtan uca MLOps sürecinde uygulanan teknolojik çerçevenin oluşturulması, işçilik maliyetlerinin %80'ine kadar çıkmaktadır, bu da kaliteli bir Veri Bilimcisi olan nitelikli bir matematikçinin zamanının yalnızca %20'sini uzmanlığına ayıracağı anlamına gelmektedir. . Bu nedenle, makine öğrenimi modellerinin uygulanması sürecinde yer alan uzmanların rollerinin tanımlanması hayati önem taşımaktadır. 

Rollerin ne kadar ayrıntılı tanımlanması gerektiği işletmenin büyüklüğüne bağlıdır. Bir startup'ın enerji rezervinde çalışkan, kendi mühendisi, mimarı ve DevOps'u olan bir uzmanının olması bir şeydir. Büyük bir kuruluşta, tüm model geliştirme süreçlerinin birkaç üst düzey Veri Bilimi uzmanı üzerinde yoğunlaşması, iş piyasasında daha yaygın ve daha ucuz bir yetkinlik olan bir programcı veya veritabanı uzmanının görev alması tamamen farklı bir konudur. işin çoğunda, rutin görevlerde.

Dolayısıyla geliştirilen modellerin hızı ve kalitesi, ekibin üretkenliği ve içindeki mikro iklim, MLOps sürecini destekleyecek uzmanların seçiminde sınırın nerede olduğuna ve geliştirilen modellerin operasyonel hale getirilmesi sürecinin nasıl organize edildiğine doğrudan bağlıdır. .

Ekibimizin halihazırda yaptığı şey

Yakın zamanda bir yetkinlik yapısı ve MLOps süreçleri oluşturmaya başladık. Ancak model yaşam döngüsü yönetimi ve modellerin hizmet olarak kullanılmasına ilişkin projelerimiz halihazırda MVP test aşamasındadır.

Ayrıca büyük bir işletme için en uygun yeterlilik yapısını ve süreçteki tüm katılımcılar arasındaki etkileşimin organizasyon yapısını da belirledik. Tüm kurumsal müşterilerin sorunlarını çözmek için çevik ekipler organize edildi ve inşaat halindeki MLOps binasının temeli olan platformlar ve altyapı oluşturmak için proje ekipleriyle bir etkileşim süreci oluşturuldu.

Geleceğe yönelik sorular

MLOps, yetkinlik sıkıntısı çeken ve gelecekte ivme kazanacak, büyüyen bir alandır. Bu arada DevOps gelişmelerinden ve uygulamalarından faydalanmak en iyisidir. MLOps'un temel amacı, iş sorunlarını çözmek için ML modellerini daha etkin bir şekilde kullanmaktır. Ancak bu birçok soruyu gündeme getiriyor:

  • Modelleri üretime sokma süresi nasıl kısaltılır?
  • Farklı yetkinliklere sahip ekipler arasındaki bürokratik sürtüşmeleri nasıl azaltabilir ve işbirliğine odaklanmayı nasıl artırabiliriz?
  • Modelleri nasıl takip edebilir, versiyonları nasıl yönetebilir ve etkili izlemeyi nasıl organize edebiliriz?
  • Modern bir makine öğrenimi modeli için gerçek anlamda döngüsel bir yaşam döngüsü nasıl oluşturulur?
  • Makine öğrenimi süreci nasıl standartlaştırılır?

Bu soruların yanıtları, MLOps'un tam potansiyeline ne kadar hızlı ulaşacağını büyük ölçüde belirleyecektir.

Kaynak: habr.com

Yorum ekle