<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>William Nixon | UCSC OSPO</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/william-nixon/</link><atom:link href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/william-nixon/index.xml" rel="self" type="application/rss+xml"/><description>William Nixon</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><image><url>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/william-nixon/avatar_hu4026e8c5e01655b242b46336f5a042f4_409166_270x270_fill_q75_lanczos_center.jpg</url><title>William Nixon</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/william-nixon/</link></image><item><title>Final Blogpost: Drift Management Strategies Benchmark</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240827-williamn/</link><pubDate>Sat, 24 Aug 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240827-williamn/</guid><description>&lt;h1 id="background">Background&lt;/h1>
&lt;p>Hello there! I&amp;rsquo;m William and this is my final blog for my proposal &amp;ldquo;Developing A Comprehensive Pipeline to Benchmark Drift Management Approaches&amp;rdquo; 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> under the &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/anl/last">LAST&lt;/a> project.&lt;/p>
&lt;p>If you&amp;rsquo;re not familiar with it, this project aims to address the issue of model aging, where machine learning (ML) models experience a decline in effectiveness over time due to environmental changes, known as drift. My goal is to design an extensible pipeline that evaluates and benchmarks the robustness of state-of-the-art algorithms in addressing these drifts.&lt;/p>
&lt;h1 id="deliverables">Deliverables&lt;/h1>
&lt;p>You can find my list of deliverables here:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://docs.google.com/document/d/14tSmBndX1RBv_d3luRcqFDmbuMk6XsGOB8G7tzTcHnE/edit" target="_blank" rel="noopener">Final report&lt;/a>, this blog is a summarized version of my final report, so do take a look if you&amp;rsquo;d like to know more!&lt;/li>
&lt;li>&lt;a href="https://github.com/williamnixon20/osre-drift" target="_blank" rel="noopener">Github repository&lt;/a>, contains code as well as the raw experiment results.&lt;/li>
&lt;li>&lt;a href="https://www.chameleoncloud.org/experiment/share/e3ae5f07-4340-48c0-94e8-ba99ee2bf691" target="_blank" rel="noopener">Trovi artifact&lt;/a>&lt;/li>
&lt;/ul>
&lt;h1 id="evaluation">Evaluation&lt;/h1>
&lt;p>Here are some of the graphs that show the performance of every algorithm on the created datasets. For more graphs and figures, you can check out my final report:&lt;/p>
&lt;ul>
&lt;li>CIRCLE: AUE demonstrates stability, maintaining a high accuracy even as the data drifts, which may be due to its ensemble nature. It is even more stable than baseline retraining algorithms. Matchmaker is also able to recover quickly upon experiencing drift, which maybe again due to its ranking the most high performing models to do inference, recovering faster than RetrainWin. On the other hand, DriftSurf experiences several random drops in accuracy, indicating that it can be somewhat unstable.
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Circle" srcset="
/report/osre24/anl/last/20240827-williamn/circle_hubbc4ef0a01f86beba0bcc28be93ed90c_288185_1f197cacfff5e655fb7250e99000891a.webp 400w,
/report/osre24/anl/last/20240827-williamn/circle_hubbc4ef0a01f86beba0bcc28be93ed90c_288185_f3747fe006d5ab30df409c38f9f518fd.webp 760w,
/report/osre24/anl/last/20240827-williamn/circle_hubbc4ef0a01f86beba0bcc28be93ed90c_288185_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240827-williamn/circle_hubbc4ef0a01f86beba0bcc28be93ed90c_288185_1f197cacfff5e655fb7250e99000891a.webp"
width="760"
height="481"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/li>
&lt;li>SINE: Similar to CIRCLE, AUE demonstrates stability throughout the dataset, maintaining a high accuracy even as the data drifts. Matchmaker however was struggling to adapt as fast when encountering such a sudden drift, as it needed some time/windows to recover from the drop. Driftsurf&amp;rsquo;s performance was notably better than baseline, as unlike them, it was able to recover successfully fairly quickly upon experiencing drift.
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Sine" srcset="
/report/osre24/anl/last/20240827-williamn/sine_huc62276117407137b51fc43d9c9e20c37_686961_16a2edab20232bdbb4c23e0fa37398dd.webp 400w,
/report/osre24/anl/last/20240827-williamn/sine_huc62276117407137b51fc43d9c9e20c37_686961_cc1b5a8e845047c50f95da38dbf5a262.webp 760w,
/report/osre24/anl/last/20240827-williamn/sine_huc62276117407137b51fc43d9c9e20c37_686961_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240827-williamn/sine_huc62276117407137b51fc43d9c9e20c37_686961_16a2edab20232bdbb4c23e0fa37398dd.webp"
width="760"
height="500"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/li>
&lt;li>CovCon: In CovCon, Matchmaker was able to achieve the best accuracy, as it is able to select the models most relevant to each incoming batch (model trained on the most similar features), performing comparably to retrain window. Most of the other algorithms suffered in this dataset, particularly AUE whose performance is now becoming comparable to the rest of the algorithms and baseline.
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="CovCon" srcset="
/report/osre24/anl/last/20240827-williamn/covcon_hua1f3c6557283d861ec9482d15a04c8d4_668622_658cedab5102506c34376dd9e6fe748e.webp 400w,
/report/osre24/anl/last/20240827-williamn/covcon_hua1f3c6557283d861ec9482d15a04c8d4_668622_9bd5024236a880f53d616f4ed4a7294f.webp 760w,
/report/osre24/anl/last/20240827-williamn/covcon_hua1f3c6557283d861ec9482d15a04c8d4_668622_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240827-williamn/covcon_hua1f3c6557283d861ec9482d15a04c8d4_668622_658cedab5102506c34376dd9e6fe748e.webp"
width="760"
height="502"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/li>
&lt;li>IOAdmission: Performance on this dataset was led by AUE, which was able to maintain impressive stability amongst all of the algorithms used. This is followed closely by Matchmaker. The other algorithms used undergo a lot of fluctuations in accuracy.
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="IOAdmission" srcset="
/report/osre24/anl/last/20240827-williamn/ioadm_hubb89d2e4deb0623f90d37221d48664dd_505735_6022f696d548c8dea5e78a1144b71820.webp 400w,
/report/osre24/anl/last/20240827-williamn/ioadm_hubb89d2e4deb0623f90d37221d48664dd_505735_b58b4d4753cc231ef4ada6a72fbb773a.webp 760w,
/report/osre24/anl/last/20240827-williamn/ioadm_hubb89d2e4deb0623f90d37221d48664dd_505735_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240827-williamn/ioadm_hubb89d2e4deb0623f90d37221d48664dd_505735_6022f696d548c8dea5e78a1144b71820.webp"
width="760"
height="500"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/li>
&lt;/ul>
&lt;h1 id="findings--discussion">Findings / Discussion&lt;/h1>
&lt;p>From the experiments conducted, the findings are as follows:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Matchmaker was able to perform particularly well in the CovCon dataset. This maybe due to its ability to choose the most relevant trained model from its ensemble during inference time. Its training time is also the best compared to other algorithms, especially considering that it keeps data for training an additional random forest model for ranking the models. However, its inference time was the longest amongst all other algorithms. This may be due to the fact that on inference time, one needs to traverse all of the leaf nodes of the random forest used to rank it (computing covariate shift).&lt;/p>
&lt;/li>
&lt;li>
&lt;p>AUE was able to perform particularly well in the CIRCLE and IOAdmission dataset. However, it is quite competitive on other datasets too. It&amp;rsquo;s weighting function which incentives highly relevant models and eviction of less relevant ones may be key. Its inference time is decent compared to other algorithms, being slower than most baselines and Driftsurf, but faster than Matchmaker. However, its training time took the longest amongst other competitors, as it has an expensive weighting function to weight, evict, or retrain models on every retraining.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>DriftSurf was performing very similarly to the RetrainWindow baseline, in almost all datasets, except for IO Admission and SINE where it did better. This may be because of the fact that it maintains only at most 2 models every iteration, and as such, its performance was not competitive against the mult-models approach used in Matchmaker and AUE. On the plus side, its inference time is comparable to the baseline single model, having almost no inference overhead compared to most of the competitors out there. Another plausible explanation for the lack of performance is the lack of tuning, such as the number of windows retained, the length of its reactive period, and its reactivity sensitivity threshold. A better performance could be achieved if these parameters were tuned further.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h1 id="next-steps">Next Steps&lt;/h1>
&lt;p>These are some of the potential extensions for this project:&lt;/p>
&lt;ol>
&lt;li>Optimize Matchmaker&amp;rsquo;s inference time improving Matchmaker&amp;rsquo;s efficiency, especially in covariate shift ranking, can reduce inference time. Simplifying the random forest traversal could make Matchmaker faster without impacting performance.&lt;/li>
&lt;li>Extending the work to include other frameworks like TensorFlow or PyTorch, as it can now only support a scikit-learn base model.&lt;/li>
&lt;/ol>
&lt;p>Thank you for reading!&lt;/p></description></item><item><title>Midterm Blogpost: Drift Management Strategies Benchmark</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240718-williamn/</link><pubDate>Thu, 18 Jul 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240718-williamn/</guid><description>&lt;p>Hello there! I&amp;rsquo;m William and I&amp;rsquo;m thrilled to share the progress on my project, &amp;ldquo;Developing A Comprehensive Pipeline to Benchmark Drift Management Approaches&amp;rdquo; 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> under the &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/anl/last">LAST&lt;/a> project.&lt;/p>
&lt;h1 id="project-overview">Project Overview&lt;/h1>
&lt;p>If you&amp;rsquo;re not familiar with it, this project aims to address the issue of model aging, where machine learning (ML) models experience a decline in effectiveness over time due to environmental changes, known as drift. My goal is to design an extensible pipeline that evaluates and benchmarks the robustness of state-of-the-art algorithms in addressing these drifts.&lt;/p>
&lt;h1 id="progress">Progress&lt;/h1>
&lt;p>So far, I&amp;rsquo;ve generated various synthetic datasets, which include:&lt;/p>
&lt;ul>
&lt;li>CIRCLE: This dataset contains two features x1, x2 drawn uniformly from the interval [0, 1]. Each data point is labeled as per the condition (x1 − c1)^2 + (x2 − c2)^2 &amp;lt;= r where the center (c1, c2) and radius r of the circular decision boundary changes gradually over a period of time introducing (gradual) concept drift.
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Circle" srcset="
/report/osre24/anl/last/20240718-williamn/circlestream_hued24f09167f45c96aadcbb5d8e5dff3c_90965_f33edae3375218d9e5b25a95221be6a3.webp 400w,
/report/osre24/anl/last/20240718-williamn/circlestream_hued24f09167f45c96aadcbb5d8e5dff3c_90965_8c85ac190035be7be37c64958f68df3c.webp 760w,
/report/osre24/anl/last/20240718-williamn/circlestream_hued24f09167f45c96aadcbb5d8e5dff3c_90965_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240718-williamn/circlestream_hued24f09167f45c96aadcbb5d8e5dff3c_90965_f33edae3375218d9e5b25a95221be6a3.webp"
width="760"
height="315"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/li>
&lt;li>COVCON: This 2-dimensional dataset has covariate shift and concept drift. The decision boundary at each point is given by α ∗ sin(πx1) &amp;gt; x2. We use 10000 points (100 batches, 1000 points per batch). Covariate shift is introduced by changing the location of x1 and x2 (for batch t x1 and x2). Concept drift is introduced by alternating the value of α.
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="CovCon" srcset="
/report/osre24/anl/last/20240718-williamn/covcon_hu4a191415f686125b6694a5c631bd0a53_84580_71acf32897baf4ad41a1f28aa45ddbe3.webp 400w,
/report/osre24/anl/last/20240718-williamn/covcon_hu4a191415f686125b6694a5c631bd0a53_84580_2b3b3648f56332fa89453ae08fff34a0.webp 760w,
/report/osre24/anl/last/20240718-williamn/covcon_hu4a191415f686125b6694a5c631bd0a53_84580_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240718-williamn/covcon_hu4a191415f686125b6694a5c631bd0a53_84580_71acf32897baf4ad41a1f28aa45ddbe3.webp"
width="760"
height="314"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/li>
&lt;li>SINE: This dataset contains two features x1, x2 drawn uniformly from the interval [0, 1]. In the first context all points below the curve y = sin(x) are classified as positive. The label for the classes are flipped after.
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Sine" srcset="
/report/osre24/anl/last/20240718-williamn/sinestream_hu58fb0770a1ec970143181b61b6554e14_112143_9cf339d9d956964ac3129aed212bbbb4.webp 400w,
/report/osre24/anl/last/20240718-williamn/sinestream_hu58fb0770a1ec970143181b61b6554e14_112143_f77fa8ca9a78666905791587c0ea3cd5.webp 760w,
/report/osre24/anl/last/20240718-williamn/sinestream_hu58fb0770a1ec970143181b61b6554e14_112143_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240718-williamn/sinestream_hu58fb0770a1ec970143181b61b6554e14_112143_9cf339d9d956964ac3129aed212bbbb4.webp"
width="760"
height="317"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/li>
&lt;/ul>
&lt;p>Additionally, I&amp;rsquo;ve also curated drifting data from the Tencent I/O block trace. These datasets will be used to benchmark model performance under different drift conditions.&lt;/p>
&lt;p>The pipeline can receive a base sci-kit learn model, and evaluate their performance on these datasets prequentially. Here are some of the initial results for the performance of the models on these drifting dataset, under a never retraining and retraining, using 1 &amp;amp; 7 past windows. As you can see, model performance degrades upon encountering extreme drift.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Circle" srcset="
/report/osre24/anl/last/20240718-williamn/featured_hu314786216917ab73ec11106e3fbdbfd6_47344_cd621ffcf8e0112adfbd5a4b18eed098.webp 400w,
/report/osre24/anl/last/20240718-williamn/featured_hu314786216917ab73ec11106e3fbdbfd6_47344_70229554177ef52d038b9d63d9ddea31.webp 760w,
/report/osre24/anl/last/20240718-williamn/featured_hu314786216917ab73ec11106e3fbdbfd6_47344_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240718-williamn/featured_hu314786216917ab73ec11106e3fbdbfd6_47344_cd621ffcf8e0112adfbd5a4b18eed098.webp"
width="760"
height="459"
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="CovCon" srcset="
/report/osre24/anl/last/20240718-williamn/covconmodel_hud438b5726b48ee443ea38ddb26d42afb_81013_71acdd86c329186013de6ffb21b90cd6.webp 400w,
/report/osre24/anl/last/20240718-williamn/covconmodel_hud438b5726b48ee443ea38ddb26d42afb_81013_252db232f127d0cb909594060e49d831.webp 760w,
/report/osre24/anl/last/20240718-williamn/covconmodel_hud438b5726b48ee443ea38ddb26d42afb_81013_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240718-williamn/covconmodel_hud438b5726b48ee443ea38ddb26d42afb_81013_71acdd86c329186013de6ffb21b90cd6.webp"
width="760"
height="482"
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="Sine" srcset="
/report/osre24/anl/last/20240718-williamn/sinemodel_hufe9ad7a15a34440d5b75d411ad8cc905_51948_e28e854413249c9d3e580bd86e496391.webp 400w,
/report/osre24/anl/last/20240718-williamn/sinemodel_hufe9ad7a15a34440d5b75d411ad8cc905_51948_04c9aca01ba0c5693cdfe730cc25bc07.webp 760w,
/report/osre24/anl/last/20240718-williamn/sinemodel_hufe9ad7a15a34440d5b75d411ad8cc905_51948_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240718-williamn/sinemodel_hufe9ad7a15a34440d5b75d411ad8cc905_51948_e28e854413249c9d3e580bd86e496391.webp"
width="760"
height="479"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h1 id="findings">Findings&lt;/h1>
&lt;p>From the experiments conducted so far, the findings are as follows:&lt;/p>
&lt;ul>
&lt;li>A model without retraining struggles to maintain performance when drift occurs.&lt;/li>
&lt;li>Retraining on data from previous drifting windows, whether abruptly (SINE) or gradually (CIRCLE), leads to poorer performance, especially evident in the retrain Window, which incorporates data up to 7 windows prior.&lt;/li>
&lt;li>However, retraining on previous data proves beneficial in cases of covariate shift (CovCon), allowing the model to better align with the evolving real-world feature distributions.&lt;/li>
&lt;/ul>
&lt;h1 id="next-steps">Next Steps&lt;/h1>
&lt;p>As the base template for the pipeline and dataset curation is done, as I move forward, my focus will be on:&lt;/p>
&lt;ul>
&lt;li>Implementing three advanced algorithms: AUE (Accuracy Updated Ensemble), MATCHMAKER, and Driftsurf, then integrating them into the pipeline.&lt;/li>
&lt;li>Enhancing the benchmarking process by adding more metrics and plots, such as training time and inference time, to better evaluate the strategies.&lt;/li>
&lt;li>Packaging the entire experiment into a Chameleon Trovi Artifact, ensuring ease of reproducibility and extension.&lt;/li>
&lt;/ul>
&lt;p>Stay tuned for my final blog as I delve deeper into this project!&lt;/p></description></item><item><title>Developing a Pipeline to Benchmark Drift Management Strategies</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240610-williamn/</link><pubDate>Mon, 10 Jun 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/anl/last/20240610-williamn/</guid><description>&lt;p>With guidance from mentors &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> under the &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/anl/last">LAST&lt;/a> project, I aim to develop a pipeline to benchmark the efficacy of various drift management algorithms.&lt;/p>
&lt;p>Despite the abundance of literature on this subject, reproducibility remains a challenge due to the lack of available source code. As such, by crafting this pipeline, I aim to create standardized platform for researchers and practitioners to compare several state-of-the-art drift management approaches. Through rigorous testing and benchmarking, we seek to identify the most effective algorithms across a spectrum of drift scenarios, including gradual, sudden, and recurring drift.&lt;/p>
&lt;p>This final deliverable of this pipeline will be packaged into a Chameleon Trovi Artifact. The pipeline will also be made easily extensible to cater to additional datasets or any custom-made drift-mitigation methods. This is my &lt;a href="https://docs.google.com/document/d/1biPUKMiKrNSegPVFDIyhjKkYeyiyD4hYqQghdsaU4IE/edit?usp=sharing" target="_blank" rel="noopener">proposal&lt;/a> for the project.&lt;/p>
&lt;p>See you around!&lt;/p></description></item></channel></rss>