paint-brush
Panduan Arkitek untuk Operasi Pembelajaran Mesin dan Infrastruktur Data yang Diperlukanoleh@minio
141 bacaan sejarah baru

Panduan Arkitek untuk Operasi Pembelajaran Mesin dan Infrastruktur Data yang Diperlukan

oleh MinIO10m2024/09/05
Read on Terminal Reader

Terlalu panjang; Untuk membaca

MLOps ialah satu set amalan dan alatan yang bertujuan untuk menangani keperluan khusus jurutera membina model dan memindahkannya ke dalam pengeluaran. Sesetengah organisasi bermula dengan beberapa alatan tempatan yang versi set data selepas setiap percubaan dan model pusat pemeriksaan selepas setiap zaman latihan. Banyak organisasi telah memilih untuk menggunakan alat formal yang mempunyai penjejakan percubaan, ciri kerjasama, keupayaan penyajian model dan juga ciri saluran paip.
featured image - Panduan Arkitek untuk Operasi Pembelajaran Mesin dan Infrastruktur Data yang Diperlukan
MinIO HackerNoon profile picture


MLOps, singkatan untuk Operasi Pembelajaran Mesin, ialah satu set amalan dan alatan yang bertujuan untuk menangani keperluan khusus jurutera membina model dan memindahkannya ke dalam pengeluaran. Sesetengah organisasi bermula dengan beberapa alatan tempatan yang versi set data selepas setiap percubaan dan model pusat pemeriksaan selepas setiap zaman latihan. Sebaliknya, banyak organisasi telah memilih untuk menggunakan alat formal yang mempunyai penjejakan percubaan, ciri kerjasama, keupayaan penyajian model, dan juga ciri saluran paip untuk memproses data dan model latihan.


Untuk membuat pilihan terbaik untuk organisasi anda, anda harus memahami semua keupayaan yang tersedia daripada alat MLOps terkemuka dalam industri. Jika anda pergi ke laluan tempatan, anda harus memahami keupayaan yang anda berputus asa. Pendekatan tempatan adalah baik untuk pasukan kecil yang perlu bergerak dengan cepat dan mungkin tidak mempunyai masa untuk menilai alat baharu. Jika anda memilih untuk melaksanakan alat pihak ketiga, maka anda perlu memilih alat yang paling sepadan dengan aliran kerja kejuruteraan organisasi anda. Ini mungkin rumit kerana alat teratas hari ini berbeza dengan ketara dalam pendekatan dan keupayaannya. Tidak kira pilihan anda, anda memerlukan infrastruktur data yang boleh mengendalikan jumlah data yang besar dan menyediakan set latihan dengan cara yang berprestasi. Model pusat pemeriksaan dan menetapkan versi set data yang besar memerlukan kapasiti berskala, dan jika anda menggunakan GPU yang mahal, anda memerlukan infrastruktur berprestasi untuk memanfaatkan sepenuhnya pelaburan anda.


Dalam siaran ini, saya akan membentangkan senarai ciri yang harus dipertimbangkan oleh arkitek tanpa mengira pendekatan atau alatan yang mereka pilih. Senarai ciri ini datang daripada penyelidikan dan percubaan saya dengan tiga vendor MLOps teratas hari ini - KubeFlow , MLflow , dan MLRun . Bagi organisasi yang memilih untuk memulakan dengan penyelesaian tempatan, saya akan membentangkan infrastruktur data yang boleh berskala dan berprestasi. (Amaran spoiler - semua yang anda perlukan di sini ialah MiniIO.) Apabila ia berkaitan dengan alatan pihak ketiga, saya telah melihat corak dengan vendor yang telah saya selidiki. Bagi organisasi yang memilih untuk menggunakan alatan MLOps, saya akan membentangkan corak ini dan mengikatnya kembali kepada kami Senibina Rujukan Datalake Moden .


Sebelum menyelami ciri dan keperluan infrastruktur, mari kita lebih memahami kepentingan MLOps. Untuk melakukan ini, adalah berguna untuk membandingkan penciptaan model dengan pembangunan aplikasi konvensional.

Perbezaan antara Model dan Aplikasi

Pembangunan aplikasi konvensional, seperti melaksanakan perkhidmatan mikro baharu yang menambahkan ciri baharu pada aplikasi, bermula dengan menyemak spesifikasi. Struktur data baharu atau perubahan pada struktur data sedia ada direka bentuk terlebih dahulu. Reka bentuk data tidak boleh berubah setelah pengekodan bermula. Perkhidmatan ini kemudiannya dilaksanakan, dan pengekodan adalah aktiviti utama dalam proses ini. Ujian unit dan ujian hujung ke hujung juga dikodkan. Ujian ini membuktikan bahawa kod itu tidak rosak dan melaksanakan spesifikasi dengan betul. Ia boleh dijalankan secara automatik oleh saluran paip CI/CD sebelum menggunakan keseluruhan aplikasi.


Mencipta model dan melatihnya adalah berbeza. Langkah pertama ialah memahami data mentah dan ramalan yang diperlukan. Jurutera ML perlu menulis beberapa kod untuk melaksanakan rangkaian saraf mereka atau menyediakan algoritma, tetapi pengekodan bukanlah aktiviti yang dominan. Aktiviti utama ialah eksperimen berulang. Semasa percubaan, reka bentuk data, reka bentuk model dan parameter yang digunakan semuanya akan berubah. Selepas setiap percubaan, metrik dibuat yang menunjukkan prestasi model semasa ia dilatih. Metrik juga dijana untuk menentukan prestasi model terhadap set pengesahan dan set ujian. Metrik ini digunakan untuk membuktikan kualiti model. Anda harus menyimpan model selepas setiap percubaan, dan setiap kali anda menukar set data anda, anda harus menyimpannya juga. Setelah model sedia untuk dimasukkan ke dalam aplikasi, ia mesti dibungkus dan digunakan.


Untuk meringkaskan, MLOps adalah untuk pembelajaran mesin apa itu DevOps kepada pembangunan perisian tradisional. Kedua-duanya adalah satu set amalan dan prinsip yang bertujuan untuk meningkatkan kerjasama antara pasukan kejuruteraan (Dev atau ML) dan pasukan operasi IT (Ops). Matlamatnya adalah untuk menyelaraskan kitaran hayat pembangunan, daripada perancangan dan pembangunan kepada penggunaan dan operasi, menggunakan automasi. Salah satu faedah utama pendekatan ini ialah penambahbaikan berterusan.


Mari kita mendalami sedikit tentang MLOps dan lihat ciri khusus untuk dipertimbangkan.

10 Ciri MLOps untuk Dipertimbangkan

Penjejakan dan kerjasama percubaan ialah ciri yang paling dikaitkan dengan MLOps, tetapi alat MLOps yang lebih moden hari ini boleh melakukan lebih banyak lagi. Contohnya, sesetengah boleh menyediakan persekitaran masa jalan untuk percubaan anda. Orang lain boleh membungkus dan menggunakan model sebaik sahaja mereka bersedia untuk disepadukan ke dalam aplikasi.


Di bawah ialah superset ciri yang terdapat dalam alat MLOps hari ini. Senarai ini juga termasuk perkara lain yang perlu dipertimbangkan, seperti sokongan dan penyepaduan data.


  1. Sokongan daripada pemain utama - Teknik dan ciri MLOps sentiasa berkembang. Anda mahukan alat yang disokong oleh pemain utama (Google, Databricks, atau McKinsey dan Company back Kubeflow, MLflow dan MLRun, masing-masing), memastikan pembangunan dan peningkatan yang berterusan. Sebagai contoh konkrit, banyak alat popular hari ini dicipta sebelum model bahasa besar (LLM); akibatnya, ramai yang menambah ciri baharu untuk menyokong AI generatif.


  2. Integrasi Datalake Moden - Eksperimen menjana banyak data berstruktur dan tidak berstruktur. Alat MLOps yang disepadukan dengan sempurna dengan Datalake Moden (atau Data Lakehouse) akan menyimpan data tidak berstruktur dalam Data Lake (ini adalah MiniIO secara langsung), dan data berstruktur akan masuk ke Gudang Data. Malangnya, banyak alat MLOps telah wujud sebelum Format Jadual Terbuka yang menimbulkan Datalake Moden, jadi kebanyakannya akan mempunyai penyelesaian berasingan untuk data berstruktur mereka. Ini biasanya pangkalan data hubungan sumber terbuka yang perlu disokong oleh infrastruktur data anda. Berkenaan dengan data tidak berstruktur (set data dan pusat pemeriksaan model), semua alatan utama dalam industri menggunakan MiniIO sejak kami wujud sejak 2014.


  3. Penjejakan Eksperimen - Mungkin ciri paling penting bagi alat MLOps ialah menjejak set data, model, hiperparameter dan metrik untuk setiap percubaan. Penjejakan percubaan juga harus memudahkan kebolehulangan - jika anda mendapat hasil yang diingini lima percubaan yang lalu dan percubaan selepas itu merendahkan prestasi model anda, maka anda sepatutnya boleh menggunakan alat MLOps anda untuk kembali dan mendapatkan hiperparameter tepat dan ciri set data yang digunakan yang menghasilkan hasil yang diingini.


  4. Memudahkan Kerjasama —Satu komponen penting alat MLOps ialah portal atau UI yang digunakan untuk membentangkan hasil setiap percubaan. Portal ini harus boleh diakses oleh semua ahli pasukan supaya mereka boleh melihat percubaan satu sama lain dan membuat cadangan. Sesetengah alat MLOps mempunyai ciri grafik mewah yang membolehkan graf tersuai dibuat membandingkan hasil daripada percubaan.


  5. Pembungkusan Model - Keupayaan ini membungkus model supaya ia boleh diakses daripada persekitaran pengaturcaraan lain - biasanya sebagai perkhidmatan mikro. Ini adalah ciri yang bagus untuk dimiliki. Model terlatih tidak lebih daripada objek bersiri. Banyak organisasi mungkin sudah mengetahui perkara ini.


  6. Penyajian Model - Setelah model dibungkus sebagai perkhidmatan, ciri ini akan membenarkan penggunaan automatik perkhidmatan yang mengandungi model ke persekitaran formal organisasi. Anda tidak memerlukan ciri ini jika anda mempunyai a saluran paip CI/CD matang mampu mengurus semua aset perisian merentas persekitaran.


  7. Pendaftaran Model - Pendaftaran model menyediakan paparan semua model yang sedang diuruskan oleh alat MLOps anda. Lagipun, penciptaan model gred pengeluaran adalah matlamat semua MLOps. Pandangan ini harus menunjukkan model yang telah digunakan untuk pengeluaran serta model yang tidak pernah membuatnya menjadi pengeluaran. Model yang menjadikannya sebagai pengeluaran hendaklah ditandakan dengan cara yang anda boleh menentukan versi aplikasi atau perkhidmatan yang digunakan untuk menggunakannya.


  8. Fungsi Tanpa Pelayan - Sesetengah alatan menyediakan ciri yang membenarkan kod diberi anotasi supaya fungsi atau modul boleh digunakan sebagai perkhidmatan kontena untuk menjalankan eksperimen dalam kelompok. Jika anda memutuskan untuk menggunakan ciri ini, maka pastikan semua jurutera anda selesa dengan teknik ini. Ia boleh menjadi sedikit keluk pembelajaran - jurutera dengan latar belakang DevOps akan mempunyai masa yang lebih mudah, manakala jurutera yang sebelum ini mempelajari pembelajaran mesin dengan sedikit pengalaman pengekodan akan bergelut.


  9. Keupayaan Saluran Paip Data - Sesetengah alat MLOps bertujuan untuk menyediakan keupayaan hujung ke hujung yang lengkap dan mempunyai ciri khusus untuk membina saluran paip data untuk mendapatkan semula data mentah, memprosesnya dan menyimpan data bersih. Talian paip biasanya dinyatakan sebagai Graf Akiklik Terarah (DAG) - beberapa alatan juga mempunyai keupayaan penjadualan. Apabila digunakan bersama-sama dengan fungsi tanpa pelayan, ini boleh menjadi penyelesaian kod rendah yang berkuasa untuk membangunkan dan menjalankan saluran paip data. Anda tidak akan memerlukan ini jika anda sudah menggunakan saluran paip atau alat aliran kerja.


  10. Keupayaan Saluran Paip Latihan - Ini serupa dengan saluran paip data, tetapi saluran paip latihan muncul di tempat saluran paip data berhenti. Saluran paip latihan membolehkan anda memanggil kod akses data anda, menghantar data ke logik latihan anda dan menganotasi artifak dan model data supaya ia disimpan secara automatik. Sama seperti saluran paip data, ciri ini boleh digunakan bersama dengan fungsi tanpa pelayan untuk mencipta DAG dan menjadualkan percubaan. Jika anda sudah menggunakan alat latihan yang diedarkan, maka anda mungkin tidak memerlukan ciri ini. Adalah mungkin untuk memulakan latihan yang diedarkan dari saluran paip latihan, tetapi ini mungkin terlalu rumit.

MLOps dan Storan

Selepas melihat perbezaan antara pembangunan aplikasi tradisional dan pembelajaran mesin, perlu jelas bahawa untuk berjaya dengan pembelajaran mesin, anda memerlukan beberapa bentuk MLOp dan infrastruktur data yang mampu berprestasi dan kapasiti boleh skala.


Penyelesaian tempatan adalah baik jika anda perlu memulakan projek dengan cepat dan tidak mempunyai masa untuk menilai alat MLOps rasmi. Jika anda mengambil pendekatan ini, berita baiknya ialah semua yang anda perlukan untuk infrastruktur data anda ialah MiniIO. MiniIO adalah serasi S3 jadi jika anda bermula dengan alat lain dan menggunakan antara muka S3 untuk mengakses set data anda, maka kod anda hanya akan berfungsi. Jika anda bermula maka anda boleh menggunakan kami SDK Python , yang juga serasi dengan S3. Pertimbangkan untuk menggunakan versi perusahaan MiniIO, yang mempunyai keupayaan caching yang boleh mempercepatkan akses data untuk set latihan. Semak keluar Sebab Sebenar Mengapa AI Dibina pada Penyimpanan Objek di mana kita menyelami bagaimana dan mengapa MiniIO digunakan untuk menyokong MLOps. Organisasi yang memilih penyelesaian tempatan masih harus membiasakan diri dengan sepuluh ciri yang diterangkan di atas. Anda akhirnya boleh mengatasi penyelesaian tempatan anda, dan cara yang paling berkesan ke hadapan adalah dengan menggunakan alat MLOps.


Mengguna pakai alat MLOps pihak ketiga ialah cara terbaik untuk digunakan untuk organisasi besar dengan beberapa pasukan AI/ML mencipta model pelbagai jenis. Alat MLOps dengan ciri terbanyak tidak semestinya alat terbaik. Lihat ciri di atas dan perhatikan ciri yang anda perlukan, ciri yang anda miliki pada masa ini sebagai sebahagian daripada saluran paip CI/CD sedia ada anda, dan akhirnya, ciri yang anda tidak mahu, ini akan membantu anda mencari yang paling sesuai. Alat MLOps mempunyai selera makan yang rakus untuk penyimpanan objek petabyte yang besar. Kebanyakan mereka secara automatik versi set data anda dengan setiap percubaan dan secara automatik memeriksa model anda selepas setiap zaman. Di sini sekali lagi, MiniIO boleh membantu kerana kapasiti tidak menjadi masalah. Sama seperti penyelesaian tempatan, pertimbangkan untuk menggunakan edisi perusahaan MiniIO. Ciri caching berfungsi secara automatik setelah dikonfigurasikan untuk baldi jadi walaupun alat MLOps tidak meminta penggunaan cache - MiniIO akan secara automatik cache objek yang kerap diakses seperti set latihan.

Senarai Hajat untuk Masa Depan

Banyak alat MLOps di pasaran hari ini menggunakan pangkalan data hubungan sumber terbuka untuk menyimpan data berstruktur yang dijana semasa latihan model yang biasanya metrik dan hiperparameter. Malangnya, ini akan menjadi pangkalan data baharu yang perlu disokong oleh organisasi anda. Selain itu, jika organisasi bergerak ke arah Datalake Moden (atau Data Lakehouse) maka pangkalan data hubungan tambahan tidak diperlukan. Perkara yang bagus untuk dipertimbangkan oleh vendor MLOps utama ialah menggunakan gudang data berasaskan OTF untuk menyimpan data berstruktur mereka.


Semua vendor MLOps utama menggunakan MiniIO di bawah hud untuk menyimpan data tidak berstruktur. Malangnya, ini biasanya digunakan sebagai contoh kecil berasingan yang dipasang sebagai sebahagian daripada pemasangan keseluruhan alat MLOps yang lebih besar. Selain itu, ia biasanya merupakan versi lama MiniIO, yang bertentangan dengan etos kami untuk sentiasa menjalankannya terbaru dan terhebat . Untuk pelanggan MiniIO sedia ada, adalah baik untuk membenarkan alat MLOps menggunakan baldi dalam pemasangan sedia ada. Bagi pelanggan yang baru menggunakan MiniIO, alat MLOps harus menyokong versi terkini MiniIO. Setelah dipasang, MiniIO juga boleh digunakan untuk tujuan dalam organisasi anda di luar sumber MLOps, iaitu di mana-mana sahaja kekuatan storan objek diperlukan.

Kesimpulan

Dalam siaran ini, saya membentangkan panduan arkitek kepada MLOps dengan menyiasat kedua-dua ciri MLOps dan infrastruktur data yang diperlukan untuk menyokong ciri ini. Pada tahap yang tinggi, organisasi boleh membina penyelesaian tempatan atau mereka boleh menggunakan penyelesaian pihak ketiga. Tidak kira hala tuju yang dipilih, adalah penting untuk memahami semua ciri yang terdapat dalam industri hari ini. Penyelesaian tempatan membolehkan anda memulakan projek dengan cepat, tetapi anda mungkin akan mengatasi penyelesaian anda tidak lama lagi. Ia juga penting untuk memahami keperluan khusus anda dan cara MLOps akan berfungsi dengan saluran paip CI/CD sedia ada. Banyak alat MLOps kaya dengan ciri dan mengandungi ciri yang mungkin anda tidak pernah gunakan atau yang anda sudah miliki sebagai sebahagian daripada saluran paip CI/CD anda.


Untuk berjaya melaksanakan MLOps, anda memerlukan infrastruktur data yang boleh menyokongnya. Dalam siaran ini, saya membentangkan penyelesaian mudah untuk mereka yang memilih penyelesaian tempatan dan menerangkan perkara yang diharapkan daripada alat pihak ketiga dan sumber yang mereka perlukan.


Saya menyimpulkan dengan senarai keinginan untuk pembangunan selanjutnya alat MLOps yang akan membantu mereka untuk menyepadukan dengan lebih baik dengan Datalake Moden.


Untuk mendapatkan maklumat lanjut tentang menggunakan Datalake Moden untuk menyokong beban kerja AI/ML, lihat AI/ML Dalam Datalake Moden .


Jika anda mempunyai sebarang pertanyaan, pastikan anda menghubungi kami Kendur !