帳號:guest(3.145.179.83)          離開系統
字體大小: 字級放大   字級縮小   預設字形  

詳目顯示

以作者查詢圖書館館藏以作者查詢臺灣博碩士論文系統以作者查詢全國書目
作者(中文):顧家華
作者(外文):Ku, Chia-Hua
論文名稱(中文):基於MLIR的樹集成編譯器和OpenOCD工具
論文名稱(外文):MLIR-Based Tree Ensemble Compiler and OpenOCD Tools
指導教授(中文):李政崑
指導教授(外文):Lee, Jenq-Kuen
口試委員(中文):洪明郁
游逸平
口試委員(外文):Hung, Ming-Yu
You, Yi-Ping
學位類別:碩士
校院名稱:國立清華大學
系所名稱:資訊工程學系
學號:111062619
出版年(民國):113
畢業學年度:112
語文別:英文
論文頁數:46
中文關鍵詞:MLIR編譯器OpenOCD決策樹隨機森林提升樹
外文關鍵詞:MLIRCompilerRandom ForestsBoosting TreesDecision TreeOpenOCD
相關次數:
  • 推薦推薦:0
  • 點閱點閱:19
  • 評分評分:*****
  • 下載下載:0
  • 收藏收藏:0
樹狀集成(Tree-based ensembles)是即時推理中最突出的資源節約型方法。在本研究中,我們提出了一種基於 MLIR 的編譯器基礎架構,專為樹狀集合模型的即時推理而設計。此編譯器基礎架構可以接受常用的樹狀集成模型,如提升樹(boosting trees)和隨機森林(random forests),並將其程式碼轉換為 MLIR。在程式碼產生過程中,我們實施了兩項優化:基本塊重排(basic block reordering)和 FLInt。最後,我們評估了這些模
型在不同平台上的最佳化效果。實驗結果表明,與最先進的決策樹研究相比,提升樹在 x86 平台上實現了 1.44 倍到 7.22 倍的性能提升,在 ARM平台上實現了 1.63 倍到 4.17 倍的性能提升,在 RISC-V 平台上實現了1.54 倍到 2.83 倍的效能提升。

此外,由於即時除錯的需要,我們提出了一種使用 OpenOCD 進行芯片上偵錯的工作流程。此工作流程詳細介紹如何擴展 OpenOCD 以支援特定適配器,並演示了從 Eclipse 到 GDB 再到 OpenOCD 的調試過程,以及相應的螢幕和結果。這種調試工作流程可確保開發人員在即時推理環境中快速發現並解決潛在問題,從而進一步提高系統的整體穩定性和效能。
Tree-based ensembles are the prominent resource-efficient methods for
real-time inference. In this work, we present an MLIR-based compiler infrastructure designed specifically for real-time inference of tree ensemble models. This compiler infrastructure can accept commonly used tree-based ensemble models, such as boosting trees and random forests, and transform their code into MLIR. During the code generation process, two optimizations are implemented: basic block reordering and FLInt. Finally, we evaluate the optimization effects of these models on different platforms. Experimental results show that, compared to state-of-the-art decision tree research, boosted trees achieve performance gains ranging from 1.44x to 7.22x on x86, 1.63x to 4.17x
on ARM, and 1.54x to 2.83x on RISC-V.

In addition, due to the need for real-time debugging, we propose a workflow using OpenOCD for on-chip debugging. This workflow details the extension of OpenOCD to support specific adapters and demonstrates the debugging process from Eclipse through GDB to OpenOCD, along with corresponding screens and results. Such a debugging workflow ensures that developers can quickly identify and resolve potential problems in a real-time inference environment, further improving the overall stability and performance of the system.
摘要---------------------------------------------i
Abstract---------------------------------------ii
誌謝--------------------------------------------iv
Contents----------------------------------------v
List of Figures-------------------------------vii
List of Tables-------------------------------viii
CH1 Introduction--------------------------------1
CH2 Background----------------------------------5
CH3 MLIR-Based Tree Ensemble Compiler----------11
CH4 OpenOCD Tools------------------------------24
CH5 Experiment---------------------------------33
CH6 Conclusion---------------------------------42
[1] A. Cohen, A. Davis, N. Vasilache, and A. Zinenko, “Structured ops in mlir: Compiling loops, Libraries and DSLs,” https://mlir.llvm.org/docs/Dialects/Vector/#positioning-in-the-codegen-infrastructure,2019, accessed: 2024-05-22.
[2] L. Breiman, “Random forests,” Machine learning, vol. 45, no. 1, pp.5–32, 2001.
[3] J. H. Friedman, “Greedy function approximation: a gradient boosting machine,” Annals of statistics, pp. 1189–1232, 2001.
[4] L. Breiman, “Random forests,” Machine Learning, vol. 45, no. 1, pp. 5–32, 2001. [Online]. Available: https://doi.org/10.1023/A:1010933404324
[5] D. Tripathi, A. Shukla, B. Reddy et al., “Credit scoring models using ensemble learning and classification approaches: A comprehensive survey,” Wireless Personal Communications, vol. 123, pp. 785–812, 2022. [Online]. Available: https://doi.org/10.1007/s11277-021-09158-9
[6] Y. Wu, L. Zhang, U. A. Bhatti, and M. Huang, “Interpretable machine learning for personalized medical recommendations: A lime-based approach,” Diagnostics, vol. 13, no. 16, 2023. [Online]. Available:https://www.mdpi.com/2075-4418/13/16/2681
[7] A. Shankar, P. Perumal, M. Subramanian et al., “An intelligent recommendation system in e-commerce using ensemble learning,” Multimedia Tools and Applications, vol. 83, pp. 48 521–48 537, 2024. [Online]. Available: https://doi.org/10.1007/s11042-023-17415-1
[8] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, A. Müller, J. Nothman, G. Louppe, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and Édouard Duchesnay, “Scikit-learn: Machine learning in python,” 2018.
[9] T. Chen and C. Guestrin, “Xgboost: A scalable tree boosting system,” in Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, ser. KDD ’16. New York, NY, USA: Association for Computing Machinery, 2016, p. 785–794. [Online]. Available: https://doi.org/10.1145/2939672.2939785
[10] C. Lattner, M. Amini, U. Bondhugula, A. Cohen, A. Davis, J. Pienaar, R. Riddle, T. Shpeisman, N. Vasilache, and O. Zinenko, “Mlir: Scaling compiler infrastructure for domain specific computation,” in 2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO). IEEE, 2021, pp. 2–14.
[11] C. Lattner and V. Adve, “Llvm: A compilation framework for lifelong program analysis & transformation,” in International symposium on code generation and optimization, 2004. CGO 2004. IEEE, 2004, pp.75–86.
[12] E. Tabanelli, G. Tagliavini, and L. Benini, “Optimizing random forest based inference on risc-v mcus at the extreme edge,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 41, no. 11, pp. 4516–4526, 2022.
[13] C. Hakert, K.-H. Chen, and J.-J. Chen, “Flint: Exploiting floating point enabled integer arithmetic for efficient random forest inference,” 2022.
[14] “IEEE standard for binary floating-point arithmetic,” ANSI/IEEE Std754-1985, pp. 1–20, 1985.
[15] ISO/IEC JTC1/SC22/WG21, ISO/IEC 14882:2011 - Information Technology - Programming Languages - C++, 2011, https://isocpp.org/.
[16] A. Prasad, S. Rajendra, K. Rajan, R. Govindarajan, and U. Bondhugula,“Treebeard: An optimizing compiler for decision tree based ml inference,” in IEEE/ACM International Symposium on Microarchitecture (MICRO), 2022, pp. 494–511.
[17] “Intel machine learning benchmarks,” https://github.com/IntelPython/scikit-learn_bench, 2020.
 
 
 
 
第一頁 上一頁 下一頁 最後一頁 top
* *