Apa itu Data Prep Kit?

Tangan seseorang yang menunjuk dengan pena ke monitor yang menunjukkan dasbor

Penyusun

Jobit Varughese

Technical Content Writer

IBM

Shalisha Witherspoon

Software Engineer

IBM Research

Apa itu Data Prep Kit?

Sekumpulan data yang andal dari sumber data berkualitas diperlukan untuk menghasilkan sistem kecerdasan buatan (AI) yang efisien dan aplikasi model bahasa besar (LLM). Persiapan data mencakup pembersihan, transformasi, dan proses canggih untuk mengatur data mentah tidak terstruktur ke dalam kumpulan data yang dapat digunakan. Proses ini sulit, karena masalah kualitas dapat disembunyikan dan menjadi jelas di akhir siklus pengembangan perangkat lunak, sehingga menimbulkan upaya debugging yang menantang dan penundaan dalam waktu proyek secara keseluruhan. Data berkualitas sangat penting untuk membangun aplikasi LLM dan AI yang bertanggung jawab, karena data yang tidak disiapkan dengan baik dapat menyebabkan output yang bias atau tidak aman. Ada juga risiko pelanggaran privasi jika Informasi Identifikasi Pribadi (PII) dimasukkan dalam data model tanpa pengakuan percabangannya secara tepat. Selain itu, persiapan data yang buruk dapat menyebabkan waktu dan sumber daya yang terbuang sia-sia. Landasan untuk mengembangkan AI generatif (gen AI) yang bertanggung jawab adalah mempersiapkan data Anda dengan benar untuk membangun produk Anda secara efisien.

Untuk menyediakan pengembang dan spesialis data science berbagai alat untuk mengatasi berbagai tantangan persiapan data, IBM membangun data prep kit (DPK) sumber terbuka. DPK adalah toolkit yang cocok bagi para praktisi untuk menyiapkan berbagai file data untuk aplikasi berbasis AI dan alur kerja LLM. Untuk mencapai tujuan ini, DPK menyediakan beberapa "transformasi" modular dalam lingkungan Python. Pengguna dapat menggunakan “transformasi” sebagai kelas terisolasi atau menggabungkannya dengan pipeline data untuk membersihkan, mentransformasi, dan mengatur data dari sumber data. DPK dibuat untuk skala serta menggunakan kumpulan data kolumnar seperti file Parquet dan waktu proses skalabilitas seperti Ray dan Spark. Kapasitas ini membantu persiapan data dilakukan pada satu mesin atau klaster besar untuk mempercepat pemrosesan data. DPK telah berhasil digunakan untuk menyiapkan data untuk berbagai model IBM® Granite, dengan menunjukkan keefektifannya dalam contoh penggunaan dunia nyata.

Fitur utama dan arsitektur DPK

DPK dibangun dengan tiga komponen arsitektur utama:

Akses data, transformasi, dan waktu proses.

Akses data: Komponen ini memungkinkan cara yang seragam untuk membaca dan menulis data dari berbagai lokasi penyimpanan (misalnya, sistem file lokal, penyimpanan yang kompatibel dengan S3). Akses data ini mendukung melakukan titik pemeriksaan, sehingga jika pekerjaan perlu dimulai ulang, pekerjaan itu hanya akan memproses file yang belum selesai, sehingga menghemat waktu dan sumber daya.

Transformasi: Modul ini menyediakan fungsi spesifik yang akan diterapkan pada data, termasuk konversi data, deduplikasi, dan deteksi informasi identifikasi pribadi (PII). DPK memiliki pustaka transformasi yang sedang berkembang sebagai rangkaian transformasi bawaan. Kerangka kerja ini juga memungkinkan kontributor (yang tidak terlalu familier dengan kerangka kerja komputasi terdistribusi (Ray atau Spark)) untuk membuat dan membangun transformasi kustom mereka sendiri. Setiap transformasi bertindak sebagai unit kerja mandiri dan dapat dikonfigurasi, dapat disusun menjadi pipeline, serta menyediakan persiapan data skala LLM.

Waktu proses: Waktu proses adalah lingkungan eksekusi spesifik untuk transformasi yang menetapkan pekerjaan dan melakukan pemantauan. DPK dapat berjalan di berbagai waktu proses termasuk Python murni (dengan multiprocessing), Ray dan Spark. Kemampuan ini memberi pengguna fleksibilitas untuk menskalakan Data Preparation mereka dari satu laptop ke klaster besar dengan ribuan node. Waktu proses mengatur penugasan pekerjaan kepada para pekerja. Waktu proses juga memungkinkan transformasi untuk menggunakan fungsi-fungsi spesifik seperti kelas bersama atau toko objek. Arsitektur waktu proses keseluruhan terdiri dari peluncur transformasi (titik masuk), orkestrator transformasi (komponen yang menjalankan alur kerja dan menciptakan pekerja) serta prosesor file (komponen yang memproses setiap file individu). Orkestrator akan menggunakan waktu proses untuk membuat komponen bersama dan akses data yang akan memungkinkannya menemukan file untuk bekerja dengannya. Setiap prosesor file akan membaca, memproses, kemudian menulis kembali hasil dan metadata dengan menggunakan panggilan antarmuka pemrograman aplikasi (API).

Otomatisasi dan skalabilitas

Kemampuan otomatisasi dan skalabilitas DPK bersifat inovatif, mampu mengakomodasi beberapa waktu proses seperti Local, Ray, dan Spark.

Dengan fungsi-fungsi barunya, DPK berdiri terpisah dari proyek-proyek persiapan data yang sudah mapan seperti BigCode, DataTrove, dan Dolma. Pembeda utama adalah jumlah contoh penggunaan yang didukungnya (prapelatihan, penyempurnaan, dan retrieval-augmented generation (RAG)) serta dimensi data yang dapat didukungnya. Tidak seperti toolkit lain yang mendukung modalitas data tunggal, DPK mendukung data bahasa alami dan data kode. DPK dapat diperluas, yang berarti mudah untuk menambahkan sejumlah modul yang dapat diskalakan.

Untuk otomatisasi, DPK memiliki antarmuka command line interface (CLI) dan opsi no-code dengan menggunakan Kubeflow Pipelines (KFP), platform untuk menerapkan alur kerja machine learning (ML) yang dapat diskalakan di Kubernetes. Fungsi ini memperluas audiens dan memungkinkan penerapan yang lebih luas untuk ilmuwan data dan pengembang aplikasi AI.

Fitur integrasi KFP adalah: 

Skalabilitas: KFP memungkinkan untuk menskalakan kumpulan data besar dan alur kerja dengan kompleksitas tinggi karena Kubernetes, yang merupakan platform komputasi sesuai permintaan yang dapat diskalakan.

Modularitas: Setiap alur kerja dibagi menjadi komponen yang dapat digunakan kembali, yang dengan mudah mengimplementasikan alur kerja yang kompleks dan debugging tambahan.

Reproduksibilitas: Masing-masing riwayat eksekusi dilacak sehingga dapat dilakukan reproduksi eksperimen.

Visualisasi: Ada antarmuka untuk memantau jalannya pipeline serta memvisualisasikan hasil dan memecahkan masalah. 

Skalabilitas DPK didukung oleh studi eksperimental. Misalnya, toolkit mengambil pengurangan proporsional dalam waktu eksekusi untuk transformasi karena skala node pemrosesan meningkat. Skalabilitas ini menskalakan secara seragam di seluruh beban kerja, mulai dari membuat anotasi data sederhana hingga menjalankan beban kerja yang lebih kompleks seperti identifikasi bahasa yang menimbulkan biaya komputasi tambahan.

Mengatur prapemrosesan data untuk pelatihan AI dengan DPK

Ketika kemampuan sistem AI meningkat, menjadi lebih integral dalam proses pengambilan keputusan, panggilan untuk membangun tata kelola yang memungkinkan AI yang etis, aman, dan patuh akan menjadi sangat penting. Namun, penting untuk digarisbawahi bahwa tata kelola tidak dimulai dengan model; melainkan dimulai dengan data.

Apa yang membuat DPK sangat berharga adalah cara DPK berkontribusi langsung terhadap tujuan tata kelola AI:

Keamanan: "Transformasi" DPK mengidentifikasi dan menghilangkan konten beracun atau berbahaya dengan deteksi HAP (kebencian, penyalahgunaan, dan kata-kata kotor).

Keadilan: "Transformasi" DPK menghilangkan bias melalui deduplikasi dan penyaringan data berkualitas buruk atau tidak relevan. 

Kepatuhan: "Transformasi" DPK menyimpulkan dan menyunting PII sesuai dengan peraturan terkait privasi seperti GDPR (Peraturan Perlindungan Data Umum) dan HIPAA (Undang-Undang Portabilitas dan Akuntabilitas Asuransi Kesehatan).

Transparansi: "Transformasi" DPK menambahkan hash dokumen dan skor kualitas untuk meningkatkan ketertelusuran dan kemampuan audit.

Apakah Anda bekerja di bidang kesehatan, keuangan, pemerintah, atau bidang apa pun yang sangat mengutamakan kepercayaan, DPK membantu menciptakan sistem AI di atas dasar data yang bertanggung jawab.

Contoh penggunaan dunia nyata: ringkasan dokumen hukum

Skenario: Sebuah lembaga pemerintah sedang membangun LLM khusus domain untuk membantu meringkas dokumen hukum. Kumpulan data berisi catatan publik, pengajuan hukum, dan dokumen kebijakan yang diambil dari berbagai sumber.

Tantangan tata kelola:

  • Beberapa sumber tidak diverifikasi atau bias secara politik.

  • Kumpulan data ini mencakup berbagai bahasa. 

  • Kemungkinan mengandung bahasa yang beracun atau provokatif.

  • PII seperti nama dan alamat harus dihapus.

  • Pengajuan duplikat dan teks boilerplate biasa terjadi.

  • Kualitas dokumen sangat bervariasi. 

Solusi: Dengan menerapkan resep tata kelola yang memanfaatkan DPK, agensi dapat memastikan kumpulan data tersebut adalah:

  • Bersumber secara etis

  • Sesuai dengan kebijakan privasi

  • Berkualitas tinggi dan beragam 

  • Siap untuk pelatihan LLM yang bertanggung jawab

Resep untuk pipeline tata kelola

Jika Anda perlu memperbaiki tantangan yang disajikan dalam contoh penggunaan sebelumnya, atau skenario yang ditetapkan untuk mengurangi risiko kualitas, keamanan, dan kepatuhan data, Anda memerlukan pipeline yang secara mendasar menegakkan kebijakan tata kelola. DPK memungkinkan pipeline ini dengan menyediakan serangkaian transformasi modular yang dapat Anda kaitkan bersama untuk membersihkan, menyaring, dan memperkaya kumpulan data.

Tabel ini menyoroti pipeline tata kelola 6 langkah sederhana yang memenuhi persyaratan utama untuk tata kelola AI. Setiap langkah memiliki risiko atau masalah kualitas terkait untuk memastikan bahwa kumpulan data akhir bersumber secara etis, sesuai privasi, dan siap untuk pengembangan AI yang bertanggung jawab.

Pipeline tata kelola AI

Untuk membangun pipeline tata kelola Anda sendiri:

  1. Kloning repositori: https://github.com/data-prep-kit/data-prep-kit

  2. Instal transformasi: instal pip 'data-prep-toolkit-transform [semua] '

  3. Konfigurasikan pipeline Anda dengan menggunakan KFP atau Python dengan dpk_transform_chain.

  4. Jalankan pipeline dengan menggunakan CLI atau integrasikan ke platform data Anda dengan menggunakan Ray atau Spark.

Transformasi DPK yang tersedia

DPK berisi susunan transformasi bawaan yang dikategorikan untuk persyaratan persiapan data yang berbeda.

Transformasi penyerapan data: Transformasi ini mengubah data dari satu atau lebih format menjadi format standar. Misalnya, file kode terkompresi ke Parquet, HTML/PDF ke Parquet.

Transformasi universal (kode dan bahasa): Transformasi ini dapat digunakan untuk data kode maupun data bahasa alami . Misalnya, deduplikasi yang tepat dan deduplikasi fuzzy untuk menghapus catatan duplikat dan mengubah ukuran file sebagaimana mestinya.

Transformasi khusus bahasa: Transformasi ini untuk data bahasa alami. Transformasi semacam ini termasuk identifikasi bahasa yang mengidentifikasi bahasa teks, anotator PII atau redaktor yang mengidentifikasi dan menghapus informasi identifikasi pribadi.

Transformasi khusus kode: Transformasi semacam ini hanya untuk data kode. Transformasi ini termasuk anotasi bahasa pemrograman, anotasi kualitas kode dan pembersih header untuk menargetkan lisensi dan informasi hak cipta. Kerangka kerja ini juga berisi transformasi untuk aplikasi RAG, seperti pemotongan dokumen dan enkoder teks yang membuat penyematan vektor untuk teks. Transformasi ini adalah aspek kunci untuk menyiapkan data yang akan digunakan dalam basis data vektor. 

DPK sangat penting bagi siapa saja yang membuat AI, terutama aplikasi LLM. Toolkit ini adalah kerangka kerja yang bersih, dapat diskalakan, dan distandardisasi yang menyederhanakan proses persiapan data yang kompleks dan terkadang melelahkan. Dengan seperangkat "transformasi" modular lengkap untuk mendukung para pengembang dan ilmuwan data, transformasi ini dapat membersihkan dan menyusun data mentah serta membangun aspek penting tata kelola AI ke dalam alur kerja data mereka. Toolkit ini memungkinkan mereka untuk memastikan kualitas dan kepercayaan data dasar yang digunakan untuk pelatihan dan akuntabilitas seputar etika dan strategi privasi. DPK pada akhirnya meningkatkan sistem AI dengan memastikan tanggung jawab dan kepercayaan bagi pengembang, sehingga terwujud inovasi model sekaligus tertanam kuat pada basis data yang kuat.