Rumah  >  Artikel  >  Peranti teknologi  >  MLOps vs. DevOps: Apakah perbezaannya?

MLOps vs. DevOps: Apakah perbezaannya?

WBOY
WBOYke hadapan
2023-04-11 20:37:192922semak imbas

Operasi Pembelajaran Mesin (pendek kata MLOps) ialah aspek utama kejuruteraan pembelajaran mesin (ML) yang tertumpu pada memudahkan dan mempercepatkan proses penghantaran model ML kepada pengeluaran serta menyelenggara dan memantaunya. MLOps melibatkan kerjasama antara pasukan yang berbeza, termasuk saintis data, jurutera DevOps, pakar IT, dsb.

MLOps boleh membantu organisasi mencipta dan meningkatkan kualiti penyelesaian AI dan pembelajaran mesin mereka. Mengguna pakai MLOps membolehkan jurutera pembelajaran mesin dan saintis data bekerjasama dalam meningkatkan prestasi model dengan melaksanakan amalan penyepaduan berterusan dan penggunaan berterusan (CI/CD). Ia mempercepatkan proses pembangunan model ML dengan menyepadukan pemantauan, tadbir urus dan pengesahan model ML yang betul.

MLOps vs. DevOps: Apakah perbezaannya?

Apakah itu DevOps?

DevOps menggabungkan konsep pembangunan dan operasi, menerangkan pendekatan kolaboratif untuk melaksanakan tugas yang biasanya dikaitkan dengan pembangunan aplikasi dan pasukan operasi IT yang berasingan. Dalam erti kata yang luas, DevOps ialah falsafah yang menggalakkan komunikasi dan kerjasama yang lebih baik antara pasukan ini (dan lain-lain) dalam sesebuah organisasi.

Dalam erti kata yang sempit, DevOps merujuk kepada penggunaan amalan yang membolehkan penggunaan dan penyelenggaraan pembangunan aplikasi berulang, automasi dan infrastruktur boleh atur cara. Ia juga termasuk perubahan dalam budaya tempat kerja, seperti pembinaan kepercayaan dan hubungan antara pembangun, sysadmin dan ahli pasukan yang lain. DevOps menyelaraskan teknologi dengan matlamat perniagaan dan boleh mengubah rantaian penghantaran perisian, fungsi kerja, perkhidmatan, alatan dan amalan terbaik.

MLOps vs DevOps: Perbezaan Utama

Berikut ialah beberapa perbezaan utama antara MLOps dan DevOps tradisional.

Pembangunan

Konsep pembangunan merujuk kepada perkara yang berbeza dalam setiap model, dan saluran paip CI/CD berbeza sedikit.

DevOps:

  • Biasanya, kod mencipta antara muka atau aplikasi.
  • Balut kod ke dalam boleh laku atau artifak sebelum menggunakan dan menguji dengan satu set semakan.
  • Sebaik-baiknya, kitaran automatik ini akan berterusan sehingga produk akhir siap.

MLOps:

  • Kod ini membolehkan pasukan membina atau melatih model pembelajaran mesin.
  • Artifak output termasuk fail bersiri yang boleh menerima input data untuk menjana inferens.
  • Pengesahan terdiri daripada menyemak prestasi model terlatih terhadap data ujian.
  • Gelung ini juga harus diteruskan sehingga model mencapai ambang prestasi yang ditentukan.

Kawalan Versi

DevOps:

  • Kawalan versi biasanya hanya menjejaki perubahan kod dan artifak.
  • Terdapat sangat sedikit metrik untuk dijejaki.

MLOps:

  • Saluran paip MLOps umumnya mempunyai lebih banyak faktor untuk dijejaki. Membina dan melatih model ML melibatkan kitaran percubaan berulang yang memerlukan penjejakan pelbagai metrik dan komponen untuk setiap percubaan (penting untuk pengauditan kemudian).
  • Komponen lain untuk dijejaki termasuk set data latihan, kod binaan model dan artifak model.
  • Metrik termasuk hiperparameter dan metrik prestasi model seperti kadar ralat.

Kebolehgunaan Semula

DevOps:

  • Saluran Paip DevOps memfokuskan pada boleh diulang proses.
  • Pasukan boleh mencampur dan memadankan proses tanpa perlu mengikut aliran kerja tertentu.

MLOps:

  • Saluran paip MLOps menggunakan aliran kerja yang sama berulang kali. Rangka kerja biasa merentas projek membantu meningkatkan konsistensi dan membolehkan pasukan membuat kemajuan lebih cepat kerana mereka bermula dengan proses yang biasa.
  • Templat projek menyediakan struktur dan membolehkan penyesuaian untuk memenuhi keperluan unik setiap kes penggunaan.
  • Satukan data organisasi anda menggunakan pengurusan data terpusat untuk mempercepatkan proses penemuan dan latihan. Pendekatan biasa untuk pemusatan termasuk sumber tunggal kebenaran dan gudang data.

Pemantauan Berterusan

Pemantauan adalah penting untuk kedua-dua DevOps dan MLOps, tetapi atas sebab yang sedikit berbeza.

DevOps:

  • Site Reliability Engineering (SRE) telah menjadi trend sejak beberapa tahun lalu, menekankan segala-galanya daripada pembangunan hingga Keperluan perisian pemantauan penggunaan pengeluaran.
  • Perisian tidak merosot seperti model ML.

MLOps:

  • Model pembelajaran mesin merosot dengan cepat dan memerlukan pemantauan dan kemas kini berterusan.
  • Keadaan dalam persekitaran pengeluaran boleh menjejaskan ketepatan model. Selepas digunakan untuk pengeluaran, model itu mula menjana ramalan berdasarkan data baharu dari dunia sebenar. Data ini sentiasa berubah dan menyesuaikan diri, mengurangkan prestasi model.
  • MLOps memastikan algoritma kekal sedia pengeluaran dengan menggabungkan prosedur untuk memudahkan pemantauan berterusan dan latihan semula model.

Infrastruktur

Kedua-dua DevOps dan MLOps sangat bergantung pada teknologi awan tetapi mempunyai keperluan operasi yang berbeza.

DevOps bergantung pada infrastruktur seperti:

  • Infrastruktur sebagai Kod (IaC)
  • Bina Pelayan
  • Alat Automasi CI/CD

MLOps bergantung pada infrastruktur berikut:

  • Pembelajaran Mendalam dan mesin rangka kerja pembelajaran
  • Storan awan untuk set data yang besar
  • GPU untuk pembelajaran mendalam dan model ML intensif pengiraan

Aliran DevOps dan MLOps

Berikut ialah beberapa aliran utama yang memacu DevOps dan MLOps.

GitOps

Sebagai evolusi baharu aliran kerja DevOps, GitOps ialah paradigma baharu untuk mengawal dan mengautomasikan infrastruktur. Paradigma untuk Kubernetes membolehkan pembangun dan pasukan operasi menggunakan Git untuk mengurus kluster Kubernetes dan menyampaikan aplikasi kontena. Melaksanakan aliran kerja Git untuk operasi dan pasukan pembangunan membolehkan pembangun memanfaatkan permintaan tarik Git untuk mengurus penggunaan perisian dan infrastruktur.

GitOps menyepadukan alatan pembangunan sedia ada untuk mengurus aplikasi berasaskan awan dan berasaskan kluster melalui CI/CD. Ia secara automatik menggunakan, memantau dan menyelenggara aplikasi asli awan menggunakan repositori Git sebagai satu sumber kebenaran.

GitOps ialah kaedah melaksanakan dan mengekalkan kluster dalam Kubernetes. Penghantaran dan penggunaan berterusan membolehkan pembangun membina, menguji dan menggunakan perisian dengan lebih pantas melalui keluaran tambahan. Penyepaduan berterusan Kubernetes dan saluran paip masa jalan mesti boleh membaca dan menulis fail, mengemas kini repositori bekas dan memuatkan bekas daripada Git. GitOps membantu perusahaan mengurus infrastruktur mereka melalui kawalan versi, pemantauan masa nyata dan makluman perubahan konfigurasi.

Data Sintetik

Data sintetik ialah sebarang maklumat yang dijana secara buatan dan bukannya dikumpulkan daripada peristiwa sebenar. Algoritma menjana data sintetik yang digunakan sebagai pengganti untuk set data ujian operasi dan pengeluaran. Set data sintetik juga boleh digunakan untuk mengesahkan model matematik dan melatih model pembelajaran mesin.

Faedah data sintetik termasuk:

  • Meminimumkan sekatan yang berkaitan dengan penggunaan data sensitif dan terkawal.
  • Sesuaikan data berdasarkan keperluan dan syarat khusus yang tidak tersedia dalam data sebenar.
  • Jana data untuk pasukan DevOps untuk menguji kualiti dan prestasi perisian.

Pembelajaran Mesin Tanpa Kod dan Kepintaran Buatan

Pembelajaran mesin selalunya melibatkan kod komputer untuk menyediakan dan mengendalikan latihan model, tetapi ini tidak selalu berlaku. Pembelajaran mesin tanpa kod ialah pendekatan pengaturcaraan yang menghapuskan keperluan untuk aplikasi ML melalui proses yang memakan masa.

CodelessML menghapuskan keperluan untuk pakar membangunkan perisian sistem. Ia juga lebih mudah dan lebih murah untuk digunakan dan dilaksanakan. Menggunakan input seret dan lepas semasa pembelajaran mesin memudahkan latihan dengan:

  • Menilai hasil.
  • Seret dan lepas data latihan.
  • Buat laporan ramalan.
  • Gunakan pertanyaan teks biasa.

ML tanpa kod menjadikan aplikasi pembelajaran mesin mudah diakses oleh pembangun, tetapi ia bukan pengganti untuk projek termaju dan bernuansa. Pendekatan ini sesuai untuk perniagaan kecil yang kekurangan dana untuk mengekalkan pasukan sains data dalaman.

TinyML

TinyML ialah pendekatan baharu untuk pembelajaran mesin dan pembangunan model kecerdasan buatan. Ia melibatkan menjalankan model pada peranti dengan kekangan perkakasan, seperti mikropengawal yang menggerakkan kereta pintar, peti sejuk dan meter elektrik. Strategi ini berfungsi paling baik untuk kes penggunaan ini kerana ia mempercepatkan algoritma - data tidak perlu dipindahkan ke sana ke mari pada pelayan. Ia amat penting pada pelayan yang besar dan boleh mempercepatkan keseluruhan proses pembangunan ML.

Terdapat banyak faedah untuk menjalankan program TinyML pada peranti kelebihan IoT:

  • Penggunaan tenaga yang lebih rendah.
  • Kurangkan kependaman.
  • Privasi pengguna dijamin.
  • Kurangkan keperluan lebar jalur.

Menggunakan TinyML memberikan privasi yang lebih besar kerana proses pengiraan adalah setempat sepenuhnya. Ia menggunakan kurang kuasa dan lebar jalur, menyebabkan kependaman yang lebih rendah kerana ia tidak memerlukan data untuk dihantar ke lokasi pusat untuk diproses. Industri yang mengambil kesempatan daripada inovasi ini termasuk pertanian dan penjagaan kesihatan. Mereka biasanya menggunakan peranti IoT yang dibenamkan dengan algoritma TinyML untuk menggunakan data yang dikumpul untuk memantau dan meramalkan peristiwa dunia sebenar.

Kesimpulan

Artikel ini memperkenalkan perbezaan utama antara MLOps dan DevOps:

  • Pembangunan - Fokus DevOps Pipelines untuk membangunkan versi baharu produk perisian, manakala MLOps menumpukan pada penyampaian model pembelajaran mesin yang berkesan.
  • Kawalan Versi – DevOps memberi tumpuan terutamanya pada penjejakan binari dan artifak perisian, manakala MLOps menjejaki faktor lain seperti hiperparameter dan prestasi model.
  • Kebolehgunaan Semula – DevOps dan MLOps kedua-duanya berusaha untuk mencipta proses dan saluran paip boleh guna semula, tetapi menggunakan strategi berbeza untuk mencapai kebolehgunaan semula.
  • Pemantauan berterusan - Pemantauan adalah penting dalam DevOps, tetapi lebih penting lagi dalam MLOps kerana hanyutan model dan data boleh menyebabkan prestasi model merosot.

Akhir sekali, kami memperkenalkan beberapa arah aliran utama yang akan mengubah DevOps dan MLOps dalam masa terdekat. Saya harap ini akan membantu anda menemui tempat anda dalam ekosistem pembangunan yang baharu dan menarik.

Atas ialah kandungan terperinci MLOps vs. DevOps: Apakah perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam