Ekipman performansını geçmiş veriler, Ray ve Amazon SageMaker ile optimize edin | Amazon Web Hizmetleri

Ekipman performansını geçmiş veriler, Ray ve Amazon SageMaker ile optimize edin | Amazon Web Hizmetleri

Etkin kontrol politikaları, endüstriyel şirketlerin üretkenliği en üst düzeye çıkararak ve planlanmamış arıza sürelerini ve enerji tüketimini azaltarak karlılıklarını artırmalarına olanak tanır. Kimyasal reaktörler ve rüzgar türbinleri gibi fiziksel sistemlerin modellenmesi genellikle zor olduğundan ve süreç dinamiklerindeki sapmalar performansın zaman içinde bozulmasına neden olabileceğinden, en uygun kontrol politikalarını bulmak karmaşık bir iştir. Çevrimdışı takviyeli öğrenme, endüstriyel şirketlerin açık bir süreç modeline ihtiyaç duymadan tamamen geçmiş verilerden kontrol politikaları oluşturmasına olanak tanıyan bir kontrol stratejisidir. Bu yaklaşım, keşif aşamasında süreçle doğrudan etkileşimi gerektirmez; bu da güvenlik açısından kritik uygulamalarda takviyeli öğrenmenin benimsenmesinin önündeki engellerden birini ortadan kaldırır. Bu yazıda, yalnızca geçmiş verileri kullanarak en uygun kontrol politikalarını bulmak için uçtan uca bir çözüm oluşturacağız. Amazon Adaçayı Yapıcı Ray'i kullanarak RLlib kütüphane. Takviyeli öğrenme hakkında daha fazla bilgi edinmek için bkz. Amazon SageMaker ile Güçlendirme Öğrenimini kullanın.

Kullanım durumları

Endüstriyel kontrol, verimli ve güvenilir çalışmayı sağlamak için üretim hatları, enerji şebekeleri ve kimya tesisleri gibi karmaşık sistemlerin yönetimini içerir. Birçok geleneksel kontrol stratejisi, genellikle manuel optimizasyon gerektiren, önceden tanımlanmış kurallara ve modellere dayanmaktadır. Bazı endüstrilerde, örneğin ekipman bozulmaya başladığında veya çevresel koşullar değiştiğinde performansı izlemek ve kontrol politikasını ayarlamak standart bir uygulamadır. Yeniden ayarlama haftalar sürebilir ve yanıtını deneme yanılma yaklaşımıyla kaydetmek için sisteme harici uyarmaların enjekte edilmesini gerektirebilir.

Takviyeli öğrenme, çevre ile etkileşime girerek optimal kontrol politikalarını öğrenmek için süreç kontrolünde yeni bir paradigma olarak ortaya çıkmıştır. Bu süreç, verileri üç kategoriye ayırmayı gerektirir: 1) fiziksel sistemden elde edilen ölçümler, 2) sistem üzerinde gerçekleştirilebilecek eylemler dizisi ve 3) ekipman performansının sayısal bir ölçüsü (ödül). Bir politika, belirli bir gözlemde gelecekte en yüksek ödülleri üretmesi muhtemel eylemi bulmak için eğitilir.

Çevrimdışı takviyeli öğrenmede, üretime dağıtılmadan önce geçmiş veriler üzerinde bir politika eğitilebilir. Bu blog yazısında eğitilen algoritmanın adı "Muhafazakar Q Öğrenme”(CQL). CQL bir "aktör" modeli ve bir "eleştirmen" modeli içerir ve önerilen bir eylemi gerçekleştirdikten sonra kendi performansını ihtiyatlı bir şekilde tahmin etmek için tasarlanmıştır. Bu yazıda süreç, açıklayıcı bir araba direği kontrol problemiyle gösterilmiştir. Amaç, bir aracıyı bir arabanın üzerindeki direği dengede tutarken aynı zamanda arabayı belirlenmiş bir hedef konuma doğru hareket ettirecek şekilde eğitmektir. Eğitim prosedürü çevrimdışı verileri kullanarak aracının önceden var olan bilgilerden öğrenmesine olanak tanır. Bu araba direği vaka çalışması, eğitim sürecini ve bunun potansiyel gerçek dünya uygulamalarındaki etkinliğini göstermektedir.

Çözüme genel bakış

Bu gönderide sunulan çözüm, geçmiş verilerle çevrimdışı takviyeli öğrenim için uçtan uca bir iş akışının dağıtımını otomatikleştirir. Aşağıdaki şemada bu iş akışında kullanılan mimari açıklanmaktadır. Ölçüm verileri, bir endüstriyel ekipman tarafından uçta üretilir (burada bir AWS Lambda işlev). Veriler bir içine konur Amazon Kinesis Data Firehose'u saklayan Amazon Basit Depolama Hizmeti (Amazon S3). Amazon S3, büyük hacimli verileri bir makine öğrenimi eğitim sürecine sunmanıza olanak tanıyan dayanıklı, performanslı ve düşük maliyetli bir depolama çözümüdür.

AWS Tutkal kullanarak verileri kataloglar ve sorgulanabilir hale getirir. Amazon Atina. Athena, ölçüm verilerini takviyeli öğrenme algoritmasının alabileceği bir forma dönüştürür ve ardından bunları Amazon S3'e geri yükler. Amazon SageMaker bu verileri bir eğitim işine yükler ve eğitilmiş bir model oluşturur. SageMaker daha sonra bu modeli bir SageMaker uç noktasında sunar. Endüstriyel ekipman daha sonra eylem önerileri almak için bu uç noktayı sorgulayabilir.

Şekil 1: Uçtan uca takviyeli öğrenme iş akışını gösteren mimari diyagram.

Şekil 1: Uçtan uca takviyeli öğrenme iş akışını gösteren mimari diyagram.

Bu yazıda iş akışını aşağıdaki adımlara ayıracağız:

  1. Sorunu formüle edin. Hangi aksiyonların alınabileceğine, hangi ölçümlere dayanarak önerilerde bulunulacağına karar verin ve her bir aksiyonun ne kadar iyi performans gösterdiğini sayısal olarak belirleyin.
  2. Verileri hazırlayın. Ölçüm tablosunu makine öğrenimi algoritmasının kullanabileceği bir formata dönüştürün.
  3. Algoritmayı bu veriler üzerinde eğitin.
  4. Egzersiz metriklerine göre en iyi egzersiz çalışmasını seçin.
  5. Modeli bir SageMaker uç noktasına dağıtın.
  6. Modelin üretimdeki performansını değerlendirin.

Önkoşullar

Bu izlenecek yolu tamamlamak için bir AWS hesabı ve bir komut satırı arayüzü AWS SAM yüklü. Bu iş akışını çalıştırmak ve eğitim verileri oluşturmak amacıyla AWS SAM şablonunu dağıtmak için şu adımları izleyin:

  1. Kod deposunu komutla indirin
    git clone https://github.com/aws-samples/sagemaker-offline-reinforcement-learning-ray-cql

  2. Dizini depoya değiştirin:
    cd sagemaker-offline-reinforcement-learning-ray-cql

  3. Depoyu oluşturun:
    sam build --use-container

  4. Depoyu dağıtın
    sam deploy --guided --capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND

  5. AWS Lambda işlevini kullanarak sahte veriler oluşturan bir bash betiğini çağırmak için aşağıdaki komutları kullanın.
    1. sudo yum install jq
    2. cd utils
    3. sh generate_mock_data.sh

Çözüm yolu

Problemi formüle et

Bu blog yazısındaki sistemimiz, üstünde dengelenmiş bir direk bulunan bir arabadır. Direk dik olduğunda ve araba pozisyonu kale pozisyonuna yakın olduğunda sistem iyi performans gösterir. Önkoşul adımında bu sistemden geçmiş verileri oluşturduk.

Aşağıdaki tablo sistemden toplanan geçmiş verileri göstermektedir.

Sepet konumu Araba hızı Kutup açısı Kutup açısal hızı Hedef konumu Dış güç Ödüllendirmek Zaman
0.53 -0.79 -0.08 0.16 0.50 -0.04 11.5 5: 37: 54 PM
0.51 -0.82 -0.07 0.17 0.50 -0.04 11.9 5: 37: 55 PM
0.50 -0.84 -0.07 0.18 0.50 -0.03 12.2 5: 37: 56 PM
0.48 -0.85 -0.07 0.18 0.50 -0.03 10.5 5: 37: 57 PM
0.46 -0.87 -0.06 0.19 0.50 -0.03 10.3 5: 37: 58 PM

Amazon Athena'yı kullanarak geçmiş sistem bilgilerini aşağıdaki sorguyla sorgulayabilirsiniz:

SELECT *
FROM "AWS CloudFormation Stack Name_glue_db"."measurements_table"
ORDER BY episode_id, epoch_time ASC
limit 10;

Bu sistemin durumu, araba konumu, araba hızı, direk açısı, direk açısal hızı ve hedef konumu ile tanımlanır. Her zaman adımında gerçekleştirilen eylem, arabaya uygulanan dış kuvvettir. Simüle edilen ortam, araba hedef konumuna daha yakın olduğunda ve direk daha dik olduğunda daha yüksek bir ödül değeri üretir.

Veri hazırla

Sistem bilgilerini takviyeli öğrenme modeline sunmak için, değerleri durum (gözlem olarak da bilinir), eylem ve ödül kategorilerine göre kategorilere ayıran anahtarlarla JSON nesnelerine dönüştürün. Bu nesneleri Amazon S3'te saklayın. Burada, önceki tablodaki zaman adımlarından üretilen JSON nesnelerine bir örnek verilmiştir.

{“obs”:[[0.53,-0.79,-0.08,0.16,0.5]], “action”:[[-0.04]], “reward”:[11.5] ,”next_obs”:[[0.51,-0.82,-0.07,0.17,0.5]]}

{“obs”:[[0.51,-0.82,-0.07,0.17,0.5]], “action”:[[-0.04]], “reward”:[11.9], “next_obs”:[[0.50,-0.84,-0.07,0.18,0.5]]}

{“obs”:[[0.50,-0.84,-0.07,0.18,0.5]], “action”:[[-0.03]], “reward”:[12.2], “next_obs”:[[0.48,-0.85,-0.07,0.18,0.5]]}

AWS CloudFormation yığını şu adı taşıyan bir çıktı içerir: AthenaQueryToCreateJsonFormatedData. Dönüşümü gerçekleştirmek ve JSON nesnelerini Amazon S3'te depolamak için bu sorguyu Amazon Athena'da çalıştırın. Takviyeli öğrenme algoritması, önerilerin hangi değerlere dayandırılacağını ve geçmiş verilerde eylem gerçekleştirmenin sonucunu anlamak için bu JSON nesnelerinin yapısını kullanır.

Tren acentesi

Artık eğitimli bir eylem öneri modeli oluşturmak için bir eğitim işine başlayabiliriz. Amazon SageMaker, çeşitli yapılandırmaların sonuçta ortaya çıkan eğitilmiş modeli nasıl etkilediğini görmek için birden fazla eğitim işini hızlı bir şekilde başlatmanıza olanak tanır. Adlı Lambda işlevini çağırın TuningJobLauncherFunction Algoritmayı eğitirken dört farklı hiperparametre kümesiyle denemeler yapan bir hiperparametre ayarlama işi başlatmak için.

En iyi antrenman koşusunu seçin

Hangi eğitim işlerinin en iyi modeli ürettiğini bulmak için eğitim sırasında oluşturulan kayıp eğrilerini inceleyin. CQL'nin eleştirmen modeli, önerilen bir eylemi gerçekleştirdikten sonra aktörün performansını (Q değeri olarak adlandırılır) tahmin eder. Eleştirmenin kayıp fonksiyonunun bir kısmı zamansal fark hatasını içerir. Bu ölçüm, eleştirmenin Q değeri doğruluğunu ölçer. Yüksek ortalama Q değerine ve düşük zamansal fark hatasına sahip eğitim çalıştırmalarını arayın. Bu kağıt, Çevrimdışı Modelsiz Robotik Takviyeli Öğrenim için İş Akışı, en iyi antrenman çalışmasının nasıl seçileceğinin ayrıntılarını verir. Kod deposunda bir dosya var, /utils/investigate_training.pyBu, en son eğitim işini açıklayan karmaşık bir html şekli oluşturur. Bu dosyayı çalıştırın ve en iyi eğitim çalıştırmasını seçmek için çıktıyı kullanın.

Eğitilen modelin performansını tahmin etmek için ortalama Q değerini kullanabiliriz. Q değerleri, gelecekteki indirimli ödül değerlerinin toplamını ihtiyatlı bir şekilde tahmin edecek şekilde eğitilmiştir. Uzun süren işlemler için Q değerini (1-“iskonto oranı”) ile çarparak bu sayıyı üstel ağırlıklı ortalamaya dönüştürebiliriz. Bu setteki en iyi eğitim koşusu, 539'luk ortalama Q değerine ulaştı. İndirim oranımız 0.99, dolayısıyla model, zaman adımı başına en az 5.39 ortalama ödül öngörüyor. Yeni modelin geçmiş kontrol politikasından daha iyi performans gösterip göstermeyeceğinin bir göstergesi için bu değeri geçmiş sistem performansıyla karşılaştırabilirsiniz. Bu deneyde, geçmiş verilerin zaman adımı başına ortalama ödülü 4.3 idi; dolayısıyla CQL modeli, sistemin geçmişte elde ettiği performanstan yüzde 25 daha iyi bir performans öngörüyor.

Modeli dağıt

Amazon SageMaker uç noktaları, çeşitli kullanım durumlarını karşılamak için makine öğrenimi modellerini birkaç farklı şekilde sunmanıza olanak tanır. Bu gönderide, uç noktamızın talebe göre otomatik olarak ölçeklenmesi için sunucusuz uç nokta türünü kullanacağız ve yalnızca uç nokta bir çıkarım oluşturduğunda işlem kullanımı için ödeme yapacağız. Sunucusuz bir uç nokta dağıtmak için şunları ekleyin: ProductionVariantServerlessConfig içinde üretim varyantı SageMaker'ın uç nokta yapılandırması. Aşağıdaki kod parçacığı, bu örnekteki sunucusuz uç noktanın Python için Amazon SageMaker yazılım geliştirme kiti kullanılarak nasıl dağıtıldığını gösterir. Modeli dağıtmak için kullanılan örnek kodu şu adreste bulun: sagemaker-çevrimdışı-güçlendirme-öğrenme-ray-cql.

predictor = model.deploy( serverless_inference_config=ServerlessInferenceConfig( memory_size_in_mb=2048, max_concurrency=200 ), <…>
)

Eğitilen model dosyaları, her eğitim çalıştırması için S3 model yapılarında bulunur. Makine öğrenimi modelini dağıtmak için en iyi eğitim çalıştırmasının model dosyalarını bulun ve "adlı Lambda işlevini çağırın.ModelDeployerFunctionBu model verilerini içeren bir etkinlikle. Lambda işlevi, eğitilen modele hizmet vermek için bir SageMaker sunucusuz uç noktası başlatacaktır. “ çağrılırken kullanılacak örnek olayModelDeployerFunction"

{ "DescribeTrainingJob": { "ModelArtifacts": { "S3ModelArtifacts": "s3://your-bucket/training/my-training-job/output/model.tar.gz"} } }

Eğitilmiş model performansını değerlendirin

Eğitimli modelimizin üretimde nasıl performans gösterdiğini görme zamanı geldi! Yeni modelin performansını kontrol etmek için “adlı Lambda fonksiyonunu çağırın.RunPhysicsSimulationFunction” etkinlikte SageMaker uç noktası adıyla birlikte. Bu, uç nokta tarafından önerilen eylemleri kullanarak simülasyonu çalıştıracaktır. Çağrılırken kullanılacak örnek olay RunPhysicsSimulatorFunction:

{"random_action_fraction": 0.0, "inference_endpoint_name": "sagemaker-endpoint-name"}

Eğitilen modelin performansını geçmiş sistem performansıyla karşılaştırmak için aşağıdaki Athena sorgusunu kullanın.

WITH sum_reward_by_episode AS ( SELECT SUM(reward) as sum_reward, m_temp.action_source FROM "<AWS CloudFormation Stack Name>_glue_db"."measurements_table" m_temp GROUP BY m_temp.episode_id, m_temp.action_source ) SELECT sre.action_source, AVG(sre.sum_reward) as avg_total_reward_per_episode
FROM sum_reward_by_episode sre
GROUP BY sre.action_source
ORDER BY avg_total_reward_per_episode DESC

İşte örnek bir sonuç tablosu. Eğitilen modelin geçmiş verilere göre 2.5 kat daha fazla ödül elde ettiğini görüyoruz! Ek olarak modelin gerçek performansı, muhafazakar performans tahmininden 2 kat daha iyiydi.

Eylem kaynağı Zaman adımı başına ortalama ödül
trained_model 10.8
historic_data 4.3

Aşağıdaki animasyonlar, eğitim verilerinden örnek bir bölüm ile hangi eylemin gerçekleştirileceğini seçmek için eğitilen modelin kullanıldığı bir bölüm arasındaki farkı gösterir. Animasyonlarda mavi kutu arabayı, mavi çizgi direk, yeşil dikdörtgen ise kale konumunu göstermektedir. Kırmızı ok, her zaman adımında arabaya uygulanan kuvveti gösterir. Eğitim verilerindeki kırmızı ok biraz ileri geri atlıyor çünkü veriler yüzde 50 uzman eylemleri ve yüzde 50 rastgele eylemler kullanılarak oluşturuldu. Eğitilen model, tamamen uzman olmayan gösterileri gözlemleyerek stabiliteyi korurken arabayı hızlı bir şekilde hedef konumuna hareket ettiren bir kontrol politikasını öğrendi.

Ekipman performansını geçmiş veriler, Ray ve Amazon SageMaker ile optimize edin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai. Ekipman performansını geçmiş veriler, Ray ve Amazon SageMaker ile optimize edin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

 Temizlemek

Bu iş akışında kullanılan kaynakları silmek için Amazon CloudFormation yığınının kaynaklar bölümüne gidin ve S3 klasörlerini ve IAM rollerini silin. Ardından CloudFormation yığınının kendisini silin.

Sonuç

Çevrimdışı takviyeli öğrenme, endüstriyel şirketlerin geçmiş verileri kullanarak güvenlikten ödün vermeden en uygun politikaları aramayı otomatikleştirmesine yardımcı olabilir. Bu yaklaşımı operasyonlarınızda uygulamak için, durum tarafından belirlenen bir sistemi oluşturan ölçümleri, kontrol edebileceğiniz eylemleri ve istenen performansı gösteren ölçümleri tanımlayarak başlayın. Daha sonra erişim bu GitHub deposu Ray ve Amazon SageMaker'ı kullanarak otomatik uçtan uca bir çözümün uygulanması için.

Bu gönderi, Amazon SageMaker RL ile yapabileceklerinizin yalnızca yüzeysel bir örneğidir. Bir deneyin ve lütfen bize geri bildirim gönderin. Amazon SageMaker tartışma forumu veya her zamanki AWS kişileriniz aracılığıyla.


Yazarlar Hakkında

Ekipman performansını geçmiş veriler, Ray ve Amazon SageMaker ile optimize edin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.Walt Mayfield AWS'de Çözüm Mimarıdır ve enerji şirketlerinin daha güvenli ve verimli çalışmasına yardımcı olur. AWS'ye katılmadan önce Walt, Hilcorp Energy Company'de Operasyon Mühendisi olarak çalıştı. Boş zamanlarında bahçecilik yapmayı ve balık uçurmayı seviyor.

Ekipman performansını geçmiş veriler, Ray ve Amazon SageMaker ile optimize edin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.Felipe Lopez AWS'de Petrol ve Gaz Üretim Operasyonları alanında yoğunlaşan Kıdemli Çözüm Mimarıdır. Felipe, AWS'ye katılmadan önce GE Digital ve Schlumberger ile çalıştı ve burada endüstriyel uygulamalara yönelik ürünlerin modellenmesi ve optimizasyonuna odaklandı.

Ekipman performansını geçmiş veriler, Ray ve Amazon SageMaker ile optimize edin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.Yingwei Yu AWS Generative AI Incubator'da Uygulamalı Bilim Adamıdır. Doğal dil işleme, zaman serisi analizi ve tahmine dayalı bakım da dahil olmak üzere makine öğreniminde çeşitli kavram kanıtları üzerinde farklı sektörlerdeki çeşitli kuruluşlarla çalışma deneyimine sahiptir. Boş zamanlarında yüzmekten, resim yapmaktan, yürüyüş yapmaktan ve ailesi ve arkadaşlarıyla vakit geçirmekten hoşlanıyor.

Ekipman performansını geçmiş veriler, Ray ve Amazon SageMaker ile optimize edin | Amazon Web Hizmetleri PlatoBlockchain Veri Zekası. Dikey Arama. Ai.Haozhu Wang Amazon Bedrock'ta Amazon'un Titan temel modellerini oluşturmaya odaklanan bir araştırma bilimcisidir. Daha önce Amazon ML Çözümleri Laboratuvarı'nda Güçlendirme Öğrenim Dikey'in eş başkanı olarak çalıştı ve pekiştirmeli öğrenme, doğal dil işleme ve grafik öğrenimi hakkındaki en son araştırmalarla müşterilerin gelişmiş makine öğrenimi çözümleri oluşturmasına yardımcı oldu. Haozhu, doktora derecesini Michigan Üniversitesi'nden Elektrik ve Bilgisayar Mühendisliği alanında aldı.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi