Ringkasan prediksi

Anda dapat menghosting model machine learning terlatih di cloud dan menggunakan AI Platform Prediction untuk menyimpulkan nilai target untuk data baru. Halaman ini membahas hosting dan prediksi model serta memperkenalkan pertimbangan yang harus Anda perhatikan untuk project Anda.

Cara kerja Duet AI

AI Platform Prediction mengelola resource komputasi di cloud untuk menjalankan model Anda. Anda dapat meminta prediksi dari model Anda dan mendapatkan prediksi nilai target untuk model tersebut. Berikut adalah proses persiapan untuk membuat prediksi di cloud:

  1. Anda mengekspor model sebagai artefak yang dapat di-deploy ke AI Platform Prediction.

  2. Anda membuat resource model di AI Platform Prediction, lalu membuat versi model dari model tersimpan Anda.

    Jika men-deploy rutinitas prediksi kustom, Anda juga menyediakan kode untuk dijalankan pada waktu prediksi.

  3. Anda memformat data input untuk prediksi dan meminta prediksi online atau prediksi batch

  4. Jika Anda menggunakan prediksi online, layanan ini akan menjalankan model tersimpan Anda dan menampilkan prediksi yang diminta sebagai pesan respons untuk panggilan tersebut.

    • Versi model Anda di-deploy di wilayah yang Anda tentukan saat membuat model.
    • Meskipun tidak dijamin, versi model yang Anda gunakan secara rutin umumnya tetap siap untuk dijalankan.

    Saat Anda menggunakan prediksi batch, yang hanya didukung untuk model TensorFlow, prosesnya sedikit lebih rumit:

    1. Layanan prediksi mengalokasikan resource untuk menjalankan tugas Anda. Ini mencakup satu atau beberapa node prediksi.

    2. Layanan memulihkan grafik TensorFlow Anda di setiap node yang dialokasikan.

    3. Layanan prediksi mendistribusikan data input Anda ke semua node yang dialokasikan.

    4. Setiap node menjalankan grafik Anda dan menyimpan prediksinya ke lokasi Cloud Storage yang Anda tentukan.

    5. Setelah semua data input diproses, layanan akan menghentikan tugas Anda dan melepaskan resource yang dialokasikan untuk tugas tersebut.

Deployment model

AI Platform Prediction dapat menghosting model Anda sehingga Anda bisa mendapatkan prediksi dari model tersebut di cloud. Proses menghosting model tersimpan disebut deployment. Layanan prediksi mengelola infrastruktur yang diperlukan untuk menjalankan model Anda dalam skala besar, dan menyediakannya untuk permintaan prediksi online dan batch. Bagian ini menjelaskan deployment model.

Tentang model dan versi

AI Platform Prediction mengatur model terlatih Anda menggunakan resource yang disebut model dan versi. Model adalah solusi machine learning. Misalnya, Anda dapat membuat model bernama census untuk menampung semua pekerjaan Anda pada model machine learning sensus AS. Entity yang Anda buat, bernama census, adalah penampung untuk implementasi sebenarnya dari model machine learning, yang disebut versi.

Mengembangkan model machine learning adalah proses iteratif. Oleh karena itu, paradigma resource Prediksi AI Platform disiapkan dengan asumsi bahwa Anda akan membuat beberapa versi dari setiap model machine learning. Terminologi ini dapat membingungkan karena resource model Prediction AI Platform sebenarnya bukanlah model machine learning itu sendiri. Dalam AI Platform Prediction, model adalah container untuk versi model machine learning.

Apa yang ada dalam sebuah versi?

"Model" yang Anda deploy ke AI Platform Prediction sebagai versi model terdiri dari satu atau beberapa artefak yang dihasilkan melalui pelatihan dengan framework yang dihosting, TensorFlow, scikit-learn, atau XGBoost. Tidak masalah apakah Anda melatih model di cloud menggunakan AI Platform Training atau tempat lainnya.

Anda juga dapat men-deploy rutinitas prediksi kustom (beta), yang dalam hal ini Anda dapat memberikan artefak pelatihan dan kode tambahan pada versi model untuk menangani permintaan prediksi.

Variasi antar-versi

Versi yang Anda buat untuk resource model tertentu bersifat tidak tentu; Anda dapat menggunakan resource model yang sama meskipun Anda benar-benar mengubah model machine learning antar-versi. Model adalah alat organisasi yang dapat digunakan, apa pun situasi Anda.

Hal ini umum, terutama setelah Anda memiliki versi dalam produksi, menjaga input dan output tetap sama di antara versi model. Hal ini memungkinkan Anda beralih versi tanpa perlu mengubah struktur aplikasi lain yang mungkin telah Anda bangun berdasarkan model Anda. Hal ini juga memudahkan pengujian versi baru dengan data yang ada.

Versi default

Setiap model dengan setidaknya satu versi memiliki versi default; versi default ditetapkan saat versi pertama dibuat. Jika Anda meminta prediksi yang menentukan nama model saja, AI Platform Prediction akan menggunakan versi default untuk model tersebut.

Perhatikan bahwa satu-satunya waktu saat layanan secara otomatis menetapkan versi default adalah saat Anda membuat versi pertama. Anda dapat secara manual menjadikan versi berikutnya sebagai default dengan memanggil projects.models.versions.setDefault (juga ditampilkan sebagai gcloud ai-platform versions set-default dan sebagai opsi dalam daftar Versi di halaman Detail model di Konsol Google Cloud) (buka halaman detail model dengan mengklik model Anda dalam daftar model di halaman Model). Dengan demikian, Anda dapat, misalnya, menggunakan versi default yang stabil untuk menayangkan prediksi dalam produksi saat menguji versi yang lebih baru tanpa membuat resource model khusus untuk pengujian.

Penamaan model dan versi

Nama model dan versi harus:

  • Hanya berisi campuran huruf besar/kecil, angka, dan garis bawah (peka huruf besar/kecil).
  • Diawali dengan huruf.
  • Berisi 128 karakter atau kurang.
  • Bersifat unik dalam project tertentu (untuk model) atau model (untuk versi).

Tidak ada aturan untuk nama di luar persyaratan teknis tersebut, namun berikut ini beberapa praktik terbaik:

  • Nama model harus deskriptif dan unik—Anda mungkin perlu memilihnya dari daftar banyak nama di log atau laporan.
  • Nama versi sebaiknya dibuat singkat dan sederhana. Lebih mudah mengidentifikasi 'v1' dalam daftar resource daripada '2017_01_29T13_54_58', misalnya.

Batas model dan versi

Untuk mengetahui jumlah model dan versi yang dapat Anda buat dalam satu project Google Cloud, lihat Kuota resource.

Parameter deployment model

Prediksi AI Platform memerlukan beberapa informasi untuk membuat versi model Anda. Anda juga memiliki beberapa opsi yang dapat dikonfigurasi. Bagian ini menjelaskan parameter dari kedua jenis tersebut. Parameter ini ditentukan dalam objek Version atau ditambahkan untuk memudahkan dalam perintah gcloud ai-platform versions create.

Nama versi
Nama untuk versi baru yang unik di antara nama versi model lainnya.
Deskripsi
Anda dapat memberikan deskripsi untuk versi Anda. Saat ini, deskripsi hanya diberikan ketika Anda mendapatkan informasi versi dengan API; baik Google Cloud CLI maupun Google Cloud Console tidak menampilkan deskripsi.
URI Deployment
Anda harus memberikan URI lokasi Cloud Storage tempat SavedModel Anda disimpan. AI Platform Prediction mengambil model dari lokasi ini dan men-deploy model tersebut. Parameter ini disebut --origin dalam perintah gcloud ai-platform versions create. Jika men-deploy rutinitas prediksi kustom (beta), Anda dapat memberikan URI direktori Cloud Storage yang berisi artefak apa pun yang digunakan versi model Anda untuk prediksi, bukan hanyaSavedModel.
Versi runtime
AI Platform Prediction menggunakan versi runtime stabil terbaru untuk men-deploy versi model Anda, kecuali jika Anda menentukan model lain yang didukung. Versi runtime terutama menentukan versi TensorFlow yang digunakan layanan prediksi untuk menjalankan model Anda. Saat menjalankan tugas prediksi batch, Anda memiliki opsi untuk mengganti versi runtime yang ditetapkan. Prediksi online selalu menggunakan versi runtime yang ditetapkan saat versi model di-deploy.
Penskalaan manual

Anda dapat menentukan jumlah node prediksi yang akan terus berjalan untuk versi model Anda. Lihat bagian penskalaan untuk mengetahui informasi selengkapnya.

Bucket staging

Jika Anda menggunakan Google Cloud CLI untuk men-deploy model, Anda dapat menggunakanSavedModel di komputer lokal Anda. Alat ini menampilkannya di lokasi Cloud Storage yang Anda tentukan sebelum men-deploy-nya ke AI Platform Prediction.

Membuat grafik perubahan untuk prediksi

Anda mungkin telah menyertakan TensorFlow Ops dalam grafik komputasi yang berguna terutama dalam konteks pelatihan. Setelah melatih model, Anda dapat menghapus operasi tersebut dari grafik sebelum mengekspor versi akhir.

Sebagian besar saran yang diberikan di halaman pengembangan aplikasi pelatihan ditujukan pada pengalaman prediksi. Dalam beberapa kasus, perubahan tersebut adalah perubahan yang Anda buat pada model saat sebagian besar pelatihan selesai dan Anda siap untuk mulai men-deploy versi.

Mendapatkan prediksi

Anda dapat mengirim data baru ke versi model yang di-deploy untuk mendapatkan prediksi. Bagian berikut menjelaskan pertimbangan prediksi yang penting.

Prediksi online versus prediksi batch

Pelajari perbedaan antara prediksi online dan batch.

Memahami node prediksi dan alokasi resource

Prediksi AI Platform mengukur jumlah pemrosesan yang Anda gunakan untuk prediksi dalam jam node. Bagian ini menjelaskan node tersebut dan caranya dialokasikan untuk berbagai jenis prediksi.

Node paling mudah dianggap sebagai mesin virtual (VM), meskipun diimplementasikan dengan mekanisme yang berbeda dari VM tradisional. Setiap node disediakan dengan sejumlah daya dan memori pemrosesan. SDK ini juga memiliki image sistem operasi dan konfigurasi software yang diperlukan untuk menjalankan model Anda guna mendapatkan prediksi.

Prediksi online dan batch menjalankan node Anda dengan pemrosesan terdistribusi, sehingga permintaan atau tugas tertentu dapat menggunakan beberapa node secara bersamaan. Anda dikenai biaya untuk total penggunaan node per menit, menggunakan tarif per jam. Misalnya, menjalankan dua node selama sepuluh menit dikenai biaya yang sama seperti menjalankan satu node selama dua puluh menit. Prediksi online dan batch mengalokasikan node dengan cara yang berbeda, yang dapat berdampak signifikan pada apa yang akan dikenakan biaya.

Alokasi node untuk prediksi batch

Layanan prediksi batch menskalakan jumlah node yang digunakannya, untuk meminimalkan jumlah waktu berlalu yang dibutuhkan tugas Anda. Untuk melakukannya, layanan:

  • Mengalokasikan beberapa node untuk menangani tugas saat Anda memulainya.

  • Menskalakan jumlah node selama tugas sebagai upaya untuk mengoptimalkan efisiensi. Setiap node memerlukan waktu untuk memulai, sehingga layanan mencoba mengalokasikannya secukupnya sehingga waktu startup diimbangi dengan pengurangan waktu berlalu.

  • Mematikan node begitu tugas Anda selesai.

Anda dapat memengaruhi penskalaan tugas prediksi batch dengan menentukan jumlah maksimum node yang akan digunakan. Secara umum, Anda menginginkan node sebanyak yang akan digunakan oleh layanan, tetapi penggunaan node tunduk pada kebijakan kuota Prediction AI Platform. Anda mungkin ingin membatasi jumlah node yang dialokasikan untuk tugas tertentu, terutama jika Anda berbagi project dengan orang lain dan berpotensi menjalankan tugas (baik pelatihan maupun prediksi) secara serentak.

Alokasi node untuk prediksi online

Layanan prediksi online menskalakan jumlah node yang digunakannya, untuk memaksimalkan jumlah permintaan yang dapat ditangani tanpa menimbulkan terlalu banyak latensi. Untuk melakukannya, layanan:

  • Mengalokasikan beberapa node saat pertama kali Anda meminta prediksi setelah jeda lama dalam permintaan.

  • Menskalakan jumlah node sebagai respons terhadap traffic permintaan, menambahkan node saat traffic meningkat, dan menghapusnya saat jumlah permintaan lebih sedikit.

  • Simpan setidaknya satu node selama periode beberapa menit, untuk menangani permintaan meskipun tidak ada yang ditangani. Status siap memastikan bahwa layanan dapat segera menayangkan setiap prediksi.

  • Skala diperkecil ke nol setelah versi model Anda berjalan beberapa menit tanpa permintaan prediksi.

Setelah skala layanan diperkecil hingga nol, atau saat terjadi lonjakan traffic yang tiba-tiba, diperlukan waktu (detik hingga menit) untuk menginisialisasi node guna menyalurkan permintaan. Waktu inisialisasi bergantung pada ukuran versi model Anda, sehingga waktu tunggu sisi klien dapat menyebabkan permintaan dihapus hingga node baru diinisialisasi, dan/atau peningkatan latensi selama periode waktu ini.

Untuk memastikan penayangan perintah setiap saat, Anda dapat menentukan jumlah minimum node yang harus selalu disiapkan oleh layanan, dengan menetapkan opsi minNodes pada versi model Anda. Setelan ini dapat meningkatkan biaya, karena Anda membayar node tersebut meskipun tidak ada prediksi yang ditampilkan.

Batasan penskalaan otomatis

Penskalaan otomatis AI Platform Prediction untuk prediksi online dapat membantu Anda menyalurkan berbagai tingkat permintaan prediksi sekaligus meminimalkan biaya. Namun, hal ini tidak ideal untuk semua situasi. Layanan mungkin tidak dapat menghubungkan node secara online dengan cukup cepat untuk mengimbangi lonjakan traffic permintaan yang besar. Jika traffic Anda secara rutin memiliki lonjakan tajam, dan jika latensi rendah yang andal penting bagi aplikasi Anda, sebaiknya pertimbangkan penskalaan manual.

Menggunakan penskalaan manual

Anda dapat memengaruhi penskalaan prediksi online untuk versi model dengan menentukan jumlah node yang akan terus berjalan, terlepas dari traffic-nya. Menyetel jumlah node secara manual sebenarnya akan menghentikan layanan dari penskalaan, yang berarti bahwa jumlah node yang Anda tentukan akan selalu siap, dan Anda akan terus-menerus dikenakan biaya untuk node tersebut. Anda harus menghindari hal ini kecuali jika jumlah permintaan yang diterima model Anda berfluktuasi lebih cepat daripada yang dapat dipertahankan oleh penskalaan otomatis. Anda menetapkan jumlah node yang akan digunakan dengan menetapkan manualScaling dalam objek Version yang Anda teruskan ke projects.models.versions.create.

Penskalaan multi-zona

Jika versi Anda menggunakan jenis mesin Compute Engine (N1) dan Anda menetapkan autoScaling.minNodes atau manualScaling.nodes ke 2 atau lebih besar (bergantung pada apakah Anda menggunakan penskalaan otomatis atau manual), node prediksi Anda akan berjalan di beberapa zona di region yang sama. Hal ini memastikan ketersediaan berkelanjutan jika terjadi pemadaman layanan di salah satu zona.

Data input prediksi

Data yang Anda gunakan untuk mendapatkan prediksi adalah data baru yang memiliki bentuk yang sama seperti data yang Anda gunakan untuk pelatihan. Prediksi online dan batch menggunakan data yang sama (fitur model Anda), tetapi memerlukan format yang berbeda, bergantung pada jenis prediksi dan antarmuka yang Anda gunakan. Format ini dirangkum dalam tabel berikut, dan dijelaskan secara lebih mendetail di bagian di bawah:

Jenis dan antarmuka prediksi Format input yang didukung
Batch dengan panggilan API File teks dengan string instance JSON atau file TFRecord (mungkin akan dikompresi)
Batch dengan gcloud CLI File teks dengan string instance JSON atau file TFRecord (mungkin akan dikompresi)
Online dengan panggilan API Pesan permintaan JSON
Online dengan gcloud CLI File teks dengan string instance JSON atau file CSV

String JSON instance

Format dasar untuk prediksi online dan batch adalah daftar tensor data instance. Daftar ini dapat berupa daftar nilai biasa atau anggota objek JSON, bergantung pada cara Anda mengonfigurasi input dalam aplikasi pelatihan:

Contoh ini menunjukkan Tensor input dan kunci instance:

{"values": [1, 2, 3, 4], "key": 1}

Susunan string JSON bisa menjadi kompleks selama mengikuti aturan berikut:

  • Tingkat teratas data instance harus berupa objek JSON—kamus key-value pair.

  • Nilai individual dalam objek instance dapat berupa string, angka, atau daftar. Anda tidak dapat menyematkan objek JSON.

  • Daftar hanya boleh berisi item dari jenis yang sama (termasuk daftar lainnya). Anda tidak boleh mencampur nilai string dan numerik.

String berikut (diformat agar mudah dibaca) menunjukkan objek yang berisi label dan gambar, dengan gambar yang berupa array 3 dimensi dari bilangan bulat 8-bit:

{
  "tag": "beach",
  "image": [
    [
      [138, 30, 66],
      [130, 20, 56],
      ...
    ],
    [
      [126, 38, 61],
      [122, 24, 57],
      ...
    ],
        ...
  ]
}

Jika model Anda hanya mengambil satu input, Anda tidak perlu menggabungkannya dalam objek JSON. Misalnya, jika Anda mengirim sebuah Tensor tunggal (dalam hal ini vektor) dengan empat nilai, Anda tidak perlu memformatnya seperti ini:

{"values": [1, 2, 3, 4]}

Anda cukup memformat setiap instance sebagai daftar:

[1, 2, 3, 4]
Data biner dalam input prediksi

Data biner tidak dapat diformat sebagai string berenkode UTF-8 yang didukung JSON. Jika Anda memiliki data biner dalam input, Anda harus menggunakan encoding base64 untuk merepresentasikannya. Diperlukan format khusus berikut:

  • String yang dienkode harus diformat sebagai objek JSON dengan satu kunci bernama b64. Contoh Python berikut mengenkode buffering data JPEG mentah menggunakan library base64 untuk membuat instance:

    {"image_bytes":{"b64": base64.b64encode(jpeg_data)}}
    
  • Dalam kode model TensorFlow, Anda harus memberi nama alias untuk TensorFlow input dan output agar diakhiri dengan '_bytes'.

Data input prediksi online

Anda meneruskan instance input untuk prediksi online sebagai isi pesan untuk permintaan predict. Untuk memformat isi permintaan dan respons, lihat detail permintaan prediksi.

Singkatnya: Buat setiap instance menjadi item dalam daftar, dan beri nama anggota daftar instances. Jadi, contoh JSON instance data sederhana yang diberikan di atas menjadi:

{"instances": [{"values": [1, 2, 3, 4], "key": 1}]}

Saat Anda menggunakan gcloud ai-platform projects predict untuk meminta prediksi online, Anda meneruskan file dengan format yang sama dengan yang Anda gunakan untuk prediksi batch.

Data input prediksi batch

Anda memberikan data input untuk prediksi batch dalam satu atau beberapa file teks yang berisi baris data instance JSON seperti yang dijelaskan di atas. File input tidak berisi header kolom atau format lain di luar sintaksis JSON sederhana.

{"image": [0.0, 0.0, ... ], "key": 0}
{"image": [0.0, 0.0, ... ], "key": 1}
{"image": [0.0, 0.0, ... ], "key": 2}

Kunci instance

AI Platform Prediction menjalankan tugas prediksi batch Anda menggunakan pemrosesan terdistribusi. Artinya, data Anda didistribusikan di antara cluster arbitrer mesin virtual, dan diproses dalam urutan yang tidak dapat diprediksi. Agar dapat mencocokkan prediksi yang ditampilkan dengan instance input, Anda harus menentukan kunci instance. Kunci instance adalah nilai yang dimiliki setiap instance yang unik di antara instance dalam kumpulan data. Kunci paling sederhana adalah nomor indeks.

Anda harus meneruskan kunci melalui grafik tanpa diubah dalam aplikasi pelatihan. Jika data Anda belum memiliki kunci instance, Anda dapat menambahkannya sebagai bagian dari pra-pemrosesan data.

Versi runtime

Saat versi baru AI Platform Prediction dirilis, model yang dikembangkan dengan versi lama mungkin akan menjadi tidak digunakan lagi. Hal ini sangat relevan jika Anda sampai pada versi model efektif yang tidak berubah dalam jangka waktu yang lama. Anda harus meninjau kebijakan pembuatan versi Prediksi AI Platform dan memastikan bahwa Anda memahami versi runtime AI Platform Prediction yang digunakan untuk melatih versi model Anda.

Versi dan prediksi runtime

Anda harus menentukan versi runtime AI Platform Prediction yang didukung saat membuat versi model. Tindakan ini akan menetapkan setelan default versi model.

Anda dapat menentukan versi runtime yang akan digunakan saat memulai tugas prediksi batch. Hal ini untuk mengakomodasi prediksi menggunakan model yang tidak di-deploy pada AI Platform Prediction. Untuk model yang di-deploy, gunakan versi runtime default model dalam permintaan tugas Anda. Menggunakan versi runtime yang berbeda cenderung menyebabkan error yang tidak terduga.

Anda tidak dapat meminta prediksi online dari model di luar AI Platform Prediction, sehingga tidak ada opsi untuk mengganti versi runtime default dalam permintaan Anda.

Versi runtime default yang ditetapkan untuk versi model tidak dapat diubah. Guna menentukan versi runtime yang berbeda untuk versi model, deploy versi baru menggunakan artefak pelatihan yang sama dengan yang Anda gunakan pada awalnya.

Region dan prediksi

Google Cloud menggunakan region, yang dibagi menjadi beberapa zona, untuk menentukan lokasi geografis resource komputasi fisik. Ketika Anda men-deploy model untuk prediksi menggunakan AI Platform Prediction, Anda menentukan region default tempat Anda ingin menjalankan prediksi.

Saat memulai tugas prediksi batch, Anda dapat menentukan region untuk menjalankan tugas tersebut, dengan mengganti region default. Prediksi online selalu disalurkan dari region default yang ditetapkan untuk model.

Untuk melihat region yang tersedia untuk layanan AI Platform Prediction, termasuk pelatihan model dan prediksi online/batch, baca panduan region.

Logging prediksi

Prediksi batch menghasilkan log tugas yang dapat Anda lihat di Cloud Logging. Anda juga bisa mendapatkan log untuk permintaan prediksi online jika mengonfigurasi model untuk menghasilkannya saat membuatnya. Perhatikan bahwa Anda harus menentukan opsi ini saat membuat resource model di AI Platform Prediction; baik semua versi model menghasilkan log untuk prediksi online, atau tidak sama sekali.

Anda dapat menetapkan logging prediksi online untuk suatu model dengan menetapkan onlinePredictionLogging ke true (True di Python) di Resource model yang Anda gunakan saat membuat model dengan projects.models.create. Jika Anda menggunakan Google Cloud CLI untuk membuat model, sertakan flag --enable-logging saat menjalankan gcloud ai-platform models create.

Mendapatkan prediksi dari model yang belum di-deploy

Anda dapat meminta prediksi batch menggunakan model yang belum di-deploy ke layanan AI Platform Prediction. Daripada menentukan nama model atau versi, Anda dapat menggunakan URI lokasi Cloud Storage tempat model yang ingin Anda jalankan disimpan.

Karena model yang belum di-deploy tidak memiliki versi runtime default yang ditetapkan, Anda harus menetapkannya secara eksplisit dalam permintaan tugas.

Dengan cara lain, tugas prediksi batch yang menggunakan model yang belum di-deploy berperilaku seperti tugas batch lainnya.

Pengujian model

Anda dapat menggunakan layanan prediksi Prediksi AI Platform untuk menghosting model Anda yang sedang dalam produksi, tetapi Anda juga dapat menggunakannya untuk menguji model Anda. Secara tradisional, pengujian model adalah langkah sebelum bersiap men-deploy solusi machine learning. Tujuan dari lulus pengujian adalah untuk menguji model Anda di lingkungan yang sedekat mungkin dengan cara penggunaannya dalam situasi dunia nyata.

Perlu diingat bahwa Anda dapat memiliki beberapa versi model yang di-deploy secara serentak pada layanan. Artinya, Anda dapat memiliki beberapa revisi model sekaligus jika perlu. Selain itu, memudahkan Anda untuk men-deploy versi produksi dari model saat menguji revisi berikutnya. Seperti halnya banyaknya pengembangan aplikasi machine learning, ketersediaan data baru sering kali menjadi faktor pembatas. Anda harus mengembangkan strategi untuk membagi data yang Anda miliki dan mengumpulkan data baru untuk digunakan dalam pengujian.

Langkah selanjutnya