Bagaimana Yara menggunakan fitur MLOps Amazon SageMaker untuk menskalakan pengoptimalan energi di seluruh pabrik amonia mereka PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Bagaimana Yara menggunakan fitur MLOps dari Amazon SageMaker untuk menskalakan pengoptimalan energi di seluruh pabrik amonia mereka

Yara adalah perusahaan nutrisi tanaman terkemuka dunia dan penyedia solusi lingkungan dan pertanian. Ambisi Yara difokuskan untuk menumbuhkan masa depan pangan yang positif terhadap alam yang menciptakan nilai bagi pelanggan, pemegang saham, dan masyarakat pada umumnya, serta menghadirkan rantai nilai pangan yang lebih berkelanjutan. Mendukung visi kami tentang dunia tanpa kelaparan dan planet yang dihormati, Yara mengejar strategi pertumbuhan nilai yang berkelanjutan, mempromosikan nutrisi tanaman yang ramah iklim dan solusi energi tanpa emisi. Yara juga merupakan penghasil amonia, nitrat, dan NPK pupuk. Oleh karena itu, segmen produksi mereka merupakan blok bangunan integral untuk mewujudkan misi merekaโ€”dengan ambisi yang dinyatakan dengan jelas untuk menjadi yang terdepan di dunia dalam metrik seperti keselamatan, jejak lingkungan, kualitas, dan biaya produksi. Target jangka panjang Yara adalah โ€œTanaman Masa Depanโ€ dengan nol emisi dan biaya rendah.

Membangun transformasi ramping, Yara meningkatkan fokus mereka pada solusi digital untuk membantu mereka mencapai ambisinya. Untuk memimpin usaha ini, Yara mendirikan unit global bernama Digital Production. Kesuksesan Digital Production dan solusinya merupakan prioritas utama bagi Yara, dan Yara mengembangkan upaya mereka secara signifikan dalam bidang ini. Area fokus yang penting adalah memanfaatkan sejumlah besar data yang dihasilkan sebagai bagian dari operasi mereka. Oleh karena itu, Yara membangun produk berbasis data yang membantu mereka mengoptimalkan produksi, meningkatkan kualitas produk, meningkatkan keandalan lokasi produksi, mengurangi emisi, meningkatkan keselamatan dan produktivitas pekerja, mengotomatiskan proses manual, dan banyak lagi.

Energi merupakan komponen biaya utama untuk banyak pabrik produksi; karenanya, efisiensi energi memiliki dampak besar pada profitabilitas. Namun, sering kali ada kekurangan referensi yang solid tentang seperti apa kinerja yang baik itu dan bagaimana mencapainya. Kurva Beban Energi (ELC) Yara adalah solusi yang menggunakan kinerja historis terbaik pada konsumsi energi dibandingkan dengan kinerja saat ini. Jika konsumsi saat ini menyimpang terlalu jauh dari sejarah terbaiknya, alat ini memberikan rekomendasi kepada operator untuk mengarahkan konsumsi energi.

Untuk menerapkan ELC ke pabrik produksi dan menskalakannya ke beberapa situs di seluruh dunia, Yara perlu membangun platform MLOps. Ini akan memastikan Yara akan melatih, menyebarkan, dan memelihara model dengan andal dan efisien. Selain itu, untuk menskalakan ini ke beberapa situs, Yara perlu mengotomatiskan proses penerapan dan pemeliharaan. Dalam posting ini, kita membahas bagaimana Yara menggunakan Amazon SageMaker fitur, termasuk model registry, Monitor Model Amazon SageMaker, dan Pipa Amazon SageMaker untuk merampingkan siklus proses pembelajaran mesin (ML) dengan mengotomatiskan dan menstandarkan praktik MLOps. Kami memberikan ikhtisar penyiapan, menampilkan proses pembangunan, pelatihan, penerapan, dan pemantauan model ML untuk pabrik di seluruh dunia.

Ikhtisar solusi

ELC menggunakan data sensor Internet of Things (IoT) dari pabrik. Sensor ini mengukur metrik seperti throughput produksi, kondisi sekitar, dan kondisi bahan baku, dll. Data ini digunakan untuk melatih model prediksi energi yang kemudian digunakan untuk membuat prediksi per jam. Operator pembangkit memantau konsumsi energi aktual dan membandingkannya dengan konsumsi optimal seperti yang diperkirakan oleh ELC. Jika konsumsi energi saat ini menyimpang terlalu jauh dari titik optimal, ELC memberikan tindakan untuk menyesuaikan variabel proses internal untuk mengoptimalkan efisiensi energi berdasarkan model analitik.

ELC dihosting di cloud. Untuk mengalirkan data sensor dari pabrik secara real time, Yara menggunakan Rumput Hijau AWS IoT untuk berkomunikasi dengan aman Inti AWS IoT dan ekspor data IoT ke AWS cloud. AWS IoT SiteWise adalah layanan terkelola yang dapat mengumpulkan, mengatur, mencari, dan menggunakan data peralatan dari peralatan industri dalam skala besar. Yara telah membangun API menggunakan Gerbang API Amazon untuk memaparkan data sensor ke aplikasi seperti ELC.

Backend aplikasi ELC diterapkan melalui Amazon ECS dan mendukung dasbor ELC di front end yang digunakan oleh operator pabrik. Aplikasi ELC bertanggung jawab untuk menyediakan metrik konsumsi energi per jam untuk operator pabrik. Setiap pembangkit dilengkapi dengan modelnya masing-masing, karena karakteristik konsumsi energinya berbeda. Selain itu, pabrik dikelompokkan ke dalam Wilayah AWS yang berbeda berdasarkan lokasinya.

Diagram berikut menggambarkan arsitektur ini.

Untuk membangun ELC dan menskalakan ke beberapa pabrik, kami memerlukan solusi MLOps yang mendukung hal berikut:

  • Skalabilitas โ€“ Dapat menskala sebagai respons terhadap volume data. Beberapa pabrik menghasilkan lebih banyak data daripada yang lain; setiap pabrik dapat menghasilkan beberapa gigabyte data per hari.
  • diperpanjang โ€“ Itu dapat diterapkan ke Wilayah dan akun baru.
  • Pengulangan โ€“ Ini memiliki template umum yang dapat kita gunakan untuk memasang pabrik baru.
  • keluwesan โ€“ Itu dapat mengubah konfigurasi penyebaran berdasarkan kebutuhan masing-masing pabrik.
  • Keandalan dan pemantauan โ€“ Itu dapat menjalankan tes dan memiliki visibilitas yang jelas ke status semua tanaman aktif. Jika terjadi kegagalan, itu dapat memutar kembali ke keadaan stabil sebelumnya.
  • pemeliharaan โ€“ Solusinya harus memiliki biaya perawatan yang rendah. Itu harus menggunakan layanan tanpa server jika memungkinkan untuk mengurangi jejak infrastruktur.

Untuk ML, Yara memutuskan untuk menggunakan SageMaker. SageMaker adalah layanan terkelola sepenuhnya yang mencakup seluruh alur kerja ML. Fitur berikut sangat penting dalam memilih SageMaker:

  • Wadah kerangka kerja SageMaker โ€“ Yara telah melatih model prediktif ELC di TensorFlow, dan dengan wadah kerangka kerja SageMaker, Yara dapat mengangkat dan menggeser model ini dengan sedikit perubahan kode ke SageMaker.
  • Pipa SageMaker โ€“ SageMaker Pipelines menawarkan antarmuka Python bagi ilmuwan data untuk menulis pipeline ML. Sebagian besar kode ELC terdiri dari training dan pipeline inferensi, yang didefinisikan dengan Python.
  • Registri model SageMaker โ€“ Registri model SageMaker memungkinkan untuk membuat katalog dan model kontrol versi. Selain itu, memudahkan pengelolaan metadata model, seperti metrik pelatihan.
  • Monitor Model SageMaker โ€“ Yara ingin memantau kualitas dan distribusi data yang masuk serta kinerja model ELC. SageMaker Model Monitor API menawarkan pemantauan kualitas data dan model.

Untuk mengelola continuous integration dan continuous delivery (CI/CD) untuk pipeline ML, Yara menggunakan Kerangka Kerja Penerapan Amazon (ADF). ADF adalah kerangka kerja sumber terbuka yang dikembangkan oleh AWS untuk mengelola dan menerapkan sumber daya di berbagai akun dan Wilayah AWS dalam AWS Organization. ADF memungkinkan penyebaran aplikasi atau sumber daya secara bertahap, paralel, multi-akun, dan lintas-Wilayah melalui struktur yang ditentukan dalam Organisasi AWS, sambil memanfaatkan layanan seperti Pipa Kode AWS, Pembuatan Kode AWS, Komitmen Kode AWS, dan Formasi AWS Cloud untuk meringankan pengangkatan dan manajemen yang berat dibandingkan dengan penyiapan CI/CD tradisional.

Ikhtisar solusi

Seluruh solusi untuk platform MLOps dibangun dalam waktu dua bulan dalam upaya kolaboratif dengan Layanan Profesional AWS. Tim yang mengerjakan proyek ini terdiri dari ilmuwan data, insinyur data, dan spesialis DevOps. Untuk memfasilitasi pengembangan yang lebih cepat di lingkungan multi-tim, Yara memilih untuk menggunakan Zona Pendaratan AWSne dan Organisasi untuk membuat, mengelola, dan mengatur berbagai akun AWS secara terpusat. Misalnya, Yara memiliki akun penerapan terpusat, dan menggunakan akun beban kerja untuk menghosting aplikasi bisnis. ELC adalah kasus penggunaan pengoptimalan proses dan diterapkan untuk mengoptimalkan akun beban kerja. Tim Yara Digital Production juga mengerjakan kasus penggunaan ML di area selain pengoptimalan. Kerangka kerja MLOps mendukung penerapan ke akun beban kerja apa pun selama akun tersebut dibuat melalui Organisasi.

Diagram berikut menggambarkan arsitektur ini.

Organisasi Penyiapan Akun

Menggunakan akun penerapan terpusat memudahkan pengelolaan artefak umum dan pipeline CI/CD. Dalam hal manajemen akses dan keamanan artefak umum ini, desainnya lebih sederhana karena batas izin dan kunci enkripsi dikelola secara terpusat di satu tempat. Di bagian berikut, kami memandu Anda melalui langkah-langkah yang diperlukan untuk memasukkan kasus penggunaan baru ke platform MLOps Yara.

Dalam hal strategi akun, Yara memiliki penyiapan sandbox, DEV, TEST, dan PROD. Akun kotak pasir digunakan untuk eksperimen dan mencoba ide-ide baru. Akun DEV adalah titik awal dari saluran CI/CD, dan semua pengembangan dimulai di sini. Akun penerapan berisi definisi jalur pipa CI/CD dan mampu menerapkan ke akun DEV, TEST, dan PROD. Pengaturan akun ini digambarkan dalam gambar berikut.

Pengaturan Akun MLOps

Orientasi kasus penggunaan baru

Untuk posting ini, kami menganggap kami memiliki prototipe yang berfungsi dari kasus penggunaan, dan sekarang kami ingin mengoperasionalkannya. Jika kasus penggunaan ini milik area produk baru, pertama-tama kita harus menyediakan akun menggunakan Organisasi, yang secara otomatis memicu ADF untuk mem-bootstrap akun ini untuk penerapan. Yara mengikuti strategi akun DEV>TEST>PROD; namun, konfigurasi ini tidak wajib. Akun data mengekspos API untuk akses data, dan untuk kasus penggunaan baru, peran harus diberikan sesuai kebutuhan Identitas AWS dan Manajemen Akses (IAM) sehingga mereka dapat mengakses API Data.

Selanjutnya, kita perlu menentukan ke akun mana kasus penggunaan ini diterapkan. Ini dilakukan dengan menggunakan peta penyebaran di ADF. Deployment map adalah file konfigurasi yang berisi pemetaan tahapan dan target untuk pipeline. Untuk menjalankan peta penerapan, ADF menggunakan CodePipeline. ADF memberikan fleksibilitas untuk mengelola parameter per lingkungan target tempat tumpukan diterapkan. Hal ini memudahkan pengelolaan penerapan dan pengujian dengan instans yang lebih kecil.

Untuk mengenkripsi semua artefak, seperti kode, data, dan file model, kami membuat file Layanan Manajemen Kunci AWS (AWS KMS). Anda juga dapat menggunakan enkripsi sisi server. Namun, karena beberapa artefak yang dihasilkan diakses lintas akun, kami perlu membuat kunci kami sendiri dan mengelola kebijakan izinnya untuk memberikan akses lintas akun.

Terakhir, kita perlu membuat grup paket model untuk mengelompokkan versi model yang berbeda menggunakan registri model SageMaker, yang merupakan kemampuan SageMaker untuk melacak dan mengelola model saat mereka bergerak melalui siklus hidup ML.

Saluran pelatihan model

Untuk setiap pabrik baru yang terpasang untuk ELC, kami membuat alur pelatihan SageMaker baru. Pipeline ini terdiri dari prapemrosesan data dan langkah-langkah pelatihan model. Pipeline SageMaker cocok untuk Yara karena menawarkan antarmuka Python untuk menentukan alur kerja ML. Selain itu, berbagai langkah alur kerja dapat dikonfigurasi untuk menskalakan secara berbeda. Misalnya, Anda dapat menentukan instans yang jauh lebih besar untuk pelatihan daripada langkah evaluasi model. Parameter input dan output untuk setiap langkah pipeline disimpan, yang memudahkan untuk melacak setiap proses dan outputnya. Garis besar alur kerja pelatihan tingkat tinggi adalah sebagai berikut.

Pipa Pelatihan SageMaker

Sebagai bagian dari tahap evaluasi model, dataset evaluasi digunakan untuk menghasilkan metrik, seperti akurasi dan deviasi root-mean-squared error (RMSE) pada model yang dilatih. Metrik ini ditambahkan ke metadata model sebelum mendaftarkan model ke registri model. Saat ini, model dipromosikan secara manual ke lingkungan yang lebih tinggi, dan pemberi persetujuan model dapat melihat metrik model untuk memastikan versi baru berperforma lebih baik daripada model saat ini.

Model adalah versi yang dikontrol dengan registri model, dengan setiap pabrik memiliki grup paket modelnya sendiri. Selain itu, Anda dapat menggunakan registri model untuk melacak versi model mana yang disebarkan ke lingkungan mana. Sebuah model dapat berada di a Ditolak, Menunggu Persetujuan Manual, atau Disetujui negara, dan hanya model yang berada di Disetujui negara dapat dikerahkan. Ini juga menawarkan perlindungan dari penerapan versi model yang tidak disetujui secara tidak sengaja.

Model inferensi dan pipa pemantauan

Untuk menerapkan model dan menyiapkan pemantauan model, kami menyiapkan pipeline SageMaker kedua. Aplikasi ELC memberikan prediksi operator pabrik sesuai permintaan, oleh karena itu model diakses melalui panggilan API yang dibuat dari backend ELC. Titik akhir inferensi SageMaker menyediakan solusi hosting model yang terkelola sepenuhnya dengan lapisan API; titik akhir mengambil input model sebagai payload dan mengembalikan prediksi. Karena latensi juga merupakan faktor penting bagi pengguna akhir yang tidak ingin menunggu lama sebelum mendapatkan prediksi terbaru, Yara memilih titik akhir inferensi real-time SageMaker, yang sangat cocok untuk beban kerja dengan persyaratan latensi sangat rendah. Terakhir, karena aplikasi ELC tidak dapat mengalami waktu henti saat model yang diperbarui sedang diterapkan, aplikasi ELC bergantung pada kemampuan penerapan biru/hijau dari titik akhir real-time SageMaker untuk memastikan bahwa versi model lama terus memberikan prediksi hingga versi baru diterapkan .

Diagram berikut mengilustrasikan penyiapan penerapan dan pemantauan.

Pipa Inferensi SageMaker

Untuk pemantauan model, Yara menjalankan SageMaker kualitas data, kualitas model, dan keterjelasan model pemantauan. Pemantauan kualitas data memeriksa konsistensi dan menghasilkan statistik distribusi data. Pemantauan kualitas model memeriksa performa model dan membandingkan akurasi model dengan metrik pelatihan. Laporan pemantauan model dihasilkan setiap jam. Laporan ini digunakan untuk memantau performa model dalam produksi. Pemantauan keterjelasan model digunakan untuk memahami fitur apa yang paling berkontribusi terhadap prediksi.

Hasil penjelasan model ini dibagikan di dasbor ELC untuk memberi operator pabrik lebih banyak konteks tentang apa yang mendorong konsumsi energi. Hal ini juga mendukung penentuan tindakan untuk menyesuaikan proses internal jika konsumsi energi menyimpang dari titik optimal.

aliran CI/CD

Alur CI/CD untuk pipeline pelatihan dimulai di akun DEV. Yara mengikuti model pengembangan berbasis fitur dan ketika fitur baru dikembangkan, cabang fitur digabungkan ke dalam trunk, yang memulai penerapan. Model ELC dilatih di akun DEV dan setelah model dilatih dan dievaluasi, model tersebut didaftarkan di registri model. Penyetuju model melakukan pemeriksaan kewarasan sebelum memperbarui status model ke Disetujui. Tindakan ini menghasilkan peristiwa yang memicu penerapan pipa inferensi model. Pipeline inferensi model menerapkan versi model baru ke titik akhir SageMaker di DEV.

Setelah penerapan titik akhir, pengujian untuk memeriksa perilaku penyiapan dimulai. Untuk pengujian, Yara menggunakan Laporan pengujian CodeBuild. Fitur ini memungkinkan pengembang untuk menjalankan pengujian unit, pengujian konfigurasi, dan pengujian fungsional sebelum dan sesudah penerapan. Dalam hal ini, Yara menjalankan pengujian fungsional dengan meneruskan muatan pengujian ke titik akhir SageMaker dan mengevaluasi responsnya. Setelah pengujian ini dilewati, pipeline melanjutkan penerapan titik akhir SageMaker ke TEST. Backend ELC juga di-deploy ke TEST, yang memungkinkan pengujian end-to-end untuk aplikasi di lingkungan ini. Selain itu, Yara menjalankan pengujian penerimaan pengguna di TEST. Pemicu dari penerapan TEST ke PROD adalah tindakan persetujuan manual. Setelah versi model baru lulus pengujian fungsional dan penerimaan pengguna di TEST, tim teknik menyetujui penerapan model ke PROD.

Gambar berikut mengilustrasikan alur kerja ini.

Paket CodePipeline

Komponen umum

Untuk ELC, kami menggunakan beberapa komponen yang umum untuk semua tahap penerapan (DEV, TEST, PROD) dan model. Komponen ini berada di akun penerapan kami, dan menyertakan kontrol versi model, repositori gambar kontainer, kunci enkripsi, dan keranjang untuk menyimpan artefak umum.

Bagaimana Yara menggunakan fitur MLOps Amazon SageMaker untuk menskalakan pengoptimalan energi di seluruh pabrik amonia mereka PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Ada beberapa keuntungan menggunakan artefak umum. Misalnya, sumber daya tidak harus dibuat untuk setiap akun, yang memberlakukan kompatibilitas antar akun. Artinya, kami membuat gambar container satu kali dan menggunakannya kembali di semua akun target, sehingga mengurangi waktu pembuatan.

Pipa ini menyimpan versi model yang berbeda dalam registri model umum di akun penerapan. Dari lokasi sentral ini, model dapat diterapkan di semua akun tanpa mentransfernya. Demikian pula, penggunaan kunci enkripsi yang disimpan secara terpusat mempermudah pengelolaan kunci dan izin lintas akun.

Salah satu kelemahan menggunakan artefak umum adalah langkah orientasi kasus penggunaan baru bisa menjadi lebih rumit. Untuk memasukkan kasus penggunaan baru, registri model baru harus dibuat dan, jika diperlukan, repositori gambar kontainer baru. Kami juga menyarankan untuk membuat kunci enkripsi baru untuk memisahkan secara ketat sumber daya dan data yang disimpan.

Kesimpulan

Dalam postingan ini, kami mendemonstrasikan bagaimana Yara menggunakan SageMaker dan ADF untuk membangun platform MLOps yang sangat dapat diskalakan. ML adalah kemampuan lintas fungsi, dan tim menerapkan model ke akun unit bisnis yang berbeda. Oleh karena itu, ADF, yang menawarkan integrasi asli dengan Organisasi, menjadikannya kandidat yang ideal untuk mem-bootstrap akun guna menyiapkan pipeline CI/CD. Secara operasional, jalur pipa ADF berjalan di akun penerapan pusat, yang memudahkan untuk mendapatkan tampilan kesehatan penerapan secara keseluruhan. Terakhir, ADF menggunakan layanan terkelola AWS seperti CodeBuild, CodeDeploy, CodePipeline, dan CloudFormation, membuatnya mudah dikonfigurasi dan dipelihara.

SageMaker menyediakan spektrum kemampuan ML yang luas, yang memungkinkan tim untuk lebih fokus pada penyelesaian masalah bisnis dan lebih sedikit pada pembangunan dan pemeliharaan infrastruktur. Selain itu, SageMaker Pipelines menyediakan rangkaian API yang kaya untuk membuat, memperbarui, dan menerapkan alur kerja ML, menjadikannya sangat cocok untuk MLOps.

Terakhir, MLOps memberikan praktik terbaik untuk menerapkan dan memelihara model ML dalam produksi secara andal dan efisien. Penting bagi tim yang membuat dan menerapkan solusi ML dalam skala besar untuk mengimplementasikan MLOps. Dalam kasus Yara, MLOps secara signifikan mengurangi upaya yang diperlukan untuk memasang pabrik baru, meluncurkan pembaruan ke ELC, dan memastikan kualitas model dipantau.

Untuk informasi selengkapnya tentang cara menerapkan aplikasi menggunakan ADF, lihat contoh.


Tentang penulis

Bagaimana Yara menggunakan fitur MLOps Amazon SageMaker untuk menskalakan pengoptimalan energi di seluruh pabrik amonia mereka PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai. Shaheer Mansur adalah Ilmuwan Data di AWS. Fokusnya adalah membangun platform pembelajaran mesin yang dapat menghosting solusi AI dalam skala besar. Bidang minatnya adalah MLOps, toko fitur, hosting model, dan pemantauan model.

Bagaimana Yara menggunakan fitur MLOps Amazon SageMaker untuk menskalakan pengoptimalan energi di seluruh pabrik amonia mereka PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Tim Becker adalah Ilmuwan Data Senior di Yara International. Dalam Produksi Digital, fokusnya adalah pada optimalisasi proses produksi amonia dan asam nitrat. Dia memegang gelar PhD dalam Termodinamika dan bersemangat menyatukan teknik proses dan pembelajaran mesin.

Bagaimana Yara menggunakan fitur MLOps Amazon SageMaker untuk menskalakan pengoptimalan energi di seluruh pabrik amonia mereka PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Yongyos Kaewpitakkun adalah ilmuwan data senior di tim Produksi Digital di Yara International. Dia memiliki gelar PhD dalam AI/pembelajaran mesin dan pengalaman bertahun-tahun memanfaatkan pembelajaran mesin, visi komputer, dan model pemrosesan bahasa alami untuk memecahkan masalah bisnis yang menantang.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS