<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Joanna Cheng | UCSC OSPO</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/joanna-cheng/</link><atom:link href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/joanna-cheng/index.xml" rel="self" type="application/rss+xml"/><description>Joanna Cheng</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><image><url>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/joanna-cheng/avatar_huf84f8ec3cd18b99cc6f6071e32613917_1448134_270x270_fill_q75_lanczos_center.jpg</url><title>Joanna Cheng</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/joanna-cheng/</link></image><item><title>Final Blog: ML in Detecting and Addressing System Drift</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240829-joanna/</link><pubDate>Thu, 29 Aug 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240829-joanna/</guid><description>&lt;p>Hello! I&amp;rsquo;m Joanna! I have been contributing to the &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/anl/last">ML in Detecting and Addressing System Drift&lt;/a> project under the mentorship of &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/ray-andrew-sinurat/">Ray Andrew Sinurat&lt;/a> and &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/sandeep-madireddy/">Sandeep Madireddy&lt;/a>. My project aims to design a pipeline to evaluate drift detection algorithms on system traces.&lt;/p>
&lt;h1 id="methodology">Methodology&lt;/h1>
&lt;p>Here is some background on my project: Model drift, or the degradation of model performance, is typically caused by data drift, which is a shift in the input distribution, and concept drift, which is a change in the relationship between input and output. This project focuses specifically on data drift, aiming to design a pipeline for evaluating drift detection algorithms on system traces. The goal is to benchmark different drift detection algorithms and have a better understanding of the features of system traces. The project is divided into two main parts: dataset construction and algorithm benchmarking.&lt;/p>
&lt;h3 id="part-1-dataset-construction">PART 1: Dataset Construction&lt;/h3>
&lt;p>To benchmark drift detection algorithms in system data, it&amp;rsquo;s important to recognize that system trace data is inherently different from other data types, often containing more noise, which can complicate detection efforts. Therefore, constructing a labeled dataset specific to system data is crucial. In our case, we utilize the Tencent I/O block trace data as the dataset. This raw data was processed to extract timestamps along with various features such as IOPS, write size ratio, read write ratio, and etc., which were then used to create a data drift dataset.&lt;/p>
&lt;p>I constructed this dataset by labeling segments of the trace data as either exhibiting drift or not. To identify where the drift occurs and to help construct the dataset, I employed several offline drift detection algorithms, including Kolmogorov-Smirnov, Cramer-von Mises, KL-Divergence, and Jensen-Shannon Distance.&lt;/p>
&lt;p>To enhance the accuracy of the drift detection, especially in the presence of noise common in trace data, I applied additional preprocessing steps such as Fourier transform and moving average. These techniques help to smooth the data, making it easier to detect true drift signals. Finally, a voting strategy was used in combination with post-processing methods to build and refine the final datasets.&lt;/p>
&lt;p>The first figure below illustrates the segments of IOPS where drift has been detected. The second figure shows the segments of data where no drift occurs.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Drift Data" srcset="
/report/osre24/anl/last/20240829-joanna/drift_hueed6613a6bb326df79ee6a6125caea30_218453_ed8c1284ad85bf6b4049e6c666e015b1.webp 400w,
/report/osre24/anl/last/20240829-joanna/drift_hueed6613a6bb326df79ee6a6125caea30_218453_8be8f041f7c86965792bf781e2489836.webp 760w,
/report/osre24/anl/last/20240829-joanna/drift_hueed6613a6bb326df79ee6a6125caea30_218453_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240829-joanna/drift_hueed6613a6bb326df79ee6a6125caea30_218453_ed8c1284ad85bf6b4049e6c666e015b1.webp"
width="715"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Non-Drift Data" srcset="
/report/osre24/anl/last/20240829-joanna/nondrift_hu71453c92de8e4df0dd4aefaf6b160e99_327249_ac2898dbe6747b2a53de6ee136def2e4.webp 400w,
/report/osre24/anl/last/20240829-joanna/nondrift_hu71453c92de8e4df0dd4aefaf6b160e99_327249_046f624ccca1c3537b820060909a7bd2.webp 760w,
/report/osre24/anl/last/20240829-joanna/nondrift_hu71453c92de8e4df0dd4aefaf6b160e99_327249_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240829-joanna/nondrift_hu71453c92de8e4df0dd4aefaf6b160e99_327249_ac2898dbe6747b2a53de6ee136def2e4.webp"
width="734"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="part-2-benchmark-drift-detection-algorithms">PART 2: Benchmark Drift Detection Algorithms&lt;/h3>
&lt;p>This part focuses on benchmarking the Jensen-Shannon and Wasserstein drift detection methods using system trace data. The evaluation metrics are categorized into three main areas:&lt;/p>
&lt;ol>
&lt;li>Detection Accuracy Metrics&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>True Positive Rate (Recall)&lt;/li>
&lt;li>True Negative Rate (Specificity)&lt;/li>
&lt;li>Precision&lt;/li>
&lt;li>F1-Score&lt;/li>
&lt;/ul>
&lt;ol start="2">
&lt;li>Detection Overhead Metrics&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>Time Taken: The computational time required to detect drifts, critical&lt;/li>
&lt;/ul>
&lt;ol start="3">
&lt;li>Stability Metrics&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>False Positive Rate&lt;/li>
&lt;li>False Negative Rate&lt;/li>
&lt;/ul>
&lt;p>(Additional) Comparative Analysis:&lt;/p>
&lt;ul>
&lt;li>Accuracy Across Different Features: How well the detection algorithms perform when applied to various features within the system trace data.&lt;/li>
&lt;/ul>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Jensen-Shannon Distance Results" srcset="
/report/osre24/anl/last/20240829-joanna/js-result_hufb49199342183a3232a30a04b1d40959_183762_a7d269c0f217c0b79c79d4f011f54fd9.webp 400w,
/report/osre24/anl/last/20240829-joanna/js-result_hufb49199342183a3232a30a04b1d40959_183762_06f6c204e8a4457868c4b2bc43fb7c28.webp 760w,
/report/osre24/anl/last/20240829-joanna/js-result_hufb49199342183a3232a30a04b1d40959_183762_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240829-joanna/js-result_hufb49199342183a3232a30a04b1d40959_183762_a7d269c0f217c0b79c79d4f011f54fd9.webp"
width="760"
height="607"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Wasserstein Distance Results" srcset="
/report/osre24/anl/last/20240829-joanna/wd-result_hufb49199342183a3232a30a04b1d40959_190137_36d4aa25ff595624ac289c635f82a085.webp 400w,
/report/osre24/anl/last/20240829-joanna/wd-result_hufb49199342183a3232a30a04b1d40959_190137_efd489c01a8f75e3d059b819fc51eb25.webp 760w,
/report/osre24/anl/last/20240829-joanna/wd-result_hufb49199342183a3232a30a04b1d40959_190137_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240829-joanna/wd-result_hufb49199342183a3232a30a04b1d40959_190137_36d4aa25ff595624ac289c635f82a085.webp"
width="760"
height="607"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h1 id="discussion">Discussion&lt;/h1>
&lt;p>The results clearly demonstrate that the Jensen-Shannon distance method outperforms the Wasserstein distance method in detecting drift. Additionally, the write size ratio proves to be a more effective feature for representing the variations in the data, offering a more nuanced understanding of the underlying changes.&lt;/p>
&lt;h1 id="conclusion-and-next-steps">Conclusion and Next Steps&lt;/h1>
&lt;p>In conclusion, this project establishes a pipeline that encompasses data labeling, data processing, and the benchmarking of drift detection algorithms. This just serves as the first step in detecting drift in system data.&lt;/p>
&lt;p>There is significant potential for further improvement. Future work should focus on enhancing dataset construction by incorporating large language models (LLMs) and other advanced techniques to further clean and refine the datasets. Additionally, the evaluation of drift detection methods should be expanded beyond the current benchmarks, which only include two statistical methods. Incorporating additional statistical methods, as well as machine learning (ML) and deep learning (DL) approaches, could provide a more comprehensive analysis. Furthermore, exploring a broader range of evaluation metrics will ensure a more robust and accurate assessment of drift detection performance. These steps will help to advance the accuracy and reliability of drift detection in system trace data.&lt;/p>
&lt;h1 id="deliverables">Deliverables&lt;/h1>
&lt;p>The following are the deliverables of this project:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.chameleoncloud.org/experiment/share/384ee2bd-853c-427b-877b-3af2993fb502" target="_blank" rel="noopener">Trovi Artifact&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/JoannaCCJH/drift-detection-OSRE24" target="_blank" rel="noopener">Github Repository&lt;/a>: This repository contains the code for generating drift datasets with labels and notebooks with benchmarking results&lt;/li>
&lt;/ul></description></item><item><title>Midterm Blog: ML in Detecting and Addressing System Drift</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240721-joanna/</link><pubDate>Sun, 21 Jul 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240721-joanna/</guid><description>&lt;p>Hello! I&amp;rsquo;m Joanna! Over the past month, I have been contributing to the &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/anl/last">ML in Detecting and Addressing System Drift&lt;/a> project under the mentorship of &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/ray-andrew-sinurat/">Ray Andrew Sinurat&lt;/a> and &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/sandeep-madireddy/">Sandeep Madireddy&lt;/a>. My project aims to design a pipeline to evaluate drift detection algorithms on system traces. The goal is to characterize different drifts, understand how they affect model performance, and evaluate the performance of state-of-the-art (SOTA) drift detection algorithms.&lt;/p>
&lt;h1 id="progress">Progress&lt;/h1>
&lt;p>Here is some background on my project: Model drift, or the degradation of model performance, is typically caused by data drift, which is a shift in the input distribution, and concept drift, which is a change in the relationship between input and output. The project aims to detect both data drifts and concept drifts, analyze these drifts, and try to improve the model performance in computer system.&lt;/p>
&lt;p>Over the past month, I’ve primarily been constructing a data drift dataset from the Tencent I/O block trace, which includes both drift and non-drift data. By combining offline drift detection algorithms such as Maximum Mean Discrepancy, Cramér-von Mises, and Kolmogorov-Smirnov, I am developing a dataset that contains segments with and without drifts for features such as IOPS (Input/Output Operations Per Second), read/write size ratio, write size, and other relevant performance metrics. The diagrams below illustrate the data segments identified with and without drifts, respectively.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Drift Data" srcset="
/report/osre24/anl/last/20240721-joanna/drift_hucf4bc0bd843fb60be6a646f8116e435c_702790_3e192a352fe3c303df3195f4c92fe970.webp 400w,
/report/osre24/anl/last/20240721-joanna/drift_hucf4bc0bd843fb60be6a646f8116e435c_702790_174dedff6f5c0b72b3d10b82cb9d1a86.webp 760w,
/report/osre24/anl/last/20240721-joanna/drift_hucf4bc0bd843fb60be6a646f8116e435c_702790_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240721-joanna/drift_hucf4bc0bd843fb60be6a646f8116e435c_702790_3e192a352fe3c303df3195f4c92fe970.webp"
width="760"
height="752"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Non-Drift Data" srcset="
/report/osre24/anl/last/20240721-joanna/nondrift_hue8c599cc81a10cc02482d676af5d2cf8_455606_3d133279bb8e32779c8b94396ec0ef5d.webp 400w,
/report/osre24/anl/last/20240721-joanna/nondrift_hue8c599cc81a10cc02482d676af5d2cf8_455606_c450f1394af9661bb2d86f0232d340d1.webp 760w,
/report/osre24/anl/last/20240721-joanna/nondrift_hue8c599cc81a10cc02482d676af5d2cf8_455606_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240721-joanna/nondrift_hue8c599cc81a10cc02482d676af5d2cf8_455606_3d133279bb8e32779c8b94396ec0ef5d.webp"
width="760"
height="757"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>In addition to constructing the datasets, I have begun evaluating some online drift detection algorithms and designing metrics to assess their performance. I have tested the performance of online drift detection algorithms such as Online Maximum Mean Discrepancy and Online Cramér-von Mises under various settings, including different window lengths and sensitivity levels. The following diagrams illustrate the drift points detected for the IOPS feature under these different settings.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Evaluation" srcset="
/report/osre24/anl/last/20240721-joanna/evaluation_hu21317d2d7888d01b0cbee9e7a13940af_724895_51a49130183b2dfa7ad977d297aa0f3b.webp 400w,
/report/osre24/anl/last/20240721-joanna/evaluation_hu21317d2d7888d01b0cbee9e7a13940af_724895_a3c8bf9bdc160fc4323a73bc0ac837b7.webp 760w,
/report/osre24/anl/last/20240721-joanna/evaluation_hu21317d2d7888d01b0cbee9e7a13940af_724895_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240721-joanna/evaluation_hu21317d2d7888d01b0cbee9e7a13940af_724895_51a49130183b2dfa7ad977d297aa0f3b.webp"
width="760"
height="584"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h1 id="next-steps">Next Steps&lt;/h1>
&lt;p>Here are my plans for the next month:&lt;/p>
&lt;ul>
&lt;li>Complete the experiments on data drift and generate improved visualizations to summarize the performance of these online drift detection algorithms, including their overhead and accuracy over time.&lt;/li>
&lt;li>Characterize drifts by identifying the types of drifts that lead to model performance degradation&lt;/li>
&lt;li>Evaluate drift detection algorithms in the context of concept drifts.&lt;/li>
&lt;/ul>
&lt;p>Stay tuned for my future updates on this project!&lt;/p></description></item><item><title>LAST: ML in Detecting and Addressing System Drift</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240611-joanna/</link><pubDate>Tue, 11 Jun 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240611-joanna/</guid><description>&lt;p>Hello! I am Joanna, currently an undergraduate student studying Computer Science and Applied Mathematics and Statistics at Johns Hopkins University. I will be working on &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/anl/last">ML in Detecting and Addressing System Drift&lt;/a>, mentoring by &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/ray-andrew-sinurat/">Ray Andrew Sinurat&lt;/a> and &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/sandeep-madireddy/">Sandeep Madireddy&lt;/a> over this summer. Here is my &lt;a href="https://drive.google.com/file/d/10RJhuOBMjIKQSg1PklL3ukDlBHUjdt2i/view?usp=sharing" target="_blank" rel="noopener">proposal&lt;/a> for this project.&lt;/p>
&lt;p>This project aims to build a data analysis pipeline to analyze various datasets, both system and non-system, that have shown notable changes over time. The goal is to understand the characteristics of these datasets(specifically drifts), evaluate the efficacy of Aging Detection Algorithms, and identify their limitations in computer system tasks.&lt;/p>
&lt;p>I am excited to meet everyone and contribute to this project!&lt;/p></description></item></channel></rss>