MLOps: DevOps dalam dunia Pembelajaran Mesin

Pada 2018, konsep MLOps muncul dalam kalangan profesional dan pada persidangan tematik yang didedikasikan untuk AI, yang dengan cepat menguasai industri dan kini berkembang sebagai hala tuju bebas. Pada masa hadapan, MLOps mungkin menjadi salah satu kawasan paling popular dalam IT. Apakah itu dan dengan apa ia dimakan? Mari ketahui di bawah.

MLOps: DevOps dalam dunia Pembelajaran Mesin

Apa itu MLOps

MLOps (menggabungkan teknologi dan proses pembelajaran mesin dan pendekatan untuk melaksanakan model yang dibangunkan ke dalam proses perniagaan) ialah cara kerjasama baharu antara wakil perniagaan, saintis, ahli matematik, pakar pembelajaran mesin dan jurutera IT apabila mencipta sistem kecerdasan buatan.

Dalam erti kata lain, ia adalah satu cara untuk menukar kaedah dan teknologi pembelajaran mesin kepada alat yang berguna untuk menyelesaikan masalah perniagaan. 

Adalah perlu untuk memahami bahawa rantaian produktiviti bermula jauh sebelum pembangunan model. Langkah pertamanya ialah untuk menentukan masalah perniagaan, hipotesis tentang nilai yang boleh diekstrak daripada data, dan idea perniagaan untuk menerapkannya. 

Konsep MLOps timbul sebagai analogi kepada konsep DevOps berhubung dengan model dan teknologi pembelajaran mesin. DevOps ialah pendekatan kepada pembangunan perisian yang membolehkan anda meningkatkan kelajuan pelaksanaan perubahan individu sambil mengekalkan fleksibiliti dan kebolehpercayaan menggunakan beberapa pendekatan, termasuk pembangunan berterusan, pembahagian fungsi kepada beberapa perkhidmatan mikro bebas, ujian automatik dan penggunaan individu. perubahan, pemantauan kesihatan global, sistem tindak balas pantas untuk kegagalan yang dikesan, dsb. 

DevOps telah menentukan kitaran hayat perisian, dan komuniti telah menghasilkan idea untuk menggunakan metodologi yang sama pada data besar. DataOps ialah percubaan untuk menyesuaikan dan mengembangkan metodologi dengan mengambil kira ciri-ciri menyimpan, menghantar dan memproses sejumlah besar data dalam platform yang pelbagai dan saling beroperasi.
  
Dengan kemunculan model pembelajaran mesin jisim kritikal tertentu yang dilaksanakan dalam proses perniagaan perusahaan, persamaan yang kukuh telah diperhatikan antara kitaran hayat model pembelajaran mesin matematik dan kitaran hayat perisian. Satu-satunya perbezaan ialah algoritma model dicipta menggunakan alat dan kaedah pembelajaran mesin. Oleh itu, idea secara semula jadi timbul untuk mengaplikasi dan menyesuaikan pendekatan yang telah diketahui kepada pembangunan perisian untuk model pembelajaran mesin. Oleh itu, peringkat utama berikut boleh dibezakan dalam kitaran hayat model pembelajaran mesin:

  • mentakrifkan idea perniagaan;
  • latihan model;
  • ujian dan pelaksanaan model ke dalam proses perniagaan;
  • operasi model.

Apabila semasa operasi terdapat keperluan untuk menukar atau melatih semula model pada data baharu, kitaran bermula semula - model diperhalusi, diuji dan versi baharu digunakan.

Berundur. Mengapa melatih semula dan tidak melatih semula? Istilah "latihan semula model" mempunyai makna berganda: di kalangan pakar ia bermaksud kecacatan model, apabila model meramalkan dengan baik, sebenarnya mengulangi parameter yang diramalkan pada set latihan, tetapi menunjukkan prestasi yang lebih teruk pada sampel data luaran. Sememangnya, model sedemikian adalah kecacatan, kerana kecacatan ini tidak membenarkan penggunaannya.

Dalam kitaran hayat ini, nampaknya logik untuk menggunakan alat DevOps: ujian automatik, penggunaan dan pemantauan, mereka bentuk pengiraan model dalam bentuk perkhidmatan mikro yang berasingan. Tetapi terdapat juga beberapa ciri yang menghalang penggunaan langsung alat ini tanpa pengikatan ML tambahan.

MLOps: DevOps dalam dunia Pembelajaran Mesin

Cara membuat model berfungsi dan menguntungkan

Sebagai contoh di mana kami akan menunjukkan penggunaan pendekatan MLOps, kami akan mengambil tugas klasik untuk robotisasi sokongan sembang untuk produk perbankan (atau mana-mana produk lain). Biasanya, proses perniagaan sokongan sembang kelihatan seperti ini: pelanggan memasukkan mesej dengan soalan dalam sembang dan menerima respons daripada pakar dalam pepohon dialog yang telah ditetapkan. Tugas mengautomasikan sembang sedemikian biasanya diselesaikan menggunakan set peraturan yang ditakrifkan dengan pakar, yang sangat intensif buruh untuk dibangunkan dan diselenggara. Kecekapan automasi sedemikian, bergantung pada tahap kerumitan tugas, boleh menjadi 20-30%. Sememangnya, timbul idea bahawa lebih menguntungkan untuk melaksanakan modul kecerdasan buatan - model yang dibangunkan menggunakan pembelajaran mesin, yang:

  • mampu memproses bilangan permintaan yang lebih besar tanpa penyertaan pengendali (bergantung pada topik, dalam beberapa kes kecekapan boleh mencapai 70-80%);
  • menyesuaikan diri dengan lebih baik kepada perkataan bukan standard dalam dialog - dapat menentukan niat, keinginan sebenar pengguna berdasarkan permintaan yang tidak dirumuskan dengan jelas;
  • tahu bagaimana untuk menentukan bila jawapan model adalah mencukupi, dan apabila terdapat keraguan tentang "kesedaran" jawapan ini dan anda perlu bertanya soalan penjelasan tambahan atau bertukar kepada operator;
  • boleh dilatih tambahan secara automatik (daripada sekumpulan pembangun yang sentiasa menyesuaikan dan membetulkan skrip respons, model ini juga dilatih oleh pakar Sains Data menggunakan perpustakaan pembelajaran mesin yang sesuai). 

MLOps: DevOps dalam dunia Pembelajaran Mesin

Bagaimana untuk membuat model canggih itu berfungsi? 

Seperti menyelesaikan masalah lain, sebelum membangunkan modul sedemikian, adalah perlu untuk mentakrifkan proses perniagaan dan menerangkan secara rasmi tugas khusus yang akan kami selesaikan menggunakan kaedah pembelajaran mesin. Pada ketika ini, proses pengoperasian, yang ditetapkan oleh akronim Ops, bermula. 

Langkah seterusnya ialah Saintis Data, dengan kerjasama Jurutera Data, menyemak ketersediaan dan kecukupan data dan hipotesis perniagaan tentang daya maju idea perniagaan, membangunkan model prototaip dan menguji keberkesanan sebenar. Hanya selepas pengesahan oleh perniagaan bolehlah peralihan daripada membangunkan model kepada menyepadukannya ke dalam sistem yang melaksanakan proses perniagaan tertentu bermula. Perancangan pelaksanaan hujung ke hujung, pemahaman yang mendalam pada setiap peringkat tentang cara model itu akan digunakan dan kesan ekonomi yang akan dibawanya, merupakan perkara asas dalam proses memperkenalkan pendekatan MLOps ke dalam landskap teknologi syarikat.

Dengan perkembangan teknologi AI, bilangan dan pelbagai masalah yang boleh diselesaikan menggunakan pembelajaran mesin semakin meningkat dengan pesat. Setiap proses perniagaan sedemikian adalah penjimatan untuk syarikat kerana automasi buruh pekerja massa (pusat panggilan, menyemak dan menyusun dokumen, dll.), Ia adalah pengembangan pangkalan pelanggan dengan menambah fungsi baru yang menarik dan mudah, ia menjimatkan wang kerana penggunaan dan pengagihan semula sumber secara optimum dan banyak lagi. Akhirnya, sebarang proses tertumpu kepada mencipta nilai dan, sebagai hasilnya, mesti membawa kesan ekonomi tertentu. Di sini adalah sangat penting untuk merumuskan idea perniagaan dengan jelas dan mengira keuntungan yang dijangkakan daripada melaksanakan model dalam struktur penciptaan nilai keseluruhan syarikat. Terdapat situasi apabila melaksanakan model tidak membenarkan dirinya sendiri, dan masa yang dihabiskan oleh pakar pembelajaran mesin jauh lebih mahal daripada tempat kerja pengendali yang melaksanakan tugas ini. Itulah sebabnya perlu cuba mengenal pasti kes sedemikian pada peringkat awal mencipta sistem AI.

Akibatnya, model mula menjana keuntungan hanya apabila masalah perniagaan telah dirumus dengan betul dalam proses MLOps, keutamaan telah ditetapkan, dan proses memperkenalkan model ke dalam sistem telah dirumuskan pada peringkat awal pembangunan.

Proses baru - cabaran baru

Jawapan komprehensif kepada soalan perniagaan asas tentang bagaimana model ML boleh digunakan untuk menyelesaikan masalah, isu umum kepercayaan terhadap AI ialah salah satu cabaran utama dalam proses membangunkan dan melaksanakan pendekatan MLOps. Pada mulanya, perniagaan ragu-ragu tentang pengenalan pembelajaran mesin ke dalam proses - sukar untuk bergantung pada model di tempat di mana sebelum ini, sebagai peraturan, orang bekerja. Untuk perniagaan, program kelihatan seperti "kotak hitam", yang perkaitannya masih perlu dibuktikan. Di samping itu, dalam perbankan, dalam perniagaan pengendali telekomunikasi dan lain-lain, terdapat keperluan ketat pengawal selia kerajaan. Semua sistem dan algoritma yang dilaksanakan dalam proses perbankan adalah tertakluk kepada audit. Untuk menyelesaikan masalah ini, untuk membuktikan kepada perniagaan dan pengawal selia kesahihan dan ketepatan tindak balas kecerdasan buatan, alat pemantauan sedang diperkenalkan bersama-sama model. Di samping itu, terdapat prosedur pengesahan bebas, mandatori untuk model kawal selia, yang memenuhi keperluan Bank Negara. Kumpulan pakar bebas mengaudit keputusan yang diperoleh oleh model dengan mengambil kira data input.

Cabaran kedua ialah menilai dan mengambil kira risiko model apabila melaksanakan model pembelajaran mesin. Walaupun seseorang itu tidak dapat menjawab soalan dengan seratus peratus pasti sama ada pakaian yang sama itu putih atau biru, maka kecerdasan buatan juga berhak melakukan kesilapan. Ia juga patut dipertimbangkan bahawa data mungkin berubah dari semasa ke semasa, dan model perlu dilatih semula untuk menghasilkan hasil yang cukup tepat. Untuk memastikan bahawa proses perniagaan tidak terjejas, adalah perlu untuk mengurus risiko model dan memantau prestasi model, melatih semula secara berkala pada data baharu.

MLOps: DevOps dalam dunia Pembelajaran Mesin

Tetapi selepas peringkat pertama ketidakpercayaan, kesan sebaliknya mula muncul. Lebih banyak model berjaya dilaksanakan ke dalam proses, lebih banyak selera perniagaan untuk penggunaan kecerdasan buatan berkembang - masalah baharu dan baharu ditemui yang boleh diselesaikan menggunakan kaedah pembelajaran mesin. Setiap tugas mencetuskan keseluruhan proses yang memerlukan kecekapan tertentu:

  • jurutera data menyediakan dan memproses data;
  • saintis data menggunakan alat pembelajaran mesin dan membangunkan model;
  • IT melaksanakan model ke dalam sistem;
  • Jurutera ML menentukan cara mengintegrasikan model ini dengan betul ke dalam proses, yang alat IT untuk digunakan, bergantung pada keperluan untuk mod aplikasi model, dengan mengambil kira aliran permintaan, masa tindak balas, dsb. 
  • Seorang arkitek ML mereka bentuk bagaimana produk perisian boleh dilaksanakan secara fizikal dalam sistem perindustrian.

Keseluruhan kitaran memerlukan sejumlah besar pakar yang berkelayakan tinggi. Pada titik tertentu dalam pembangunan dan tahap penembusan model ML ke dalam proses perniagaan, ternyata menskalakan bilangan pakar secara linear mengikut perkadaran dengan peningkatan bilangan tugas menjadi mahal dan tidak berkesan. Oleh itu, timbul persoalan untuk mengautomasikan proses MLOps - mentakrifkan beberapa kelas standard masalah pembelajaran mesin, membangunkan saluran paip pemprosesan data standard dan latihan tambahan model. Dalam gambaran yang ideal, menyelesaikan masalah sedemikian memerlukan profesional yang sama mahir dalam kecekapan di persimpangan Data Besar, Sains Data, DevOps dan IT. Oleh itu, masalah terbesar dalam industri Sains Data dan cabaran terbesar dalam mengatur proses MLOps ialah kekurangan kecekapan sedemikian dalam pasaran latihan sedia ada. Pakar yang memenuhi keperluan ini pada masa ini jarang berlaku di pasaran buruh dan bernilai berat mereka dalam emas.

Mengenai isu kompetensi

Secara teorinya, semua tugasan MLOps boleh diselesaikan menggunakan alat DevOps klasik dan tanpa menggunakan sambungan khusus model peranan. Kemudian, seperti yang kita nyatakan di atas, seorang saintis data mestilah bukan sahaja seorang ahli matematik dan penganalisis data, tetapi juga seorang guru keseluruhan saluran paip - dia bertanggungjawab untuk membangunkan seni bina, model pengaturcaraan dalam beberapa bahasa bergantung pada seni bina, menyediakan data mart dan penggunaan aplikasi itu sendiri. Walau bagaimanapun, mencipta rangka kerja teknologi yang dilaksanakan dalam proses MLOps hujung ke hujung memerlukan sehingga 80% daripada kos buruh, yang bermaksud bahawa seorang ahli matematik yang berkelayakan, yang merupakan seorang Saintis Data yang berkualiti, akan menumpukan hanya 20% masanya untuk kepakarannya. . Oleh itu, menggariskan peranan pakar yang terlibat dalam proses melaksanakan model pembelajaran mesin menjadi penting. 

Seberapa terperinci peranan harus digariskan bergantung pada saiz perusahaan. Ini adalah satu perkara apabila permulaan mempunyai seorang pakar, seorang pekerja keras dalam rizab tenaga, yang merupakan jurutera, arkitek dan DevOps sendiri. Perkara yang sama sekali berbeza apabila, dalam perusahaan besar, semua proses pembangunan model tertumpu kepada beberapa pakar Sains Data peringkat tinggi, manakala seorang pengaturcara atau pakar pangkalan data - kecekapan yang lebih biasa dan lebih murah dalam pasaran buruh - boleh mengambil pada kebanyakan kerja.tugas rutin.

Oleh itu, kelajuan dan kualiti model yang dibangunkan, produktiviti pasukan dan iklim mikro di dalamnya secara langsung bergantung pada di mana sempadan terletak pada pemilihan pakar untuk menyokong proses MLOps dan bagaimana proses pengoperasian model yang dibangunkan itu diatur. .

Apa yang telah dilakukan oleh pasukan kami

Baru-baru ini kami mula membina struktur kecekapan dan proses MLOps. Tetapi projek kami mengenai pengurusan kitaran hayat model dan menggunakan model sebagai perkhidmatan sudah berada dalam peringkat ujian MVP.

Kami juga menentukan struktur kecekapan optimum untuk perusahaan besar dan struktur organisasi interaksi antara semua peserta dalam proses tersebut. Pasukan tangkas telah dianjurkan untuk menyelesaikan masalah untuk keseluruhan rangkaian pelanggan perniagaan, dan proses interaksi dengan pasukan projek untuk mencipta platform dan infrastruktur, yang merupakan asas bangunan MLOps yang sedang dalam pembinaan, telah diwujudkan.

Soalan untuk masa hadapan

MLOps ialah bidang yang sedang berkembang yang mengalami kekurangan kecekapan dan akan mendapat momentum pada masa hadapan. Sementara itu, adalah lebih baik untuk membina pembangunan dan amalan DevOps. Matlamat utama MLOps adalah untuk menggunakan model ML dengan lebih berkesan untuk menyelesaikan masalah perniagaan. Tetapi ini menimbulkan banyak persoalan:

  • Bagaimana untuk mengurangkan masa untuk melancarkan model ke dalam pengeluaran?
  • Bagaimana untuk mengurangkan geseran birokrasi antara pasukan yang berbeza kecekapan dan meningkatkan tumpuan kepada kerjasama?
  • Bagaimana untuk menjejak model, mengurus versi dan mengatur pemantauan yang berkesan?
  • Bagaimana untuk mencipta kitaran hayat yang benar-benar bulat untuk model ML moden?
  • Bagaimana untuk menyeragamkan proses pembelajaran mesin?

Jawapan kepada soalan ini sebahagian besarnya akan menentukan seberapa cepat MLOp akan mencapai potensi penuhnya.

Sumber: www.habr.com

Tambah komen