Peringkasan Faulty Input pada Sistem Data-Intensive Scalable Computing menggunakan Large Language Model

Jabalnur, Jabalnur (2024) Peringkasan Faulty Input pada Sistem Data-Intensive Scalable Computing menggunakan Large Language Model. Other thesis, Institut Teknologi Sepuluh Nopember.

[thumbnail of 5025201241-Undergraduate_Thesis.pdf] Text
5025201241-Undergraduate_Thesis.pdf - Accepted Version
Restricted to Repository staff only

Download (5MB) | Request a copy

Abstract

Framework pemrosesan data skala besar seperti Apache Spark telah memungkinkan developer untuk memproses petabyte data dengan aplikasi Data-Intensive Scalable Computing (DISC). Seperti halnya perangkat lunak lainnya, kesalahan dalam aplikasi DISC adalah hal yang umum. Kesalahan tersebut dapat timbul karena dataset input yang tidak bersih atau implementasi aplikasi, yang membuat developer harus mengidentifikasi akar penyebab di antara miliaran data input. Proses Data Provenance dan debugging otomatis memerlukan instrumentasi aplikasi DISC atau melakukan search-based fault isolation yang memakan banyak sumber daya. Penelitian ini bertujuan untuk menunjukkan potensi penggunaan language model untuk menghasilkan dataset input minimal namun dapat mereproduksi kesalahan yang sama seperti yang diamati pada data masukan skala besar aslinya. Kami membuat FISUM (Fault-inducing Inputs Summarization), yang melatih model dengan faulty input secara historis untuk menghasilkan baris salah baru yang minimal dan memiliki karakteristik yang sama dengan data aslinya.

FISUM menggunakan Titian, sebuah Data Provenance Engine yang dibangun untuk Apache Spark, untuk memulihkan input yang menyebabkan kesalahan. Data Provenance Engine merupakan sebuah sistem yang melacak asal-usul, sejarah, dan perjalanan data dalam sebuah sistem komputasi untuk memudahkan dalam mengidentifikasi sumber kesalahan dan memahami transformasi data dari sumber aslinya hingga ke bentuk akhirnya. Titian kemudian ditanamkan ke dalam aplikasi DISC yang memiliki keluaran bermasalah untuk menemukan Faulty Input, yaitu baris data pada dataset yang menjadi penyebab keluaran bermasalah pada aplikasi DISC. Sebuah lightweight language model, DistilGPT2 milik HuggingFace Faulty Input kemudian dilatih menggunakan dataset awal milik aplikasi DISC untuk membiasakan model tersebut dengan dataset aplikasi, kemudian model tersebut dilatih kembali dengan menggunakan Faulty Input dari Titian untuk memahami karakteristik dari Faulty Input tersebut. DistilGPT2 yang telah dilatih akhirnya dapat digunakan untuk menghasilkan Faulty Input baru yang memiliki ukuran yang jauh lebih kecil dari ukuran aslinya dengan tetap mempertahankan kemiripan karakteristik kesalahan pada Faulty Input awal dalam waktu yang cukup singkat.

Percobaan dilakukan dengan menguji 16 Benchmark Application yang merupakan aplikasi DISC dengan menghitung tingkat akurasi FISUM dalam menemukan Faulty Input pada dataset aplikasi, menghitung tingkat akurasi dari kesalahan yang dimiliki oleh Faulty Input baru dan menghitung Mean Square Error (MSE) dari karakteristik yang dimiliki oleh Faulty Input awal dan baru. FISUM secara efektif dapat menemukan Faulty Input pada aplikasi DISC dengan akurasi 100%, dapat merangkum Faulty Input dengan tingkat akurasi 99.4% dalam waktu kurang dari 0.082 detik per baris, dan dapat menyajikan kemiripan karakteristik dari Faulty Input awal dan baru dengan MSE sebesar 0.262.

========================================================================================================================

Large-scale data processing frameworks like Apache Spark have enabled developers to process petabytes of data with Data-Intensive Scalable Computing (DISC) applications. Like other software, errors in DISC applications are common. These errors can arise due to unclean input datasets or application implementation issues, requiring developers to identify the root cause among billions of input data. Data Provenance and automatic debugging processes require DISC application instrumentation or resource-intensive search-based fault isolation. This research aims to demonstrate the potential use of language models to generate minimal input datasets that can reproduce the same errors observed in the original large-scale input data. We created FISUM (Fault-inducing Inputs Summarization), which trains a model with historically faulty input to produce minimal new faulty rows with similar characteristics to the original data.

FISUM uses Titian, a Data Provenance Engine built for Apache Spark, to recover inputs that caused errors. A Data Provenance Engine is a system that tracks the origin, history, and journey of data in a computing system to help identify the source of errors and understand data transformations from the original source to its final form. Titian is then embedded into DISC applications with problematic outputs to find Faulty Input, i.e., data rows in the dataset that cause problematic outputs in the DISC application. A lightweight language model, HuggingFace’s DistilGPT2, is then trained using the initial DISC application dataset to familiarize the model with the application data. This model is further trained with Faulty Input from Titian to understand the characteristics of the Faulty Input. The trained DistilGPT2 model can then generate new Faulty Input that is much smaller in size compared to the original while retaining similar error characteristics to the initial Faulty Input within a short time.

Experiments were conducted by testing 16 Benchmark Applications, which are DISC applications, to measure FISUM’s accuracy in finding Faulty Input in the application dataset, the accuracy of errors in new Faulty Input, and the Mean Square Error (MSE) of characteristics between the initial and new Faulty Input. FISUM effectively identifies Faulty Input in DISC applications with 100% accuracy, summarizes Faulty Input with 99.4% accuracy in less than 0.082 seconds per row on average, and presents similarity in characteristics between the initial and new Faulty Input with an MSE of 0.262.

Item Type: Thesis (Other)
Uncontrolled Keywords: Debugging, Generative AI, Faults, Language Models, Debugging, Generative AI, Faults, Language Models
Subjects: Q Science > QA Mathematics > QA336 Artificial Intelligence
Q Science > QA Mathematics > QA76.754 Software architecture. Computer software
T Technology > T Technology (General) > T57.5 Data Processing
Divisions: Faculty of Information Technology > Informatics Engineering > 55201-(S1) Undergraduate Thesis
Depositing User: . Jabalnur
Date Deposited: 05 Aug 2024 01:39
Last Modified: 05 Aug 2024 01:39
URI: http://repository.its.ac.id/id/eprint/112314

Actions (login required)

View Item View Item