Bu blog yazısı, Cepsa'daki Sr. Data Scientist Guillermo Ribeiro tarafından ortaklaşa yazılmıştır.
Makine öğrenimi (ML), akademik ortamlardan ve inovasyon departmanlarından ortaya çıkan moda bir trend olmaktan, her sektördeki işletmeler arasında değer sağlamanın önemli bir yolu haline geldi. Laboratuarlardaki deneylerden üretim ortamlarındaki gerçek dünya problemlerini çözmeye bu geçiş, MLO'larveya DevOps'un makine öğrenimi dünyasına uyarlanması.
MLOps, odak noktası kaynak veri kümelerine, deney tekrarlanabilirliğine, ML algoritma koduna ve model kalitesine yer vererek bir ML modelinin tüm yaşam döngüsünü düzene sokmaya ve otomatikleştirmeye yardımcı olur.
At CepsaGlobal bir enerji şirketi olarak, endüstriyel ekipman için kestirimci bakım yapmaktan rafinerilerimizdeki petrokimya süreçlerini izlemeye ve iyileştirmeye kadar iş kollarımız genelinde karmaşık sorunların üstesinden gelmek için ML kullanıyoruz.
Bu gönderide, aşağıdaki önemli AWS hizmetlerini kullanarak MLO'lar için referans mimarimizi nasıl oluşturduğumuzu tartışıyoruz:
- Amazon Adaçayı Yapıcı, makine öğrenimi modelleri oluşturmak, eğitmek ve dağıtmak için bir hizmet
- AWS Basamak İşlevleri, süreçleri düzenlemek ve otomatikleştirmek için kullanılan sunucusuz, düşük kodlu bir görsel iş akışı hizmeti
- Amazon EventBridge, sunucusuz bir olay veri yolu
- AWS Lambda, sunucuları sağlamadan veya yönetmeden kod çalıştırmanıza izin veren sunucusuz bir bilgi işlem hizmeti
Ayrıca şirketimizde yeni ML projelerini önyüklemek için bu referans mimarisini nasıl uyguladığımızı da açıklıyoruz.
Meydan okuma
Son 4 yılda, Cepsa genelinde birden fazla iş kolu makine öğrenimi projelerini başlattı, ancak kısa süre sonra belirli sorunlar ve sınırlamalar ortaya çıkmaya başladı.
Makine öğrenimi için bir referans mimarimiz yoktu, bu nedenle her proje, özel model eğitimi ve dağıtımı gerçekleştirerek farklı bir uygulama yolu izledi. Proje kodunu ve parametrelerini işlemek için ortak bir yöntem ve bir ML model kaydı veya sürüm oluşturma sistemi olmadan veri kümeleri, kod ve modeller arasındaki izlenebilirliği kaybettik.
Ayrıca, dağıtılan modelleri izlemediğimiz ve bu nedenle model performansını izleme araçlarına sahip olmadığımız için, üretimde modelleri çalıştırma şeklimizde iyileştirme için yer olduğunu tespit ettik. Sonuç olarak, bilinçli yeniden eğitim kararları vermek için doğru metriklere sahip olmadığımız için, modelleri genellikle zaman çizelgelerine göre yeniden eğittik.
çözüm
Üstesinden gelmemiz gereken zorluklardan başlayarak, veri hazırlama, model eğitimi, çıkarım ve model izlemeyi birbirinden ayırmayı amaçlayan genel bir çözüm tasarladık ve merkezi bir model kaydına sahip olduk. Bu şekilde, birden çok AWS hesabı genelinde ortamları yönetmeyi basitleştirirken, merkezi model izlenebilirliği sağladık.
Veri bilimcilerimiz ve geliştiricilerimiz AWS Bulut9 (kod yazmak, çalıştırmak ve hata ayıklamak için bir bulut IDE) veri tartışması ve makine öğrenimi denemesi için ve Git kod deposu olarak GitHub.
Otomatik bir eğitim iş akışı, veri bilimi ekibi tarafından oluşturulan kodu kullanır. modelleri SageMaker'da eğitin ve çıktı modellerini model kayıt defterine kaydetmek.
Model dağıtımını farklı bir iş akışı yönetir: referansı model kayıt defterinden alır ve kullanarak bir çıkarım uç noktası oluşturur. SageMaker modeli barındırma özellikleri.
Step Functions'ı kullanarak hem model eğitimi hem de dağıtım iş akışlarını uyguladık çünkü bu, her proje için belirli iş akışlarının oluşturulmasını sağlayan ve farklı AWS hizmetlerini ve bileşenlerini basit bir şekilde düzenleyen esnek bir çerçeve sağladı.
Veri tüketim modeli
Cepsa'da, çeşitli iş ihtiyaçlarını karşılamak için bir dizi veri gölü kullanıyoruz ve tüm bu veri gölleri, veri mühendislerinin ve veri bilimcilerinin ihtiyaç duydukları verileri bulmasını ve tüketmesini kolaylaştıran ortak bir veri tüketim modelini paylaşıyor.
Maliyetleri ve sorumlulukları kolayca ele almak için veri gölü ortamları, veri üreticisi ve tüketici uygulamalarından tamamen ayrılır ve ortak bir AWS Kuruluşuna ait farklı AWS hesaplarına dağıtılır.
Makine öğrenimi modellerini eğitmek için kullanılan veriler ve eğitilmiş modeller için bir çıkarım girdisi olarak kullanılan veriler, aşağıdakiler kullanılarak bir dizi iyi tanımlanmış API aracılığıyla farklı veri göllerinden sağlanır. Amazon API Ağ Geçidi, geniş ölçekte API'ler oluşturmak, yayınlamak, bakımını yapmak, izlemek ve güvenliğini sağlamak için bir hizmet. API arka ucu şunları kullanır: Amazon Atina (standart SQL kullanarak verileri analiz etmek için etkileşimli bir sorgu hizmeti) halihazırda depolanmış olan verilere erişmek için Amazon Basit Depolama Hizmeti (Amazon S3) ve katalogda AWS Tutkal Veri Kataloğu.
Aşağıdaki şema, Cepsa'nın MLOps mimarisine genel bir bakış sağlar.
Model eğitimi
Eğitim süreci her model için bağımsızdır ve bir Step Functions standart iş akışıbu da bize süreçleri farklı proje gereksinimlerine göre modelleme esnekliği verir. Çoğu projede yeniden kullandığımız ve gerektiğinde küçük ayarlamalar yaptığımız bir temel şablon tanımladık. Örneğin, bazı proje sahipleri yeni üretim modellerinin dağıtımlarını onaylamak için manuel kapılar eklemeye karar verirken, diğer proje sahipleri kendi hata algılama ve yeniden deneme mekanizmalarını uygulamaya koydu.
Model eğitimi için kullanılan girdi veri kümelerinde de dönüşümler gerçekleştiriyoruz. Bu amaçla eğitim iş akışlarına entegre edilmiş Lambda fonksiyonlarını kullanıyoruz. Daha karmaşık veri dönüşümlerinin gerekli olduğu bazı senaryolarda kodumuzu Amazon Elastik Konteyner Hizmeti (Amazon ECS) açık AWS Fargate, kapsayıcıları çalıştırmak için sunucusuz bir bilgi işlem motoru.
Veri bilimi ekibimiz sık sık özel algoritmalar kullanır, bu nedenle SageMaker model eğitiminde özel kaplar kullanın, güvenen Amazon Elastik Konteyner Kayıt Defteri (Amazon ECR), kapsayıcı görüntülerini depolamayı, yönetmeyi, paylaşmayı ve dağıtmayı kolaylaştıran tam olarak yönetilen bir kapsayıcı kayıt defteri.
Makine öğrenimi projelerimizin çoğu Scikit-learn kitaplığına dayanmaktadır, bu nedenle standardı genişlettik SageMaker Scikit-öğrenme kapsayıcısı Git deposu bilgileri ve dağıtım seçenekleri gibi proje için gereken ortam değişkenlerini dahil etmek için.
Bu yaklaşımla, veri bilimcilerimizin sadece eğitim algoritmasını geliştirmeye ve projenin gerektirdiği kitaplıkları belirlemeye odaklanması gerekiyor. Kod değişikliklerini Git deposuna yüklediklerinde, CI/CD sistemimiz (Jenkins AWS'de barındırılan), eğitim kodu ve kitaplıklarla kapsayıcıyı oluşturur. Bu kapsayıcı, Amazon ECR'ye gönderilir ve son olarak SageMaker eğitim çağrısına parametre olarak iletilir.
Eğitim süreci tamamlandığında ortaya çıkan model Amazon S3'te depolanır, model kayıt defterine bir referans eklenir ve toplanan tüm bilgiler ve ölçümler deney kataloğuna kaydedilir. Algoritma kodu ve kitaplıkları, deneyle ilişkili verilerle birlikte eğitilmiş modele bağlı olduğundan, bu tam tekrarlanabilirliği garanti eder.
Aşağıdaki diyagram model eğitimi ve yeniden eğitim sürecini göstermektedir.
Model dağıtımı
Mimari esnektir ve eğitilmiş modellerin hem otomatik hem de manuel olarak dağıtılmasına izin verir. Model konuşlandırıcı iş akışı, eğitim tamamlandıktan sonra SageMaker eğitiminin EventBridge'de yayınladığı bir olay aracılığıyla otomatik olarak çağrılır, ancak gerekirse model kayıt defterinden doğru model sürümünü geçirerek manuel olarak da çağrılabilir. Otomatik çağırma hakkında daha fazla bilgi için bkz. Amazon EventBridge ile Amazon SageMaker'ı Otomatikleştirme.
Model konuşlandırıcı iş akışı, model bilgilerini model kayıt defterinden alır ve AWS CloudFormation, proje gereksinimlerine bağlı olarak modeli gerçek zamanlı bir çıkarım uç noktasına dağıtmak veya depolanmış bir girdi veri kümesiyle toplu çıkarım gerçekleştirmek için kod hizmeti olarak yönetilen bir altyapı.
Bir model herhangi bir ortamda başarılı bir şekilde dağıtıldığında, model kaydı, modelin şu anda hangi ortamlarda çalıştığını gösteren yeni bir etiketle güncellenir. Bir uç nokta kaldırıldığında, etiketi de model kayıt defterinden silinir.
Aşağıdaki şema, model dağıtımı ve çıkarımı için iş akışını gösterir.
Deneyler ve model kaydı
Her deneyi ve model sürümünü tek bir konumda depolamak ve merkezi bir kod deposuna sahip olmak, model eğitimi ve dağıtımını ayırmamıza ve her proje ve ortam için farklı AWS hesapları kullanmamıza olanak tanır.
Tüm deney girişleri, eğitim ve çıkarım kodunun kesin kimliğini saklar, böylece tüm deney sürecinin tam izlenebilirliğine sahibiz ve farklı deneyleri kolayca karşılaştırabiliriz. Bu, algoritmalar ve modeller için bilimsel keşif aşamasında yinelenen işler yapmamızı engeller ve modellerimizi, modelin eğitildiği hesap ve ortamdan bağımsız olarak herhangi bir yere dağıtmamızı sağlar. Bu, AWS Cloud9 deneme ortamımızda eğitilen modeller için de geçerlidir.
Sonuç olarak, tam otomatik model eğitimi ve devreye alma işlem hatlarına sahibiz ve bir şey düzgün çalışmadığında veya bir ekibin deneme amacıyla farklı bir ortama dağıtılan bir modele ihtiyacı olduğunda hızlı manuel model devreye alımları gerçekleştirme esnekliğine sahibiz.
Ayrıntılı bir kullanım örneği: YET Dragon projesi
YET Dragon projesi, Cepsa'nın Şanghay'daki petrokimya tesisinin üretim performansını iyileştirmeyi amaçlıyor. Bu amaca ulaşmak için üretim sürecini baştan sona inceledik ve daha az verimli adımları aradık. Hedefimiz, bileşen konsantrasyonunu tam olarak bir eşiğin altında tutarak süreçlerin verim verimliliğini artırmaktı.
Bu işlemi simüle etmek için, iki oksidasyon işleminin, bir konsantrasyon işleminin ve yukarıda belirtilen verimin sonuçlarını tahmin etmek için, yanıtı tahmin değişkenlerinin düzgün işlevlerine bağlı olan doğrusal modeller olan dört genelleştirilmiş toplamsal model veya GAM oluşturduk. Ayrıca dört GAM modelinin sonuçlarını işlemek ve tesiste uygulanabilecek en iyi optimizasyonları bulmak için bir optimize edici oluşturduk.
Modellerimiz geçmiş verilerle eğitilmiş olsa da, tesis bazen eğitim veri setinde kayıtlı olmayan koşullar altında çalışabilir; simülasyon modellerimizin bu senaryolar altında iyi çalışmayacağını umuyoruz, bu nedenle, anormallikleri tespit etmek için veri noktalarının verilerin geri kalanına ne kadar uzaklıkta olduğunu belirleyen İzolasyon Ormanları algoritmalarını kullanarak iki anormallik algılama modeli oluşturduk. Bu modeller, bu tür durumlarda otomatik optimizasyon işlemlerini devre dışı bırakmak için bu tür durumları tespit etmemize yardımcı olur.
Endüstriyel kimyasal süreçler oldukça değişkendir ve makine öğrenimi modellerinin tesis işletimi ile iyi bir şekilde uyumlu hale getirilmesi gerekir, bu nedenle her durumda devreye alınan modellerin izlenebilirliğinin yanı sıra sık sık yeniden eğitim gereklidir. YET Dragon, bir model kaydı, deneylerin tam olarak tekrarlanabilirliği ve tam olarak yönetilen otomatikleştirilmiş bir eğitim süreci içeren ilk ML optimizasyon projemizdi.
Artık, bir modeli üretime getiren eksiksiz işlem hattı (veri dönüştürme, model eğitimi, deney izleme, model kaydı ve model dağıtımı) her bir ML modeli için bağımsızdır. Bu, modelleri yinelemeli olarak iyileştirmemizi (örneğin yeni değişkenler ekleme veya yeni algoritmaları test etme) ve eğitim ve dağıtım aşamalarını farklı tetikleyicilere bağlamamızı sağlar.
Sonuçlar ve gelecekteki iyileştirmeler
Şu anda YET Dragon projesinde kullanılan altı ML modelini otomatik olarak eğitebiliyor, devreye alabiliyor ve takip edebiliyoruz ve üretim modellerinin her biri için şimdiden 30'dan fazla sürümü devreye aldık. Bu MLOps mimarisi, şirket genelindeki diğer projelerde yüzlerce ML modeline genişletildi.
Önyükleme süresinin kısalması ve ML boru hatlarının otomasyonu sayesinde proje ortalama süresini %25 azaltan bu mimariye dayalı yeni YET projeleri başlatmaya devam etmeyi planlıyoruz. Ayrıca, YET Dragon projesinin doğrudan bir sonucu olan verim ve konsantrasyondaki artış sayesinde yılda yaklaşık 300,000 € tasarruf elde ettik.
Bu MLOps mimarisinin kısa vadeli gelişimi, model izleme ve otomatik teste yöneliktir. Yeni bir model devreye alınmadan önce, model verimliliğini daha önce devreye alınmış modellerle otomatik olarak test etmeyi planlıyoruz. Ayrıca, model izleme ve çıkarım verisi kayması izlemenin uygulanmasında da çalışıyoruz. Amazon SageMaker Model Monitörü, model yeniden eğitimini otomatikleştirmek için.
Sonuç
Şirketler, makine öğrenimi projelerini otomatik ve verimli bir şekilde üretime geçirme zorluğuyla karşı karşıya. Tam ML model yaşam döngüsünün otomatikleştirilmesi, proje sürelerinin azaltılmasına yardımcı olur ve daha iyi model kalitesi ile üretime daha hızlı ve daha sık dağıtım yapılmasını sağlar.
Şirket genelinde farklı işletmeler tarafından benimsenen standartlaştırılmış bir MLOps mimarisi geliştirerek, Cepsa olarak, ML proje önyüklemesini hızlandırdık ve ML model kalitesini iyileştirdik, veri bilimi ekiplerimizin üzerinde daha hızlı yenilik yapabileceği güvenilir ve otomatikleştirilmiş bir çerçeve sağladık. .
SageMaker'daki MLO'lar hakkında daha fazla bilgi için şu adresi ziyaret edin: MLO'lar için Amazon SageMaker ve diğer müşteri kullanım örneklerine göz atın. AWS Makine Öğrenimi Blogu.
yazarlar hakkında
Guillermo Ribeiro Jimenez Cepsa'da doktora derecesine sahip Kıdemli Veri Bilimcisidir. Nükleer Fizikte. Veri bilimi projelerinde, özellikle telekomünikasyon ve enerji endüstrisinde 6 yıllık deneyime sahiptir. Şu anda Cepsa'nın Dijital Dönüşüm bölümünde, makine öğrenimi projelerinin ölçeklenmesi ve ürünleştirilmesine odaklanan veri bilimcisi ekiplerini yönetiyor.
Guillermo Menéndez Corral AWS Energy and Utilities'de Çözüm Mimarıdır. Yazılım uygulamaları tasarlama ve oluşturma konusunda 15 yılı aşkın bir deneyime sahiptir ve şu anda enerji endüstrisindeki AWS müşterilerine analitik ve makine öğrenimine odaklanarak mimari rehberlik sağlamaktadır.
- Akıllı para. Avrupa'nın En İyi Bitcoin ve Kripto Borsası.
- Plato blok zinciri. Web3 Metaverse Zekası. Bilgi Güçlendirildi. SERBEST ERİŞİM.
- KriptoHawk. Altcoin Radarı. Ücretsiz deneme.
- Kaynak: https://aws.amazon.com/blogs/machine-learning/how-cepsa-used-amazon-sagemaker-and-aws-step-functions-to-industrialize-their-ml-projects-and-operate- onların-modelleri-ölçekli/
- "
- 000
- 100
- 15 yıl
- a
- kabiliyet
- Hakkımızda
- erişim
- Hesap
- Başarmak
- karşısında
- Ad
- katma
- avantaj
- karşı
- algoritma
- algoritmalar
- Türkiye
- veriyor
- zaten
- Amazon
- arasında
- analytics
- çözümlemek
- hiçbir yerde
- api
- API'ler
- uygulamaları
- uygulamalı
- yaklaşım
- onaylamak
- mimari
- mimari
- etrafında
- ilişkili
- otomatikleştirmek
- Otomatik
- Otomatik
- otomatik olarak
- ayrıca otomasyonun
- Otomasyon
- mevcut
- AWS
- Çünkü
- olma
- önce
- olmak
- altında
- İYİ
- Blog
- inşa etmek
- bina
- inşa
- iş
- işletmeler
- dava
- durumlarda
- merkezi
- belli
- meydan okuma
- zorluklar
- kimyasal
- bulut
- kod
- işlemek
- ortak
- şirket
- tamamlamak
- tamamen
- karmaşık
- bileşen
- bileşenler
- hesaplamak
- konsantrasyon
- Sosyal medya
- tüketmek
- tüketici
- tüketim
- Konteyner
- Konteynerler
- maliyetler
- olabilir
- kapak
- yaratmak
- oluşturur
- oluşturma
- Şu anda
- görenek
- müşteri
- Müşteriler
- veri
- veri bilimi
- veri bilimcisi
- karar
- kararlar
- bağlı
- bağlıdır
- dağıtmak
- konuşlandırılmış
- açılma
- dağıtımları
- tasarlanmış
- tasarım
- detaylı
- algılandı
- Bulma
- Belirlemek
- geliştiriciler
- gelişen
- farklı
- dijital
- dijital Dönüşüm
- direkt
- tartışmak
- Ejderha
- her
- kolayca
- verim
- verimli
- ortaya çıkan
- sağlar
- Son nokta
- enerji
- Motor
- Mühendisler
- çevre
- ekipman
- tahmini
- Etkinlikler
- evrim
- kesinlikle
- örnek
- beklemek
- deneyim
- deneme
- keşif
- karşı
- HIZLI
- Daha hızlı
- Özellikler(Hazırlık aşamasında)
- özellikli
- Nihayet
- Ad
- Esneklik
- esnek
- odak
- takip etme
- iskelet
- itibaren
- tam
- fonksiyonlar
- gelecek
- Gates,
- genel
- Git
- GitHub
- Küresel
- gol
- sap
- sahip olan
- yardım et
- yardımcı olur
- büyük ölçüde
- tarihsel
- tutar
- ev sahipliği yaptı
- hosting
- Ne kadar
- HTTPS
- Yüzlerce
- görüntüleri
- uygulama
- uygulanan
- iyileştirmek
- iyileşme
- geliştirme
- Diğer
- dahil
- Artırmak
- bağımsız
- bağımsız
- Sanayi
- sanayi
- bilgi
- bilgi
- Altyapı
- Yenilikçilik
- giriş
- entegre
- interaktif
- tanıtım
- izolasyon
- sorunlar
- IT
- tutmak
- koruma
- anahtar
- fırlatma
- önemli
- öğrenme
- Kütüphane
- hatları
- yer
- bakıyor
- makine
- makine öğrenme
- yapılmış
- korumak
- bakım
- yapmak
- YAPAR
- yönetmek
- yönetilen
- yönetme
- tavır
- Manuel
- el ile
- anlamına geliyor
- Metrikleri
- ML
- model
- modelleri
- izlemek
- izleme
- Daha
- çoğu
- çoklu
- ihtiyaçlar
- işletmek
- operasyon
- optimizasyon
- Opsiyonlar
- sipariş
- kuruluşlar
- Diğer
- kendi
- sahipleri
- Geçen
- performans
- icra
- faz
- Fizik
- noktaları
- tahmin
- sorunlar
- süreç
- Süreçler
- üretici
- üretim
- proje
- Projeler
- sağlanan
- sağlar
- sağlama
- yayınlamak
- amaç
- amaçlı
- itti
- kalite
- gerçek zaman
- azaltmak
- kayıt olmak
- kayıtlı
- güvenilir
- Depo
- gereklidir
- Yer Alan Kurallar
- yanıt
- sorumlulukları
- DİNLENME
- Ortaya çıkan
- Sonuçlar
- koşmak
- koşu
- ölçek
- ölçekleme
- Bilim
- bilim adamı
- bilim adamları
- güvenli
- Dizi
- Serverless
- hizmet
- Hizmetler
- set
- shanghai
- paylaş
- kısa dönem
- Basit
- simülasyon
- tek
- durum
- ALTINCI
- So
- çözüm
- Çözümler
- biraz
- bir şey
- özel
- hız
- aşamaları
- standart
- başladı
- hafızası
- mağaza
- kolaylaştırmak
- Başarılı olarak
- sistem
- Hedef
- takım
- takım
- Telekomünikasyon
- test
- Test yapmak
- The
- Kaynak
- bu nedenle
- iyice
- eşik
- İçinden
- zaman
- zamanlar
- karşı
- İzlenebilirlik
- iz
- Takip
- Eğitim
- Dönüşüm
- dönüşümler
- geçiş
- altında
- us
- kullanım
- genellikle
- kamu hizmetleri
- değer
- versiyon
- iyi tanımlanmış
- süre
- olmadan
- İş
- iş akışları
- çalışma
- Dünya
- yazı yazıyor
- yıl
- yıl
- Yol ver