ML ardışık düzenleri

Üretim makine öğreniminde amaç tek bir model oluşturup dağıtmak değildir. Amaç, zaman içinde modelleri geliştirme, test etme ve dağıtma için otomatik işlem hatları oluşturmaktır. Neden? Dünya değiştikçe verilerdeki trendler de değişir ve bu durum, üretimdeki modellerin eskimesine neden olur. Modellerin uzun vadede yüksek kaliteli tahminler sunmaya devam edebilmesi için genellikle güncel verilerle yeniden eğitilmesi gerekir. Başka bir deyişle, eski modelleri yenileriyle değiştirmek isteyeceksiniz.

İşlem hatları olmadan eski bir modeli değiştirmek hataya açık bir süreçtir. Örneğin, bir model kötü tahminler sunmaya başladığında yeni verilerin manuel olarak toplanıp işlenmesi, yeni bir modelin eğitilmesi, kalitesinin doğrulanması ve son olarak dağıtılması gerekir. Makine öğrenimi ardışık düzenleri, bu tekrarlayan süreçlerin çoğunu otomatikleştirerek modellerin yönetimini ve bakımını daha verimli ve güvenilir hale getirir.

Ardışık düzenler oluşturma

Makine öğrenimi işlem hatları, modelleri oluşturma ve dağıtma adımlarını iyi tanımlanmış görevler halinde düzenler. İşlem hatlarının iki işlevinden biri tahmin sunmak, diğeri ise modeli güncellemektedir.

Tahminleri yayınlama

Sunum işlem hattı tahminler sunar. Modelinizi gerçek dünyaya sunarak kullanıcılarınızın erişimine açar. Örneğin, bir kullanıcı tahmin istediğinde (yarın hava nasıl olacak, havaalanına gitmek kaç dakika sürecek veya önerilen videoların listesi) yayın ardışık düzeni, kullanıcının verilerini alır ve işler, bir tahminde bulunur ve ardından bunu kullanıcıya iletir.

Modeli güncelleme

Modeller, üretime alındıktan hemen sonra eski hale gelme eğilimindedir. Bu nedenle, eski bilgileri kullanarak tahminlerde bulunurlar. Eğitim veri kümeleri, bir gün önce veya bazı durumlarda bir saat önce dünyadaki durumu yakaladı. Dünya kaçınılmaz olarak değişti: Bir kullanıcı daha fazla video izledi ve yeni bir öneri listesine ihtiyaç duyuyor; yağmur trafiği yavaşlattı ve kullanıcıların varış zamanlarıyla ilgili güncellenmiş tahminlere ihtiyacı var; popüler bir trend, perakendecilerin belirli öğeler için güncellenmiş envanter tahminleri istemesine neden oluyor.

Genellikle ekipler, üretim modeli eskimeye başlamadan çok önce yeni modelleri eğitir. Bazı durumlarda ekipler, sürekli eğitim ve dağıtım döngüsünde her gün yeni modeller eğitip dağıtır. İdeal olarak, yeni modelin eğitimi, üretim modelinin eskimesinden çok önce yapılmalıdır.

Yeni bir modeli eğitmek için aşağıdaki işlem hatları birlikte çalışır:

  • Veri ardışık düzeni. Veri ardışık düzeni, eğitim ve test veri kümeleri oluşturmak için kullanıcı verilerini işler.
  • Eğitim ardışık düzeni. Eğitim ardışık düzeni, veri ardışık düzeninden gelen yeni eğitim veri kümelerini kullanarak modelleri eğitir.
  • Doğrulama ardışık düzeni. Doğrulama ardışık düzeni, veri ardışık düzeni tarafından oluşturulan test veri kümelerini kullanarak eğitilmiş modeli üretim modeliyle karşılaştırarak doğrular.

Şekil 4'te her makine öğrenimi ardışık düzeninin girişleri ve çıkışları gösterilmektedir.

ML işlem hatları

Giriş ve çıkışlarını gösteren makine öğrenimi ardışık düzenleri. Sunum ardışık düzeni, kullanıcı girişini alır ve tahminler sunar. Veri ardışık düzeni, eğitim ve doğrulama ardışık düzeninin yeni modelleri eğitmek ve doğrulamak için kullandığı eğitim ve test veri kümelerini oluşturmak üzere uygulama verileri günlüklerini işler.

Şekil 4. Makine öğrenimi ardışık düzenleri, modellerin geliştirilmesi ve bakımıyla ilgili birçok süreci otomatikleştirir. Her ardışık düzende girişler ve çıkışlar gösterilir.

Genel olarak, işlem hatlarının üretimde güncel bir model tutma şekli şöyledir:

  1. Öncelikle bir model üretime alınır ve yayınlama işlem hattı tahminler sunmaya başlar.

  2. Veri ardışık düzeni, yeni eğitim ve test veri kümeleri oluşturmak için hemen veri toplamaya başlar.

  3. Eğitim ve doğrulama ardışık düzenleri, bir programa veya tetikleyiciye göre veri ardışık düzeni tarafından oluşturulan veri kümelerini kullanarak yeni bir modeli eğitir ve doğrular.

  4. Doğrulama işlem hattı, yeni modelin üretim modelinden daha kötü olmadığını onayladığında yeni model dağıtılır.

  5. Bu işlem sürekli olarak tekrarlanır.

Modelin güncelliğini yitirmesi ve eğitim sıklığı

Neredeyse tüm modeller eskiyor. Bazı modeller diğerlerinden daha hızlı eskiyor. Örneğin, kıyafet öneren modeller, tüketici tercihleri sık sık değiştiği için genellikle kısa sürede güncelliğini yitirir. Öte yandan, çiçekleri tanımlayan modeller hiçbir zaman eski hale gelmeyebilir. Çiçeğin tanımlayıcı özellikleri sabit kalır.

Çoğu model, üretime alındıktan hemen sonra eskimeye başlar. Verilerinizin yapısını yansıtan bir eğitim sıklığı belirlemeniz gerekir. Veriler dinamikse sık sık eğitim yapın. Daha az dinamikse o kadar sık eğitmeniz gerekmez.

Modelleri eski hale gelmeden önce eğitin. Erken eğitim, olası sorunları çözmek için bir tampon sağlar. Örneğin, veriler veya eğitim işlem hattı başarısız olursa ya da model kalitesi düşük olursa.

Önerilen en iyi uygulama, yeni modelleri günlük olarak eğitmek ve dağıtmaktır. Günlük derleme ve yayınlama süreci olan normal yazılım projelerinde olduğu gibi, eğitim ve doğrulama için makine öğrenimi işlem hatları da genellikle günlük olarak çalıştırıldığında en iyi sonucu verir.

Anlayıp anlamadığınızı kontrol etme

Aşağıdaki modellerden hangisinin kısa sürede eski verilerle eğitilmiş bir modelle değiştirilmesi gerekir? Uygun olan tüm seçenekleri işaretleyin.
Spam'i tahmin eder.
Doğru. Bu modeller, yeni spam taktikleri gibi bir dizi faktöre yanıt olarak sürekli değişen verileri kullanır. Bu nedenle, sürekli değişen trendlere yanıt verebilmek için sürekli güncellenmeleri gerekir.
Kıyafet önerir
Doğru. Bu modeller, tüketici tercihleri gibi bir dizi faktöre yanıt olarak sürekli değişen verileri kullanır. Bu nedenle, sürekli değişen trendlere yanıt verebilmek için sürekli güncellenmeleri gerekir.
Kuş türlerini sınıflandırır.
Kuş türleri zaman içinde değişmez.
İşlemin sahtekarlık olup olmadığını tahmin eder.
Doğru. Bu modeller, yeni sahtekarlık taktikleri gibi bir dizi faktöre yanıt olarak sürekli değişen verileri kullanır. Bu nedenle, sürekli değişen trendlere yanıt verebilmek için sürekli güncellenmeleri gerekir.

Sunma ardışık düzeni

Yayın ardışık düzeni, tahminleri iki şekilde oluşturup sunar: online veya offline.

  • Online tahminler. Online tahminler genellikle bir online sunucuya istek gönderilip tahmin döndürülerek gerçek zamanlı olarak yapılır. Örneğin, bir kullanıcı tahmin istediğinde kullanıcının verileri modele gönderilir ve model tahmini döndürür.

  • Çevrimdışı tahminler. Çevrimdışı tahminler önceden hesaplanır ve önbelleğe alınır. Uygulama, bir tahmini yayınlamak için veritabanında önbelleğe alınmış tahmini bulur ve döndürür. Örneğin, aboneliğe dayalı bir hizmet, aboneleri için müşteri kaybı oranını tahmin edebilir. Model, her abone için müşteri kaybı olasılığını tahmin eder ve bunu önbelleğe alır. Uygulama, tahmine ihtiyaç duyduğunda (ör. kullanıcıları elde tutmak için) önceden hesaplanmış tahmini arar.

Şekil 5'te online ve çevrimdışı tahminlerin nasıl oluşturulup sunulduğu gösterilmektedir.

Online ve çevrimdışı tahminler

Tahminler gerçek zamanlı olarak sunulabilir veya arama için gruplandırılıp önbelleğe alınabilir.

Şekil 5. Online tahminler, tahminleri anlık olarak sunar. Çevrimdışı tahminler önbelleğe alınır ve yayın sırasında aranır.

Tahmin işleme sonrası

Genellikle tahminler, teslim edilmeden önce sonradan işlenir. Örneğin, tahminler, zararlı veya taraflı içeriklerin kaldırılması için sonradan işlenebilir. Sınıflandırma sonuçları, modelin ham çıkışını göstermek yerine sonuçları yeniden sıralamak için oynama kullanabilir. Örneğin, daha yetkili içerikleri öne çıkarmak, çeşitli sonuçlar sunmak, belirli sonuçları (tıklama tuzağı gibi) alt sıralara yerleştirmek veya yasal nedenlerle sonuçları kaldırmak için bu yöntem kullanılabilir.

Şekil 6'da bir yayın hattı ve tahminlerin yayınlanmasıyla ilgili tipik görevler gösterilmektedir.

İşleme sonrası tahminler

Yayın ardışık düzeni genellikle tahminleri işleme sonrası işler.

Şekil 6. Tahmin sunmak için gereken tipik görevleri gösteren yayınlama işlem hattı.

Özellik mühendisliği adımının genellikle modelin içinde oluşturulduğunu ve ayrı, bağımsız bir süreç olmadığını unutmayın. Sunum ardışık düzenindeki veri işleme kodu, genellikle veri ardışık düzeninin eğitim ve test veri kümeleri oluşturmak için kullandığı veri işleme koduyla neredeyse aynıdır.

Öğeler ve meta veri depolama alanı

Yayınlama işlem hattı, model tahminlerini ve mümkünse kesin referansı kaydetmek için bir depo içermelidir.

Model tahminlerini günlüğe kaydetme, modelinizin kalitesini izlemenizi sağlar. Tahminleri toplayarak modelinizin genel kalitesini izleyebilir ve kalitesini kaybetmeye başlayıp başlamadığını belirleyebilirsiniz. Genel olarak, üretim modelinin tahminlerinin ortalaması, eğitim veri kümesindeki etiketlerin ortalamasıyla aynı olmalıdır. Daha fazla bilgi için tahmin yanlılığı konusuna bakın.

Kesin referansı yakalama

Bazı durumlarda, gerçek veriler ancak çok daha sonra kullanılabilir. Örneğin, bir hava durumu uygulaması altı hafta sonraki hava durumunu tahmin ediyorsa gerçek hava durumu (hava durumunun gerçekte nasıl olduğu) altı hafta boyunca kullanılamaz.

Mümkün olduğunda, uygulamaya geri bildirim mekanizmaları ekleyerek kullanıcıların gerçek durumu bildirmesini sağlayın. Bir posta uygulaması, kullanıcılar gelen kutularındaki postaları spam klasörüne taşıdığında kullanıcı geri bildirimlerini dolaylı olarak yakalayabilir. Ancak bu özellik yalnızca kullanıcı postalarını doğru şekilde sınıflandırdığında çalışır. Kullanıcılar, spam olduğunu bildikleri ve hiç açmadıkları için gelen kutularında spam iletiler bıraktığında eğitim verileri yanlış hale gelir. Söz konusu posta, "spam" olması gerekirken "spam değil" olarak etiketlenir. Başka bir deyişle, her zaman gerçekleri yakalamanın ve kaydetmenin yollarını bulmaya çalışın ancak geri bildirim mekanizmalarında olabilecek eksikliklerin farkında olun.

Şekil 7'de, kullanıcılara sunulan ve bir depoya kaydedilen tahminler gösterilmektedir.

Tahminleri günlüğe kaydetme

Yayınlama işlem hattı, modelin güncelliğini izlemek için tahminleri günlüğe kaydetmelidir.

Şekil 7 Model kalitesini izlemek için tahminleri günlüğe kaydedin.

Veri ardışık düzenleri

Veri ardışık düzenleri, uygulama verilerinden eğitim ve test veri kümeleri oluşturur. Eğitim ve doğrulama ardışık düzenleri daha sonra yeni modelleri eğitmek ve doğrulamak için veri kümelerini kullanır.

Veri işlem hattı, modeli eğitmek için kullanılan özellikler ve etiketle aynı olan ancak daha yeni bilgiler içeren eğitim ve test veri kümeleri oluşturur. Örneğin, bir harita uygulaması, milyonlarca kullanıcının noktalar arasındaki son seyahat sürelerinden eğitim ve test veri kümeleri oluşturur. Ayrıca hava durumu gibi diğer ilgili verileri de kullanır.

Video önerisi uygulaması, kullanıcının önerilen listeden tıkladığı videoları (tıklanmayanlarla birlikte) ve izleme geçmişi gibi diğer alakalı verileri içeren eğitim ve test veri kümeleri oluşturur.

Şekil 8'de, eğitim ve test veri kümeleri oluşturmak için uygulama verilerini kullanan veri ardışık düzeni gösterilmektedir.

Veri ardışık düzeni

Veri ardışık düzeni, eğitim ve test veri kümeleri oluşturur.

Şekil 8 Veri ardışık düzeni, eğitim ve doğrulama ardışık düzenleri için veri kümeleri oluşturmak üzere uygulama verilerini işler.

Veri toplama ve işleme

Veri işlem hatlarındaki veri toplama ve işleme görevleri muhtemelen deneme aşamasından (çözümünüzün uygulanabilir olduğunu belirlediğiniz aşama) farklı olacaktır:

  • Veri toplama. Deneme sırasında veri toplamak genellikle kayıtlı verilere erişmeyi gerektirir. Veri ardışık düzenlerinde veri toplamak için akış günlükleri verilerine erişmek üzere keşif yapılması ve onay alınması gerekebilir.

    İnsan tarafından etiketlenmiş verilere (ör. tıbbi görüntüler) ihtiyacınız varsa bu verileri toplama ve güncelleme süreciniz de olmalıdır.

  • Veri işleme. Deneme sırasında, doğru özellikler deneme veri kümelerinin kazınması, birleştirilmesi ve örneklenmesiyle elde edildi. Veri işlem hatları için aynı özelliklerin oluşturulması tamamen farklı süreçler gerektirebilir. Ancak, aynı matematiksel işlemleri özelliklere ve etiketlere uygulayarak deneme aşamasındaki veri dönüşümlerini kopyaladığınızdan emin olun.

Öğeler ve meta veri depolama alanı

Eğitim ve test veri kümelerinizi depolama, sürüm oluşturma ve yönetme sürecine ihtiyacınız vardır. Sürüm kontrollü depolar aşağıdaki avantajları sağlar:

  • Yeniden üretilebilirlik (Reproducibility). Model eğitimi ortamlarını yeniden oluşturup standart hale getirin ve farklı modeller arasındaki tahmin kalitesini karşılaştırın.

  • Uygunluk. Denetlenebilirlik ve şeffaflıkla ilgili yasal uygunluk şartlarına uyun.

  • Elde tutma Verilerin ne kadar süre saklanacağını belirlemek için veri saklama değerlerini ayarlayın.

  • Erişim yönetimi. Ayrıntılı izinler sayesinde verilerinize kimlerin erişebileceğini yönetebilirsiniz.

  • Veri bütünlüğü. Veri kümelerindeki değişiklikleri zaman içinde izleyip anlayarak verilerinizle veya modelinizle ilgili sorunları teşhis etmeyi kolaylaştırın.

  • Keşfedilebilirlik. Diğer kullanıcıların veri kümelerinizi ve özelliklerinizi kolayca bulmasını sağlayın. Diğer ekipler daha sonra bu araçların kendi amaçları için faydalı olup olmayacağına karar verebilir.

Verilerinizi belgeleme

İyi bir doküman, diğer kullanıcıların verilerinizle ilgili temel bilgileri (ör. türü, kaynağı, boyutu ve diğer önemli meta veriler) anlamasına yardımcı olur. Çoğu durumda, verilerinizi bir tasarım dokümanında belgelemeniz yeterlidir. Verilerinizi paylaşmayı veya yayınlamayı planlıyorsanız bilgileri yapılandırmak için veri kartlarını kullanın. Veri kartları, diğer kullanıcıların veri kümelerinizi keşfetmesini ve anlamasını kolaylaştırır.

Eğitim ve doğrulama ardışık düzenleri

Eğitim ve doğrulama işlem hatları, üretim modelleri eski hale gelmeden önce bunların yerine geçecek yeni modeller üretir. Yeni modellerin sürekli olarak eğitilmesi ve doğrulanması, her zaman en iyi modelin üretimde olmasını sağlar.

Eğitim ardışık düzeni, eğitim veri kümelerinden yeni bir model oluşturur. Doğrulama ardışık düzeni ise test veri kümelerini kullanarak yeni modelin kalitesini üretimdeki modelle karşılaştırır.

Şekil 9'da, yeni bir modeli eğitmek için eğitim veri kümesi kullanılan eğitim ardışık düzeni gösterilmektedir.

Eğitim ardışık düzeni

Eğitim hattı, yeni modelleri güncel verilerle eğitir.

Şekil 9. Eğitim ardışık düzeni, en son eğitim veri kümesini kullanarak yeni modelleri eğitir.

Model eğitildikten sonra doğrulama ardışık düzeni, üretim modelinin kalitesini eğitilmiş modelle karşılaştırmak için test veri kümelerini kullanır.

Genel olarak, eğitilmiş model üretim modelinden anlamlı bir şekilde daha kötü değilse üretime alınır. Eğitilmiş model daha kötüyse izleme altyapısı bir uyarı oluşturmalıdır. Tahmin kalitesi daha düşük olan eğitilmiş modeller, verilerle veya doğrulama işlem hatlarıyla ilgili olası sorunlara işaret edebilir. Bu yaklaşım, en yeni verilerle eğitilmiş en iyi modelin her zaman üretimde olmasını sağlar.

Öğeler ve meta veri depolama alanı

Modeller ve meta verileri, model dağıtımlarını düzenlemek ve izlemek için sürüm oluşturulmuş depolarda saklanmalıdır. Model depoları aşağıdaki avantajları sağlar:

  • İzleme ve değerlendirme. Üretimdeki modelleri izleyin ve değerlendirme ile tahmin kalitesi metriklerini anlayın.

  • Model yayınlama süreci. Modelleri kolayca inceleyebilir, onaylayabilir, yayınlayabilir veya geri alabilirsiniz.

  • Yeniden üretilebilirlik ve hata ayıklama. Bir modelin veri kümelerini ve dağıtımlar arasındaki bağımlılıklarını izleyerek model sonuçlarını yeniden üretin ve sorunları daha etkili bir şekilde ayıklayın.

  • Keşfedilebilirlik. Başkalarının modelinizi bulmasını kolaylaştırın. Diğer ekipler daha sonra modelinizin (veya modelinizin bir bölümünün) kendi amaçları için kullanılıp kullanılamayacağını belirleyebilir.

Şekil 10'da, bir model deposunda saklanan doğrulanmış bir model gösterilmektedir.

Model depolama

Modelleri sürüm kontrolü yapılan bir depoda saklama

Şekil 10. Doğrulanmış modeller, izleme ve bulunabilirlik için bir model deposunda saklanır.

Modelinizle ilgili temel bilgileri (ör. amacı, mimarisi, donanım gereksinimleri, değerlendirme metrikleri) belgelemek ve paylaşmak için model kartlarını kullanın.

Anlayıp anlamadığınızı kontrol etme

Tahminleri, veri kümelerini ve modelleri depolamak için sürüm oluşturulmuş depoları kullanmanın başlıca nedenleri nelerdir? Uygun olan tüm seçenekleri işaretleyin.
Sorunları yeniden oluşturma ve hatalarını ayıklama
Doğru. Öğeleri sürüm oluşturulmuş depolarda saklamak, sorunları teşhis etmek ve hatalarını ayıklamak için çok önemlidir.
Model kalitesini izleme
Doğru. Öğeleri sürüm oluşturulmuş depolarda saklamak, model kalitesini izlemek için kritik öneme sahiptir.
İşlem kotasını azaltma

Ardışık düzen oluşturmayla ilgili zorluklar

İşlem hatları oluştururken aşağıdaki zorluklarla karşılaşabilirsiniz:

  • İhtiyacınız olan verilere erişme. Veri erişimi için neden ihtiyacınız olduğunu açıklamanız gerekebilir. Örneğin, verilerin nasıl kullanılacağını açıklamanız ve kimliği tanımlayabilecek bilgiler (PII) ile ilgili sorunların nasıl çözüleceğini netleştirmeniz gerekebilir. Modelinizin belirli türdeki verilere erişerek nasıl daha iyi tahminler yaptığını gösteren bir konsept kanıtı sunmaya hazır olun.

  • Doğru özellikleri kullanma Bazı durumlarda, deneme aşamasında kullanılan özellikler gerçek zamanlı verilerde kullanılamaz. Bu nedenle, deneme yaparken üretimde aynı özellikleri kullanabileceğinizi onaylamaya çalışın.

  • Verilerin nasıl toplandığını ve gösterildiğini anlama. Verilerin nasıl toplandığını, kimin topladığını ve nasıl toplandığını (diğer sorunlarla birlikte) öğrenmek zaman ve çaba gerektirebilir. Verileri iyice anlamak önemlidir. Üretime girebilecek bir modeli eğitmek için güvenmediğiniz verileri kullanmayın.

  • Çaba, maliyet ve model kalitesi arasındaki ödünleşimleri anlama. Yeni bir özelliği veri ardışık düzenine dahil etmek çok fazla çaba gerektirebilir. Ancak ek özellik, modelin kalitesini yalnızca biraz iyileştirebilir. Diğer durumlarda ise yeni bir özellik eklemek kolay olabilir. Ancak, bu özelliği edinme ve saklama kaynakları çok pahalı olabilir.

  • İşlem gücü edinme. Yeniden eğitme için TPU'lara ihtiyacınız varsa gerekli kotayı almak zor olabilir. Ayrıca, TPU'ları yönetmek de karmaşıktır. Örneğin, modelinizin veya verilerinizin bazı bölümlerinin, birden fazla TPU çipine bölünerek TPU'lar için özel olarak tasarlanması gerekebilir.

  • Doğru altın veri kümesini bulma. Veriler sık sık değişiyorsa tutarlı ve doğru etiketlere sahip altın veri kümeleri elde etmek zor olabilir.

Bu tür sorunları deneme sırasında tespit etmek zaman kazandırır. Örneğin, en iyi özellikleri ve modeli geliştirip bunların üretimde uygun olmadığını öğrenmek istemezsiniz. Bu nedenle, çözümünüzün üretim ortamının kısıtlamaları dahilinde çalışacağını mümkün olduğunca erken onaylamaya çalışın. İşlem hattı aşamasında aşılması zor sorunlar ortaya çıktığı için deneme aşamasına geri dönmek zorunda kalmak yerine, çözümün işe yaradığını doğrulamak için zaman harcamak daha iyidir.