Zephyrnet Logosu

Axfood, Amazon SageMaker'ı kullanarak kuruluş genelinde hızlandırılmış makine öğrenimini nasıl sağlar? Amazon Web Hizmetleri

Tarih:

Bu Axfood AB tarafından yazılan bir misafir yazısıdır. 

Bu yazıda, İsveçli büyük bir gıda perakendecisi olan Axfood'un, AWS uzmanlarıyla yakın işbirliği içinde prototip oluşturarak ve mevcut yapay zeka (AI) ve makine öğrenimi (ML) operasyonlarının ölçeklenebilirliğini ve operasyonlarını nasıl iyileştirdiğini paylaşıyoruz. Amazon Adaçayı Yapıcı.

balta yemeği 13,000'den fazla çalışanı ve 300'den fazla mağazasıyla İsveç'in ikinci büyük gıda perakendecisidir. Axfood, farklı sorumluluk alanlarına sahip birden fazla merkezi olmayan veri bilimi ekibinden oluşan bir yapıya sahiptir. Merkezi bir veri platformu ekibiyle birlikte veri bilimi ekipleri, kuruluşa yapay zeka ve makine öğrenimi çözümleri aracılığıyla yenilik ve dijital dönüşüm getiriyor. Axfood, verilerini makine öğrenimi kullanarak geliştirmek için Amazon SageMaker'ı kullanıyor ve uzun yıllardır üretimde modeller kullanıyor. Son zamanlarda üretimdeki gelişmişlik düzeyi ve model sayısı katlanarak artıyor. Bununla birlikte, inovasyonun hızı yüksek olsa da farklı ekipler kendi çalışma yöntemlerini geliştirmiş ve yeni bir MLOps en iyi uygulamasını arıyorlardı.

Bizim meydan okumamız

Axfood, bulut hizmetleri ve AI/ML açısından rekabetçi kalabilmek için AWS ile ortaklık kurmayı seçti ve onlarla uzun yıllardır işbirliği yapıyor.

AWS ile tekrarlanan beyin fırtınası oturumlarımızdan birinde, veri bilimi ve makine öğrenimi uygulayıcılarının inovasyon hızını ve verimliliğini artırmak için ekipler arasında en iyi şekilde nasıl işbirliği yapabileceğimizi tartışıyorduk. MLOps'a yönelik en iyi uygulama üzerine bir prototip oluşturmak için ortak çaba göstermeye karar verdik. Prototipin amacı, tüm veri bilimi ekiplerinin ölçeklenebilir ve verimli makine öğrenimi modelleri (Axfood için yeni nesil yapay zeka ve makine öğrenimi platformlarının temeli) oluşturmasına yönelik bir model şablonu oluşturmaktı. Şablon, AWS ML uzmanlarının en iyi uygulamalarını ve şirkete özel en iyi uygulama modellerini (her iki dünyanın da en iyisi) köprülemeli ve birleştirmelidir.

Axfood bünyesinde şu anda en gelişmiş makine öğrenimi modellerinden birinden bir prototip oluşturmaya karar verdik: mağazalardaki satışları tahmin etmek. Daha spesifik olarak, gıda perakende mağazaları için yaklaşan kampanyaların meyve ve sebzelere ilişkin tahmini. Doğru günlük tahminler, mağazalar için sipariş sürecini destekler, ihtiyaç duyulan mağaza içi stok seviyelerini doğru bir şekilde tahmin ederek satışları optimize etmenin bir sonucu olarak gıda israfını en aza indirerek sürdürülebilirliği artırır. Burası prototipimize başlamak için mükemmel bir yerdi; Axfood yalnızca yeni bir AI/ML platformu kazanmakla kalmayacak, aynı zamanda makine öğrenimi yeteneklerimizi karşılaştırma ve önde gelen AWS uzmanlarından bilgi alma şansına da sahip olacaktı.

Çözümümüz: Amazon SageMaker Studio'da yeni bir makine öğrenimi şablonu

Gerçek bir iş senaryosu için tasarlanmış tam bir makine öğrenimi hattı oluşturmak zor olabilir. Bu durumda bir tahmin modeli geliştiriyoruz, dolayısıyla tamamlamamız gereken iki ana adım var:

  1. Modeli, geçmiş verileri kullanarak tahminlerde bulunacak şekilde eğitin.
  2. Gelecekteki olaylara ilişkin tahminlerde bulunmak için eğitilen modeli uygulayın.

Axfood örneğinde, bu amaca yönelik iyi işleyen bir işlem hattı zaten SageMaker dizüstü bilgisayarları kullanılarak kurulmuş ve üçüncü taraf iş akışı yönetimi platformu Airflow tarafından yönetiliyordu. Ancak makine öğrenimi platformumuzu modernleştirmenin ve Amazon SageMaker Stüdyosu ve Amazon SageMaker Ardışık Düzenleri. SageMaker Studio'ya geçiş, önceden tanımlanmış birçok kullanıma hazır özellik sağlar:

  • Model ve veri kalitesinin yanı sıra model açıklanabilirliğinin izlenmesi
  • Hata ayıklama gibi yerleşik tümleşik geliştirme ortamı (IDE) araçları
  • Maliyet/performans izleme
  • Model kabul çerçevesi
  • Model kaydı

Ancak Axfood için en önemli teşvik, aşağıdakileri kullanarak özel proje şablonları oluşturabilme yeteneğidir: Amazon SageMaker Projeleri tüm veri bilimi ekipleri ve makine öğrenimi uygulayıcıları için bir plan olarak kullanılacak. Axfood ekibi zaten sağlam ve olgun düzeyde bir makine öğrenimi modellemesine sahipti, bu nedenle asıl odak noktası yeni mimariyi oluşturmaktı.

Çözüme genel bakış

Axfood'un önerdiği yeni makine öğrenimi çerçevesi iki ana hat etrafında yapılandırılmıştır: model oluşturma ardışık düzeni ve toplu çıkarım ardışık düzeni:

  • Bu işlem hatları iki ayrı Git deposunda sürümlendirilmiştir: bir derleme deposu ve bir dağıtım (çıkarım) deposu. Birlikte meyve ve sebzeleri tahmin etmek için sağlam bir boru hattı oluştururlar.
  • İşlem hatları, sürekli entegrasyon ve sürekli dağıtım (CI/CD) bileşenleri için üçüncü taraf Git deposu (Bitbucket) ve Bitbucket işlem hatları ile entegre olarak SageMaker Projects kullanılarak özel bir proje şablonu halinde paketlenir.
  • SageMaker proje şablonu, işlem hatları oluşturma ve dağıtma işlemlerinin her adımına karşılık gelen tohum kodunu (bu adımları bu yazının ilerleyen kısımlarında daha ayrıntılı olarak tartışacağız) ve işlem hattı tanımını (adımların nasıl çalıştırılması gerektiğine ilişkin tarif) içerir.
  • Şablona dayalı yeni projeler oluşturma otomasyonu kolaylaştırılmıştır. AWS Hizmet KataloğuBirden fazla ürün için soyutlama görevi gören bir portföyün oluşturulduğu yer.
  • Her ürün bir dile çevrilir AWS CloudFormation Bir veri bilimci, MLOps planımızı temel alarak yeni bir SageMaker projesi oluşturduğunda dağıtılan şablon. Bu bir etkinleştirir AWS Lambda tohum kodunu içeren iki depoya (model oluşturma ve model dağıtımı) sahip bir Bitbucket projesi oluşturan işlev.

Aşağıdaki diyagram çözüm mimarisini göstermektedir. İş Akışı A, iki model hattı (derleme ve çıkarım) arasındaki karmaşık akışı gösterir. İş Akışı B, yeni bir makine öğrenimi projesi oluşturma akışını gösterir.

Model oluşturma ardışık düzeni

Model oluşturma hattı, ön işlemeden başlayarak, eğitim boyunca ilerleyerek ve model kayıt defterine kaydedilmesiyle sonuçlanan modelin yaşam döngüsünü düzenler:

  • Ön İşleme – İşte SageMaker ScriptProcessor Özellik mühendisliği için sınıf kullanılır ve bunun sonucunda modelin eğitileceği veri kümesi elde edilir.
  • Eğitim ve toplu dönüşüm – SageMaker'ın özel eğitim ve çıkarım kapsayıcıları, modeli geçmiş veriler üzerinde eğitmek ve ilgili görevler için bir SageMaker Tahmincisi ve Transformer kullanarak değerlendirme verileri üzerinde tahminler oluşturmak için kullanılır.
  • Değerlendirme – Eğitilen model, değerlendirme verileri üzerinde oluşturulan tahminleri temel gerçekle karşılaştırarak değerlendirmeye tabi tutulur. ScriptProcessor.
  • Temel işler – İşlem hattı, girdi verilerindeki istatistiklere dayalı olarak temel oluşturur. Bunlar, veri ve model kalitesinin yanı sıra özellik niteliklerinin izlenmesi için de gereklidir.
  • Model kaydı – Eğitilen model gelecekte kullanılmak üzere kaydedilir. Model, üretimde kullanılmak üzere modeli dağıtmak üzere belirlenmiş veri bilimcileri tarafından onaylanacak.

Üretim ortamları için veri alımı ve tetikleme mekanizmaları, birincil Hava Akışı orkestrasyonu aracılığıyla yönetilir. Bu arada geliştirme sırasında, model oluşturma Bitbucket deposuna her yeni taahhüt eklendiğinde işlem hattı etkinleştirilir. Aşağıdaki şekilde model oluşturma işlem hattı görselleştirilmiştir.

Toplu çıkarım hattı

Toplu çıkarım ardışık düzeni, aşağıdaki adımlardan oluşan çıkarım aşamasını yönetir:

  • Ön İşleme – Veriler kullanılarak önceden işlenir ScriptProcessor.
  • Toplu dönüştürme – Model, SageMaker Transformer'lı özel çıkarım konteynerini kullanır ve önceden işlenmiş girdi verilerine göre tahminler üretir. Kullanılan model, model kaydındaki en son onaylanmış eğitimli modeldir.
  • Rötuş – Tahminler, aşağıdakileri kullanarak bir dizi işlem sonrası adımdan geçer: ScriptProcessor.
  • İzleme – Sürekli gözetim; veri kalitesi, model kalitesi ve özellik ilişkilendirmeyle ilgili sapmalara yönelik kontrolleri tamamlar.

Tutarsızlıklar ortaya çıkarsa, işlem sonrası komut dosyasındaki iş mantığı, modelin yeniden eğitilmesinin gerekli olup olmadığını değerlendirir. Boru hattının düzenli aralıklarla çalışması planlanıyor.

Aşağıdaki diyagram toplu çıkarım hattını göstermektedir. İş Akışı A, ön işleme, veri kalitesi ve özellik ilişkilendirme sapma kontrolleri, çıkarım ve son işlemeye karşılık gelir. İş Akışı B, model kalitesi sapma kontrollerine karşılık gelir. Bu işlem hatları bölünmüştür çünkü model kalitesi sapma kontrolü yalnızca yeni gerçek veriler mevcut olduğunda çalışacaktır.

SageMaker Model Monitör

İle Amazon SageMaker Model Monitörü entegre edildiğinde boru hatları aşağıdaki konularda gerçek zamanlı izlemeden yararlanır:

  • Veri kalitesi – Verilerdeki sapmaları veya tutarsızlıkları izler
  • Model kalitesi – Model performansındaki dalgalanmaları izler
  • Özellik ilişkilendirmesi – Özellik niteliklerindeki sapmayı kontrol eder

Model kalitesinin izlenmesi, temel gerçek verilerine erişim gerektirir. Her ne kadar temel gerçeği elde etmek zaman zaman zor olsa da, veri veya özellik ilişkilendirme sapma izlemesini kullanmak, model kalitesi için yetkin bir temsil görevi görür.

Özellikle veri kalitesinde sapma olması durumunda sistem aşağıdakilere dikkat eder:

  • Kavram kayması – Bu, girdi ve çıktı arasındaki korelasyondaki değişikliklerle ilgilidir ve temel gerçekleri gerektirir
  • ortak değişken kayması – Burada, bağımsız girdi değişkenlerinin dağılımındaki değişikliklere vurgu yapılmaktadır.

SageMaker Model Monitor'ün veri sürüklenme işlevi, giriş verilerini titizlikle yakalar ve inceler, kuralları ve istatistiksel kontrolleri uygular. Anormallikler tespit edildiğinde uyarılar verilir.

Sistem, model bozulmasını izlemek için bir vekil olarak veri kalitesi sapma kontrollerini kullanmaya paralel olarak, normalleştirilmiş indirgenmiş kümülatif kazanç (NDCG) puanını kullanarak özellik ilişkilendirme sapmasını da izler. Bu puan, hem özellik ilişkilendirme sıralamasındaki değişikliklere hem de özelliklerin ham ilişkilendirme puanlarına duyarlıdır. Bireysel özelliklere ilişkin atıftaki sapmayı ve bunların göreceli önemini izleyerek, model kalitesindeki bozulmayı tespit etmek kolaydır.

Model açıklanabilirliği

Modelin açıklanabilirliği, tahminlerde şeffaflık sağladığı için makine öğrenimi dağıtımlarının önemli bir parçasıdır. Ayrıntılı bir anlayış için kullanıyoruz Amazon SageMaker Netleştirin.

Shapley değer konseptini temel alan, modelden bağımsız bir özellik atıf tekniği aracılığıyla hem küresel hem de yerel model açıklamaları sunar. Bu, çıkarım sırasında belirli bir tahminin neden yapıldığını çözmek için kullanılır. Doğası gereği karşılaştırmalı olan bu tür açıklamalar, farklı temellere göre değişiklik gösterebilir. SageMaker Clarify, girdi veri kümesindeki K ortalamalarını veya K prototiplerini kullanarak bu temel çizginin belirlenmesine yardımcı olur ve bunlar daha sonra model oluşturma hattına eklenir. Bu işlevsellik, modelin nasıl çalıştığını daha iyi anlamak için gelecekte üretken yapay zeka uygulamaları oluşturmamıza olanak tanır.

Sanayileşme: Prototipten üretime

MLOps projesi yüksek düzeyde otomasyon içerir ve benzer kullanım durumları için bir plan görevi görebilir:

  • Altyapı tamamen yeniden kullanılabilirken, çoğu değişiklik işlem hattı tanımı ve ön işleme, eğitim, çıkarım ve son işlemeye yönelik iş mantığıyla sınırlı olacak şekilde tohum kodu her göreve uyarlanabilir.
  • Eğitim ve çıkarım komut dosyaları, SageMaker özel kapsayıcıları kullanılarak barındırılır; böylece veriler tablo biçiminde olduğu sürece, verilerde ve model izleme veya model açıklanabilirlik adımlarında değişiklik yapılmadan çeşitli modeller yerleştirilebilir.

Prototip üzerindeki çalışmayı bitirdikten sonra onu üretimde nasıl kullanmamız gerektiğine döndük. Bunu yapmak için MLOps şablonunda bazı ek ayarlamalar yapmamız gerektiğini hissettik:

  • Şablonun prototipinde kullanılan orijinal tohum kodu, temel makine öğrenimi adımlarından (eğitim ve çıkarım) önce ve sonra çalıştırılan ön işleme ve son işleme adımlarını içeriyordu. Ancak şablonu üretimde birden çok kullanım durumu için kullanmak üzere ölçeklendirme yapılırken, yerleşik ön işleme ve son işleme adımları kodun genelliğinin azalmasına ve çoğaltılmasına neden olabilir.
  • Genelliği geliştirmek ve tekrarlanan kodları en aza indirmek için işlem hatlarını daha da daraltmayı seçtik. ML ardışık düzeninin bir parçası olarak ön işleme ve son işleme adımlarını çalıştırmak yerine, bunları ML ardışık düzenini tetiklemeden önce ve sonra birincil Hava Akışı düzenlemesinin bir parçası olarak çalıştırırız.
  • Bu şekilde, kullanım durumuna özel işleme görevleri şablondan çıkarılır ve geriye kalan, minimum kod tekrarıyla birden çok kullanım durumunda genel görevleri gerçekleştiren temel bir ML işlem hattıdır. Kullanım durumları arasında farklılık gösteren parametreler, birincil Hava Akışı düzenlemesinden ML ardışık düzenine girdi olarak sağlanır.

Sonuç: Model oluşturma ve devreye alma konusunda hızlı ve etkili bir yaklaşım

AWS ile iş birliği sonucu ortaya çıkan prototip, mevcut en iyi uygulamaları takip eden ve artık Axfood'un tüm veri bilimi ekiplerinin kullanımına açık olan bir MLOps şablonuyla sonuçlandı. Veri bilimcileri, SageMaker Studio'da yeni bir SageMaker projesi oluşturarak yeni makine öğrenimi projelerine hızlı ve sorunsuz bir şekilde üretime geçiş yaparak daha verimli zaman yönetimine başlayabilir. Bu, şablonun bir parçası olarak sıkıcı, tekrarlayan MLOps görevlerinin otomatikleştirilmesiyle mümkün olur.

Ayrıca, makine öğrenimi kurulumumuza otomatik olarak birçok yeni işlevsellik eklendi. Bu kazanımlar şunları içerir:

  • Model izleme – Model ve veri kalitesinin yanı sıra modelin açıklanabilirliğine yönelik sapma kontrolleri yapabiliriz
  • Model ve veri kökeni – Artık tam olarak hangi verinin hangi model için kullanıldığını takip etmek mümkün
  • Model kaydı – Bu, üretim için modelleri kataloglamamıza ve model versiyonlarını yönetmemize yardımcı olur

Sonuç

Bu yazıda Axfood'un, AWS uzmanlarıyla işbirliği yaparak ve SageMaker ile ilgili ürünlerini kullanarak mevcut AI ve ML operasyonlarımızın operasyonlarını ve ölçeklenebilirliğini nasıl iyileştirdiğini tartıştık.

Bu iyileştirmeler, Axfood'un veri bilimi ekiplerinin makine öğrenimi iş akışlarını daha standart bir şekilde oluşturmasına yardımcı olacak ve üretimdeki modellerin analizini ve izlenmesini büyük ölçüde basitleştirerek ekiplerimiz tarafından oluşturulan ve sürdürülen makine öğrenimi modellerinin kalitesini güvence altına alacak.

Lütfen yorum bölümüne herhangi bir geri bildirim veya soru bırakın.


Yazarlar Hakkında

Dr. Björn Blomqvist Axfood AB'de Yapay Zeka Stratejisi Başkanıdır. Axfood AB'ye katılmadan önce, Axfood'un bir parçası olan Dagab'da, İsveç'in her yerindeki insanlara iyi ve sürdürülebilir gıda sağlama misyonuyla yenilikçi makine öğrenimi çözümleri geliştiren bir Veri Bilimcileri ekibine liderlik etti. İsveç'in kuzeyinde doğup büyüyen Björn, boş zamanlarında karlı dağlara ve açık denizlere seyahat ediyor.

Oskar Klang Dagab'ın analitik departmanında Kıdemli Veri Bilimcisidir ve burada analitik ve makine öğrenimi ile ilgili her şeyle (örneğin, tedarik zinciri operasyonlarını optimize etmek, tahmin modelleri oluşturmak ve son zamanlarda GenAI uygulamaları) çalışmaktan keyif almaktadır. Verimliliği ve ölçeklenebilirliği artırarak daha akıcı makine öğrenimi hatları oluşturmaya kendini adamıştır.

pavel maslov Analitik Platformlar ekibinde Kıdemli DevOps ve ML mühendisidir. Pavel, AWS platformunda DevOps ve ML/AI alanlarında çerçeveler, altyapı ve araçlar geliştirme konusunda geniş deneyime sahiptir. Pavel, Axfood'da ML'nin temel kapasitesini oluşturmada kilit oyunculardan biri oldu.

Joakim Berg Merkezi Stockholm İsveç'te bulunan Ekip Lideri ve Ürün Sahibi Analitik Platformlarıdır. Veri Bilimi ekipleri için Veri ve ML platformları sağlayan Veri Platformu ve DevOps/MLOps mühendislerinden oluşan bir ekibe liderlik ediyor. Joakim, farklı sektörlerden üst düzey geliştirme ve mimari ekiplerine liderlik etme konusunda uzun yıllara dayanan deneyime sahiptir.

spot_img

En Son İstihbarat

spot_img