Memperkirakan Waktu, Biaya, dan Hasil dari Proyek Aplikasi ML

Diterbitkan: 2019-11-20

Bayangkan diri Anda akan membeli dompet khusus di toko.

Meskipun Anda mengetahui jenis dompet yang Anda butuhkan, tetapi tidak tahu biaya atau waktu yang dibutuhkan untuk mendapatkan versi yang disesuaikan.

Sama halnya dengan proyek pembelajaran mesin. Dan untuk membantu Anda mengatasi dilema ini, kami telah memberikan informasi terperinci agar Anda memiliki proyek yang sukses.

Machine Learning seperti koin yang memiliki dua sisi .

Di satu sisi, ini membantu menghilangkan ketidakpastian dari proses. Namun di sisi lain , perkembangannya penuh dengan ketidakpastian.

Sementara hasil akhir dari hampir setiap proyek Machine Learning (ML) adalah solusi yang membuat bisnis menjadi lebih baik dan proses disederhanakan; bagian pengembangannya memiliki cerita yang sama sekali berbeda untuk dibagikan.

Meskipun ML telah memainkan peran besar dalam mengubah kisah keuntungan dan model bisnis beberapa merek aplikasi seluler yang sudah mapan, ML masih beroperasi di bawah tahap awal. Kebaruan ini, pada gilirannya, membuat semakin menantang bagi pengembang aplikasi seluler untuk menangani rencana proyek ML dan membuatnya siap produksi, dengan mempertimbangkan kendala waktu dan biaya.

Solusi ( mungkin satu-satunya solusi ) untuk kesulitan ini adalah perkiraan proyek aplikasi Pembelajaran Mesin hitam dan putih dari waktu, biaya, dan hasil.

Tetapi sebelum kita membahas bagian-bagian itu, mari kita lihat dulu apa yang membuat kesulitan dan pembakaran lilin malam itu sepadan.

Mengapa Aplikasi Anda Membutuhkan Kerangka Pembelajaran Mesin?

Anda mungkin berpikir mengapa kita berbicara tentang kerangka kerja di tengah perkiraan waktu, biaya, dan hasil.

Tetapi alasan sebenarnya di balik waktu dan biaya terletak di sini, yang memberi tahu kami tentang motif kami di balik pengembangan aplikasi. Apakah Anda memerlukan pembelajaran mesin untuk:

Untuk Menawarkan Pengalaman yang Dipersonalisasi

Untuk Menggabungkan Pencarian Lanjutan m

Untuk Memprediksi Perilaku Pengguna

Untuk Keamanan yang Lebih Baik

Untuk Keterlibatan Pengguna yang Mendalam

Berdasarkan alasan ini, waktu, biaya, dan pengiriman akan tergantung.

Jenis Model Pembelajaran Mesin

Jenis model apa yang akan Anda pertimbangkan untuk menyesuaikan waktu dan biaya? Jika Anda tidak tahu, kami telah menyediakan informasi bagi Anda untuk memahami dan memilih model, tergantung pada kebutuhan dan anggaran Anda.

Pembelajaran mesin di tengah kasus penggunaannya yang berbeda dapat dikategorikan ke dalam tiga jenis model, yang berperan dalam mengubah aplikasi dasar menjadi aplikasi seluler cerdas – Diawasi, Tidak Diawasi, dan Penguatan. Pengetahuan tentang apa yang diperjuangkan Model Pembelajaran Mesin ini membantu menentukan cara mengembangkan aplikasi berkemampuan ML.

Pembelajaran Terawasi

Ini adalah proses di mana sistem disediakan dengan data di mana input algoritma dan outputnya diberi label dengan benar. Karena informasi input dan output diberi label, sistem dilatih untuk mengidentifikasi pola dalam data dalam algoritma.

Itu menjadi lebih bermanfaat karena digunakan untuk memprediksi hasil berdasarkan data input di masa depan. Contohnya dapat dilihat ketika media sosial mengenali wajah seseorang ketika mereka ditandai dalam sebuah foto.

Pembelajaran tanpa pengawasan

Dalam kasus pembelajaran tanpa pengawasan, data dimasukkan ke dalam sistem tetapi keluarannya tidak diberi label seperti dalam kasus model terawasi. Hal ini memungkinkan sistem untuk mengidentifikasi data dan menentukan pola dari informasi. Setelah pola disimpan, semua input masa depan ditugaskan ke pola untuk menghasilkan output.

Contoh model ini dapat dilihat pada kasus di mana media sosial memberikan saran kepada teman berdasarkan beberapa data yang diketahui seperti demografi, latar belakang pendidikan, dll.

Pembelajaran Penguatan

Seperti dalam kasus pembelajaran tanpa pengawasan, data yang diberikan ke sistem dalam pembelajaran penguatan juga tidak diberi label. Kedua jenis pembelajaran mesin berbeda dengan alasan bahwa ketika output yang benar dihasilkan, sistem diberitahu bahwa outputnya benar. Tipe pembelajaran ini memungkinkan sistem untuk belajar dari lingkungan dan pengalaman.

Contohnya bisa dilihat di Spotify. Aplikasi Spotify membuat rekomendasi untuk lagu -lagu yang kemudian harus diacungi jempol atau diacungi jempol oleh pengguna. Berdasarkan pilihan, aplikasi Spotify mempelajari selera pengguna dalam musik.

Siklus Hidup Proyek Pembelajaran Mesin

ML-pengembangan-siklus hidup-1

Siklus hidup timeline pengiriman proyek Machine Learning biasanya muncul seperti ini –

Penyiapan Rencana Proyek ML

  • Tentukan tugas dan persyaratan
  • Identifikasi kelayakan proyek
  • Diskusikan tradeoff model umum
  • Buat basis kode proyek

Pengumpulan dan Pelabelan Data

  • Buat dokumentasi pelabelan
  • Bangun saluran penyerapan data
  • Validasi kualitas data

Eksplorasi Model

  • Tetapkan dasar untuk kinerja model
  • Buat model sederhana dengan pipa data awal
  • Cobalah ide paralel selama tahap awal
  • Temukan model SoTA untuk domain masalah, jika ada, dan ulangi hasilnya.

Penyempurnaan Model

  • Lakukan pengoptimalan yang berpusat pada model
  • Debug model saat kompleksitas ditambahkan
  • Melakukan analisis kesalahan untuk mengungkap mode kegagalan.

Uji dan Evaluasi

  • Evaluasi model pada distribusi uji
  • Tinjau kembali metrik evaluasi model, pastikan metrik tersebut mendorong perilaku pengguna yang diinginkan
  • Tes tulis untuk – fungsi inferensi model, jalur input data, skenario eksplisit yang diharapkan dalam produksi.

Penerapan Model

  • Ekspos model melalui REST API
  • Terapkan model baru ke subset pengguna untuk memastikan semuanya lancar sebelum peluncuran terakhir.
  • Memiliki kemampuan untuk memutar kembali model ke versi sebelumnya
  • Pantau data langsung.

Pemeliharaan Model

  • Latih ulang model untuk mencegah model basi
  • Edukasi tim jika ada perpindahan kepemilikan model

Bagaimana Memperkirakan Ruang Lingkup Proyek Pembelajaran Mesin?

Tim Pembelajaran Mesin Appinventiv setelah mempelajari jenis Pembelajaran Mesin dan siklus hidup pengembangan melanjutkan untuk menentukan perkiraan proyek aplikasi Pembelajaran Mesin dari proyek mengikuti fase berikut:

Fase 1 – Penemuan (7 hingga 14 hari)

Peta jalan rencana proyek ML dimulai dengan definisi masalah. Ini melihat ke dalam masalah dan inefisiensi operasional yang harus ditangani.

Tujuannya di sini adalah untuk mengidentifikasi persyaratan dan melihat apakah Machine Learning memenuhi tujuan bisnis . Panggung mengharuskan teknisi kami untuk bertemu dengan orang-orang bisnis di sisi klien untuk memahami visi mereka dalam hal masalah apa yang ingin mereka pecahkan.

Kedua, tim pengembangan harus mengidentifikasi jenis data yang mereka miliki dan apakah mereka perlu mengambilnya dari layanan luar.

Selanjutnya, pengembang harus mengukur apakah mereka mampu mengawasi algoritme – apakah algoritme mengembalikan respons yang benar setiap kali prediksi dibuat.

Deliverable – Sebuah Pernyataan Masalah yang akan menentukan apakah sebuah proyek sepele atau atau akan menjadi kompleks.

Fase 2 – Eksplorasi (6 hingga 8 minggu)

Tujuan dari tahap ini adalah untuk membangun Proof of Concept yang kemudian dapat diinstal sebagai API. Setelah model dasar dilatih, tim pakar ML kami memperkirakan kinerja solusi siap produksi.

Tahap ini memberi kita kejelasan tentang kinerja apa yang diharapkan dengan metrik yang direncanakan pada tahap penemuan.

Deliverable – Bukti Konsep

Fase 3 – Pengembangan (4+ bulan)

Ini adalah tahap di mana tim bekerja berulang-ulang sampai mereka mencapai jawaban siap produksi. Karena ketidakpastian jauh lebih sedikit pada saat proyek mencapai tahap ini, estimasi menjadi sangat tepat.

Tetapi jika hasilnya tidak membaik, pengembang harus menerapkan model yang berbeda atau mengerjakan ulang data atau bahkan mengubah metode, jika diperlukan.

Pada tahap ini, pengembang kami bekerja dalam sprint dan memutuskan apa yang harus dilakukan setelah setiap iterasi individu. Hasil dari setiap sprint dapat diprediksi secara efektif.

Sementara hasil sprint dapat diprediksi secara efektif, perencanaan sprint sebelumnya bisa menjadi kesalahan dalam hal Machine Learning, karena Anda akan bekerja di perairan yang belum dipetakan.

Deliverable – Solusi ML siap produksi

Fase 4 – Peningkatan (berkelanjutan)

Setelah digunakan, pengambil keputusan hampir selalu terburu-buru untuk mengakhiri proyek untuk menghemat biaya. Meskipun rumus berfungsi di 80% proyek, hal yang sama tidak berlaku di aplikasi Pembelajaran Mesin.

Apa yang terjadi adalah bahwa data berubah sepanjang garis waktu proyek Machine Learning. Inilah alasan mengapa model AI harus dipantau dan ditinjau terus-menerus – untuk menyelamatkannya dari degradasi dan menyediakan pengembangan aplikasi seluler yang memungkinkan AI yang aman .

Proyek yang berpusat pada Machine Learning membutuhkan waktu untuk mencapai hasil yang memuaskan. Bahkan ketika Anda menemukan algoritme Anda mengalahkan tolok ukur sejak awal, kemungkinan besar itu akan menjadi satu pukulan dan program mungkin hilang saat digunakan pada kumpulan data yang berbeda.

Faktor-Faktor Yang Mempengaruhi Biaya Keseluruhan

Cara mengembangkan sistem pembelajaran mesin memiliki beberapa fitur yang membedakan seperti masalah terkait data dan faktor terkait kinerja yang menentukan pengeluaran terakhir.

Masalah terkait data

Pengembangan pembelajaran mesin yang andal tidak hanya bergantung pada pengkodean yang fenomenal, tetapi kualitas dan kuantitas informasi pelatihan juga memainkan peran penting.

  1. Kurangnya Data yang Sesuai
  2. Ekstrak Kompleks, Transformasi, Prosedur Muat
  3. Pemrosesan Data Tidak Terstruktur

Masalah terkait kinerja

Kinerja algoritme yang memadai merupakan faktor biaya penting lainnya, karena algoritme berkualitas tinggi memerlukan beberapa putaran sesi penyetelan.

  1. Tingkat Akurasi Bervariasi
  2. Kinerja Algoritma Pemrosesan

Bagaimana Kami Memperkirakan Biaya Proyek Pembelajaran Mesin?

Ketika kita berbicara tentang perkiraan biaya proyek pembelajaran mesin, penting untuk mengidentifikasi terlebih dahulu jenis proyek mana yang dibicarakan.

Ada tiga jenis utama proyek Pembelajaran Mesin , yang berperan dalam menjawab Berapa biaya Pembelajaran Mesin:

Pertama – Tipe ini sudah memiliki solusi – keduanya: arsitektur model dan dataset sudah ada. Jenis proyek ini praktis gratis, jadi kami tidak akan membicarakannya.

Kedua – Proyek-proyek ini memerlukan penelitian mendasar – penerapan ML dalam domain yang sama sekali baru atau pada struktur data yang berbeda dibandingkan dengan model arus utama. Biaya jenis proyek ini biasanya merupakan biaya yang tidak terjangkau oleh sebagian besar perusahaan rintisan.

Ketiga – Inilah yang akan kami fokuskan dalam estimasi biaya kami. Di sini, Anda mengambil arsitektur model dan algoritme yang sudah ada dan kemudian mengubahnya agar sesuai dengan data yang sedang Anda kerjakan.

Sekarang mari kita ke bagian di mana kita memperkirakan biaya proyek ML.

biaya data

Data adalah mata uang utama dari proyek Machine Learning. Solusi dan penelitian maksimal berfokus pada variasi model pembelajaran terbimbing. Ini adalah fakta yang diketahui bahwa semakin dalam pembelajaran yang diawasi, semakin besar kebutuhan akan data beranotasi, dan pada gilirannya, semakin tinggi biaya pengembangan aplikasi Machine Learning .

Sekarang sementara layanan seperti Scale dan Amazon's Mechanical Turk dapat membantu Anda mengumpulkan dan membuat anotasi data, bagaimana dengan Kualitas?

Ini bisa sangat memakan waktu untuk memeriksa dan kemudian memperbaiki sampel data. Solusi untuk masalah ini ada dua - baik mengalihdayakan pengumpulan data atau memperbaikinya sendiri.

Anda harus mengalihdayakan sebagian besar pekerjaan validasi dan penyempurnaan data dan kemudian menunjuk satu atau dua orang untuk membersihkan sampel data dan memberi label.

Biaya riset

Bagian penelitian dari proyek, seperti yang kami bagikan di atas, berkaitan dengan studi kelayakan tingkat awal, pencarian algoritme, dan fase eksperimen. Informasi yang biasanya muncul dari Workshop Pengiriman Produk . Pada dasarnya, tahap eksplorasi adalah tahap yang dilalui setiap proyek sebelum produksinya.

Menyelesaikan tahap dengan kesempurnaan maksimal adalah proses yang datang dengan nomor terlampir dalam biaya pelaksanaan diskusi ML.

Biaya produksi

Bagian produksi biaya proyek Machine Learning terdiri dari biaya infrastruktur, biaya integrasi, dan biaya pemeliharaan. Dari biaya ini, Anda harus membuat pengeluaran paling sedikit dengan komputasi awan. Tapi itu juga akan bervariasi dari kompleksitas satu algoritma ke algoritma lainnya.

Biaya integrasi bervariasi dari satu use case ke use case lainnya. Biasanya, cukup menempatkan titik akhir API di cloud dan mendokumentasikannya untuk kemudian digunakan oleh sistem lainnya .

Salah satu faktor utama yang cenderung diabaikan orang saat mengembangkan proyek pembelajaran mesin adalah kebutuhan untuk memberikan dukungan berkelanjutan selama seluruh siklus hidup proyek. Data yang masuk dari API harus dibersihkan dan diberi anotasi dengan benar. Kemudian, model harus dilatih pada data baru dan diuji, dikerahkan.

Selain poin-poin yang disebutkan di atas, ada dua faktor lagi yang berperan penting dalam estimasi biaya untuk mengembangkan aplikasi AI/aplikasi ML .

Tantangan dalam Mengembangkan Aplikasi Pembelajaran Mesin

ML-project-challenges

Biasanya, saat perkiraan proyek aplikasi Machine Learning dibuat, tantangan perkembangan yang terkait dengannya juga dipertimbangkan. Tetapi ada beberapa contoh di mana tantangan ditemukan di tengah-tengah proses pengembangan aplikasi yang didukung ML. Dalam kasus seperti ini, perkiraan waktu dan biaya keseluruhan secara otomatis meningkat.

Tantangan untuk proyek Machine Learning dapat berkisar dari:

  • Memutuskan kumpulan fitur apa yang akan menjadi fitur pembelajaran mesin
  • Defisit bakat dalam domain AI dan Pembelajaran Mesin
  • Memperoleh kumpulan data itu mahal
  • Butuh waktu untuk mencapai hasil yang memuaskan

Kesimpulan

Memperkirakan tenaga kerja dan waktu yang dibutuhkan untuk menyelesaikan proyek perangkat lunak relatif mudah jika dikembangkan dengan dasar desain modular dan ditangani oleh tim yang berpengalaman mengikuti pendekatan Agile . Namun, hal yang sama menjadi semakin sulit ketika Anda berupaya menciptakan perkiraan proyek aplikasi Machine Learning yang bijaksana dalam waktu dan upaya.

Meskipun tujuan mungkin didefinisikan dengan baik, jaminan apakah model akan mencapai hasil yang diinginkan tidak ada. Biasanya tidak mungkin untuk menurunkan cakupan dan kemudian menjalankan proyek dalam pengaturan kotak waktu melalui tanggal pengiriman yang telah ditentukan.

Sangat penting bagi Anda untuk mengidentifikasi bahwa akan ada ketidakpastian. Pendekatan yang dapat membantu mengurangi penundaan adalah memastikan bahwa data input dalam format yang tepat untuk Machine Learning.

Namun pada akhirnya, apa pun pendekatan yang Anda rencanakan untuk diikuti, itu hanya akan dianggap berhasil jika Anda bermitra dengan agen pengembangan aplikasi Machine Learning yang tahu cara mengembangkan dan menerapkan kompleksitas dalam bentuknya yang paling sederhana.

FAQ tentang perkiraan proyek aplikasi Machine Learning

T. Mengapa menggunakan Machine Learning dalam mengembangkan aplikasi?

Ada sejumlah manfaat yang dapat diperoleh bisnis dengan penggabungan Pembelajaran Mesin ke dalam aplikasi seluler mereka. Beberapa yang paling umum ada di bidang pemasaran aplikasi –

  • Menawarkan pengalaman yang dipersonalisasi
  • Pencarian lanjutan
  • Memprediksi perilaku pengguna
  • Keterlibatan pengguna yang lebih dalam

T. Bagaimana pembelajaran mesin dapat membantu bisnis Anda?

Manfaat Pembelajaran Mesin untuk bisnis lebih dari sekadar menandai mereka sebagai merek yang mengganggu. Ini beriak ke penawaran mereka menjadi lebih personal dan real-time.

Machine Learning bisa menjadi formula rahasia yang mendekatkan bisnis dengan pelanggan mereka, bagaimana mereka ingin didekati.

T. Bagaimana cara memperkirakan ROI dalam mengembangkan proyek Machine learning?

Meskipun artikel tersebut akan membantu Anda dalam menetapkan perkiraan proyek aplikasi Machine Learning, menghitung ROI adalah permainan yang berbeda. Anda harus tetap mempertimbangkan biaya peluang dalam campuran juga. Selain itu, Anda harus melihat ekspektasi yang dimiliki bisnis Anda dari proyek tersebut.

T. Platform mana yang lebih baik untuk proyek ML?

Pilihan Anda apakah akan terhubung dengan perusahaan pengembang aplikasi Android atau dengan pengembang iOS akan bergantung sepenuhnya pada basis pengguna dan niat Anda – apakah itu menghasilkan keuntungan atau berpusat pada nilai.