MLOps: DevOps di dunia Machine Learning

Pada tahun 2018, di kalangan profesional dan pada konferensi tematik yang didedikasikan untuk AI, konsep MLOps muncul, yang dengan cepat mendapatkan pijakan di industri dan sekarang berkembang sebagai arah yang mandiri. Di masa mendatang, MLOps dapat menjadi salah satu area yang paling diminati di bidang TI. Apa itu dan dimakan dengan apa, kami mengerti di bawah potongan.

MLOps: DevOps di dunia Machine Learning

Apa itu MLOps

MLOps (penggabungan teknologi dan proses pembelajaran mesin dan pendekatan untuk implementasi model yang dikembangkan dalam proses bisnis) adalah cara baru kerja sama antara perwakilan bisnis, ilmuwan, ahli matematika, spesialis pembelajaran mesin, dan insinyur TI dalam pembuatan sistem kecerdasan buatan.

Dengan kata lain, ini adalah cara untuk mengubah metode dan teknologi pembelajaran mesin menjadi alat yang berguna untuk memecahkan masalah bisnis. 

Harus dipahami bahwa rantai produktivitas dimulai jauh sebelum pengembangan model. Langkah pertamanya adalah menentukan tujuan bisnis, hipotesis tentang nilai yang dapat diekstraksi dari data, dan ide bisnis untuk menerapkannya. 

Konsep MLOps muncul sebagai analogi dengan konsep DevOps dalam kaitannya dengan model dan teknologi pembelajaran mesin. DevOps adalah pendekatan pengembangan perangkat lunak yang memungkinkan Anda untuk meningkatkan kecepatan perubahan individu dengan tetap mempertahankan fleksibilitas dan keandalan menggunakan sejumlah pendekatan, termasuk pengembangan berkelanjutan, pemisahan fungsi menjadi sejumlah layanan mikro independen, pengujian otomatis dan penyebaran perubahan individu, global pemantauan kesehatan, sistem respons cepat untuk kegagalan yang teridentifikasi, dll. 

DevOps mendefinisikan siklus hidup perangkat lunak, dan muncul ide di komunitas perangkat lunak untuk menerapkan teknik yang sama pada data besar. DataOps adalah upaya untuk mengadaptasi dan memperluas metodologi, dengan mempertimbangkan kekhasan penyimpanan, transmisi, dan pemrosesan data dalam jumlah besar di berbagai platform yang saling berinteraksi.
  
Dengan munculnya massa kritis tertentu dari model pembelajaran mesin yang tertanam dalam proses bisnis perusahaan, ada kesamaan yang kuat antara siklus hidup model matematika pembelajaran mesin dan siklus hidup perangkat lunak. Satu-satunya perbedaan adalah bahwa algoritme model dibuat menggunakan alat dan metode pembelajaran mesin. Oleh karena itu, muncul ide untuk menerapkan dan mengadaptasi pendekatan yang sudah dikenal untuk pengembangan perangkat lunak untuk model pembelajaran mesin. Dengan demikian, tahapan utama berikut dapat dibedakan dalam siklus hidup model pembelajaran mesin:

  • mendefinisikan ide bisnis;
  • pelatihan model;
  • pengujian dan implementasi model dalam proses bisnis;
  • operasi model.

Ketika selama operasi menjadi perlu untuk mengubah atau melatih ulang model pada data baru, siklus dimulai lagi - model diselesaikan, diuji, dan versi baru diterapkan.

Mundur. Mengapa mendidik ulang dan tidak mendidik ulang? Istilah "pelatihan ulang model" memiliki interpretasi ganda: di antara spesialis, ini berarti cacat pada model, ketika model memprediksi dengan baik, sebenarnya mengulangi parameter yang diprediksi pada set pelatihan, tetapi bekerja jauh lebih buruk pada set data eksternal. Secara alami, model seperti itu merupakan cacat, karena cacat ini tidak memungkinkan penerapannya.

Dalam siklus hidup ini, tampaknya logis untuk menggunakan alat DevOps: pengujian otomatis, penerapan dan pemantauan, pendaftaran kalkulasi model sebagai layanan mikro terpisah. Namun ada sejumlah fitur yang mencegah penggunaan langsung alat ini tanpa pengikatan ML tambahan.

MLOps: DevOps di dunia Machine Learning

Cara membuat model bekerja dan menghasilkan keuntungan

Sebagai contoh, di mana kami akan mendemonstrasikan penerapan pendekatan MLOps, kami akan mengambil tugas klasik robotisasi obrolan dukungan untuk produk perbankan (atau lainnya). Proses bisnis dukungan obrolan tipikal adalah sebagai berikut: pelanggan memasukkan pertanyaan dalam obrolan dan menerima respons dari spesialis dalam pohon dialog yang telah ditentukan sebelumnya. Tugas mengotomatiskan obrolan semacam itu biasanya diselesaikan dengan menggunakan seperangkat aturan yang ditentukan secara ahli yang sangat melelahkan untuk dikembangkan dan dipelihara. Efisiensi otomatisasi semacam itu, tergantung pada tingkat kerumitan tugas, bisa 20-30%. Secara alami, muncul ide bahwa lebih bermanfaat untuk mengimplementasikan modul kecerdasan buatan - model yang dikembangkan menggunakan pembelajaran mesin yang:

  • dapat memproses lebih banyak permintaan tanpa partisipasi operator (bergantung pada topik, dalam beberapa kasus, efisiensi dapat mencapai 70-80%);
  • beradaptasi lebih baik dengan kata-kata non-standar dalam dialog - mampu menentukan maksud, keinginan sebenarnya dari pengguna untuk permintaan yang dirumuskan secara tidak jelas;
  • dapat menentukan kapan jawaban dari model tersebut memadai, dan ketika ada keraguan mengenai "kesadaran" dari jawaban ini dan perlu untuk mengajukan pertanyaan klarifikasi tambahan atau beralih ke operator;
  • dapat dilatih ulang secara otomatis (alih-alih sekelompok pengembang yang terus mengadaptasi dan mengoreksi skenario respons, model ini dilatih ulang oleh Ilmuwan Data menggunakan pustaka pembelajaran mesin yang sesuai). 

MLOps: DevOps di dunia Machine Learning

Bagaimana cara membuat model canggih seperti itu berfungsi? 

Seperti dalam menyelesaikan tugas lain, sebelum mengembangkan modul semacam itu, perlu untuk mendefinisikan proses bisnis dan secara formal menjelaskan tugas tertentu yang akan kami selesaikan menggunakan metode pembelajaran mesin. Pada titik ini, proses operasionalisasi yang dilambangkan dengan singkatan Ops dimulai. 

Langkah selanjutnya adalah ilmuwan data, bekerja sama dengan insinyur data, memeriksa ketersediaan dan kecukupan data dan hipotesis bisnis tentang kelayakan ide bisnis, mengembangkan prototipe model, dan memeriksa keefektifannya yang sebenarnya. Hanya setelah konfirmasi oleh bisnis, transisi dari pengembangan model ke penyematan ke dalam sistem yang menjalankan proses bisnis tertentu dapat dimulai. Perencanaan implementasi end-to-end, pemahaman mendalam pada setiap tahap tentang bagaimana model akan digunakan dan efek ekonomi apa yang akan ditimbulkannya, merupakan momen mendasar dalam proses memperkenalkan pendekatan MLOps ke lanskap teknologi perusahaan.

Dengan perkembangan teknologi AI, jumlah dan ragam tugas yang dapat diselesaikan dengan bantuan pembelajaran mesin semakin meningkat seperti longsoran salju. Setiap proses bisnis tersebut menyelamatkan perusahaan dengan mengotomatiskan tenaga kerja karyawan dari posisi massal (pusat panggilan, memeriksa dan menyortir dokumen, dll.), Memperluas basis klien dengan menambahkan fungsi baru yang menarik dan nyaman, menghemat uang karena optimal penggunaan dan redistribusi sumber daya dan banyak lagi. Pada akhirnya, setiap proses difokuskan pada penciptaan nilai dan, akibatnya, harus membawa dampak ekonomi tertentu. Di sini sangat penting untuk mengartikulasikan ide bisnis dengan jelas dan menghitung keuntungan yang diharapkan dari implementasi model dalam keseluruhan struktur penciptaan nilai perusahaan. Ada situasi ketika implementasi model tidak membenarkan dirinya sendiri, dan waktu yang dihabiskan oleh spesialis pembelajaran mesin jauh lebih mahal daripada tempat kerja operator yang melakukan tugas ini. Itulah mengapa perlu mencoba mengidentifikasi kasus seperti itu pada tahap awal pembuatan sistem AI.

Akibatnya, model mulai menghasilkan keuntungan hanya ketika tugas bisnis dirumuskan dengan benar dalam proses MLOps, prioritas ditetapkan, dan proses pengenalan model ke dalam sistem dirumuskan pada tahap awal pengembangan.

Proses baru - tantangan baru

Jawaban lengkap untuk pertanyaan bisnis mendasar tentang bagaimana model ML dapat diterapkan untuk memecahkan masalah, pertanyaan umum tentang kepercayaan pada AI adalah salah satu tantangan utama dalam pengembangan dan penerapan pendekatan MLOps. Awalnya, bisnis skeptis tentang pengenalan pembelajaran mesin ke dalam proses - sulit untuk mengandalkan model di tempat-tempat di mana orang biasanya bekerja di masa lalu. Untuk bisnis, program-program tersebut seolah menjadi β€œkotak hitam” yang relevansi jawabannya masih perlu dibuktikan. Selain itu, di perbankan, di bisnis operator telekomunikasi dan lainnya, ada persyaratan ketat dari regulator negara. Semua sistem dan algoritme yang diterapkan dalam proses perbankan tunduk pada audit. Untuk mengatasi masalah ini, untuk membuktikan kepada bisnis dan regulator validitas dan kebenaran jawaban kecerdasan buatan, alat pemantauan diperkenalkan bersama dengan modelnya. Selain itu, terdapat prosedur validasi independen, wajib untuk model regulasi, yang memenuhi persyaratan Bank Sentral. Kelompok pakar independen mengaudit hasil yang diperoleh model, dengan mempertimbangkan data masukan.

Tantangan kedua adalah penilaian dan pertimbangan risiko model saat mengimplementasikan model pembelajaran mesin. Sekalipun seseorang tidak dapat menjawab pertanyaan dengan pasti apakah gaun itu putih atau biru, kecerdasan buatan juga berhak melakukan kesalahan. Perlu juga dipertimbangkan bahwa data dapat berubah seiring waktu, dan model perlu dilatih ulang untuk menghasilkan hasil yang cukup akurat. Agar proses bisnis tidak menderita, perlu untuk mengelola risiko model dan memantau kinerja model, secara teratur melatihnya kembali pada data baru.

MLOps: DevOps di dunia Machine Learning

Tetapi setelah ketidakpercayaan tahap pertama, efek sebaliknya mulai muncul. Semakin banyak model yang berhasil dimasukkan ke dalam proses, semakin besar keinginan bisnis untuk menggunakan kecerdasan buatan - ada tugas baru dan baru yang dapat diselesaikan dengan menggunakan metode pembelajaran mesin. Setiap tugas meluncurkan seluruh proses yang membutuhkan kompetensi tertentu:

  • insinyur data menyiapkan dan memproses data;
  • ilmuwan data menerapkan alat pembelajaran mesin dan mengembangkan model;
  • IT mengimplementasikan model ke dalam sistem;
  • Insinyur ML menentukan cara mengintegrasikan model ini dengan benar ke dalam proses, alat TI mana yang akan digunakan tergantung pada persyaratan untuk mode penerapan model, dengan mempertimbangkan aliran permintaan, waktu respons, dll. 
  • Arsitek ML mendesain bagaimana produk perangkat lunak dapat diimplementasikan secara fisik dalam sistem industri.

Seluruh siklus membutuhkan sejumlah besar spesialis berkualifikasi tinggi. Pada titik pengembangan tertentu dan tingkat penetrasi model ML ke dalam proses bisnis, ternyata menskalakan jumlah spesialis secara linier sebanding dengan pertumbuhan jumlah tugas menjadi mahal dan tidak efisien. Oleh karena itu, muncul pertanyaan tentang mengotomatiskan proses MLOps - mendefinisikan beberapa kelas standar masalah pembelajaran mesin, mengembangkan saluran pemrosesan data tipikal, dan model pelatihan ulang. Dalam gambaran ideal, untuk mengatasi masalah seperti itu, diperlukan profesional yang sama-sama berpengalaman dalam kompetensi di persimpangan BigData, Ilmu Data, DevOps, dan TI. Oleh karena itu, masalah terbesar dalam industri Ilmu Data dan tantangan terbesar dalam mengatur proses MLOps adalah kurangnya kompetensi tersebut di pasar pelatihan yang ada. Spesialis yang memenuhi persyaratan seperti itu saat ini langka di pasar tenaga kerja dan sangat berharga.

Untuk pertanyaan kompetensi

Secara teori, semua tugas MLOps dapat diselesaikan dengan alat DevOps klasik dan tanpa menggunakan ekstensi model peran khusus. Kemudian, seperti yang kami catat di atas, seorang ilmuwan data tidak hanya harus menjadi ahli matematika dan analis data, tetapi juga seorang guru dari seluruh jalur pipa - pengembangan arsitektur, model pemrograman dalam beberapa bahasa tergantung pada arsitekturnya, menyiapkan data mart dan penyebaran jatuh di pundaknya aplikasi itu sendiri. Namun, pembuatan pengikatan teknologi yang diimplementasikan dalam proses MLOps end-to-end membutuhkan hingga 80% dari biaya tenaga kerja, yang berarti bahwa ahli matematika yang berkualifikasi, yang merupakan Ilmuwan Data berkualitas tinggi, hanya akan mencurahkan 20% dari waktu untuk spesialisasinya. Oleh karena itu, pembedaan peran spesialis yang mengimplementasikan proses penerapan model pembelajaran mesin menjadi sangat penting. 

Seberapa rinci peran harus digambarkan tergantung pada ukuran perusahaan. Itu satu hal ketika sebuah startup memiliki satu spesialis, seorang pekerja di cadangan insinyur listrik, seorang insinyur, seorang arsitek, dan DevOps dengan haknya sendiri. Ini adalah masalah yang sama sekali berbeda ketika, di perusahaan besar, semua proses pengembangan model terkonsentrasi pada beberapa Ilmuwan Data tingkat tinggi, sementara programmer atau spesialis basis data - kompetensi yang lebih umum dan lebih murah di pasar tenaga kerja - dapat mengambil alih sebagian besar tugas rutin.

Dengan demikian, di mana batasannya terletak pada pemilihan spesialis untuk memastikan proses MLOps dan bagaimana proses operasionalisasi model yang dikembangkan diatur secara langsung mempengaruhi kecepatan dan kualitas model yang dikembangkan, produktivitas tim, dan iklim mikro di dalamnya.

Apa yang sudah dilakukan oleh tim kami

Kami baru-baru ini mulai membangun kerangka kerja kompetensi dan proses MLOps. Namun sekarang, proyek kami dalam mengelola siklus hidup model dan menggunakan model sebagai layanan sedang dalam tahap pengujian MVP.

Kami juga menentukan struktur kompetensi yang optimal untuk perusahaan besar dan struktur interaksi organisasi antara semua peserta dalam proses tersebut. Tim yang gesit dibentuk untuk menyelesaikan masalah bagi seluruh spektrum pelanggan bisnis, serta proses interaksi dengan tim proyek untuk membuat platform dan infrastruktur, yang merupakan fondasi dari gedung MLOps yang sedang dibangun.

Pertanyaan untuk masa depan

MLOps adalah area berkembang yang mengalami kekurangan kompetensi dan akan mendapatkan momentum di masa depan. Sementara itu, yang terbaik adalah mengembangkan pengembangan dan praktik DevOps. Tujuan utama MLOps adalah menggunakan model ML secara lebih efektif untuk memecahkan masalah bisnis. Tapi ini menimbulkan banyak pertanyaan:

  • Bagaimana cara mengurangi waktu peluncuran model dalam produksi?
  • Bagaimana cara mengurangi gesekan birokrasi antar tim dengan kompetensi berbeda dan meningkatkan fokus kerjasama?
  • Bagaimana cara melacak model, mengelola versi, dan mengatur pemantauan yang efektif?
  • Bagaimana cara membuat siklus hidup yang benar-benar melingkar untuk model ML modern?
  • Bagaimana cara menstandarkan proses pembelajaran mesin?

Jawaban atas pertanyaan-pertanyaan ini akan sangat menentukan seberapa cepat MLOps akan mengungkapkan potensi penuhnya.

Sumber: www.habr.com

Tambah komentar