版本 596ebbbe05495a8f8d0970b55fbebc1e539089b9
LisaChen (陳昕渝)
簡介
2024 Linux 核心設計 自我評量
成果發表和貢獻
評分:1
在這段時間內,我沒有實質性的公開演講或貢獻到 Linux 核心相關的專案。
作業/隨堂測驗
評分:9
在這過程中我完成第一週作業中指定的佇列操作,並成功整合了 list_sort.c 程式碼。第二份作業中的五個測驗題我也閱讀並執行了程式碼,並為運作流程畫了 Graphviz 圖例,最後成功整合了 merge sort 命令進入 lab0。第三份作業是將家喻戶曉的井字遊戲融入 list_sort.c 專案當中,我有成功的融合並且執行遊戲。第五份作業是對於自己的評估,我在其中完成了〈因為自動飲料機而延畢的那一年〉的閱讀並寫下心得,也上了 CS/APP 3/e 到第二章節的課程內容。
我在作業和隨堂測驗中都投入了大量時間和精力,並詳細記錄了我的開發過程和結果,所以自我評分 9 分,在下方附上作業連結。
作業共筆: - lab0-c - tic-tac-toe - assessment - Linux 核心專題: LLaMA 推論之效能議題
測驗共筆: - quiz1+2
期末專題
評分:10
我的期末專題是關於 LLama 效能提升的量化分析與評估,具體內容和成果記錄在 Linux 核心專題: LLaMA 推論之效能議題。
其中有四個 TODO:
- TODO: 實作程式碼 IEEE 754 浮點數乘以 2
- TODO: 閱讀 https://justine.lol/matmul/ 並紀錄問題,定位出效能瓶頸
- TODO: 執行 https://github.com/jart/matmul (針對 x86-64 和 Intel MKL)
- TODO: 目標是理解 LLaMA 推理過程中的各式效能議題,予以量化,並針對現有的效能改進方案進行分析
我依序將其盡我所能的完成,了解到 IEEE 754 這個二進位浮點數算術標準如何透過五個步驟,決定三部分 Sign bit, Exponent, Mantissa 的賦值。並且在不能使用 * 乘法運算的情況下,完成程式碼所要求的乘 2 功能,並且依據老師的要求在使用 union 來更進一步的改進程式碼。
再來是閱讀創建 llamafile 的作者所寫的文章,了解她使用多個硬體分析 llamafile 以及 llama.cpp 效能的實驗,作者在其中分析了每種硬體能夠更進一步的原因。最後一個部分就是實作 llamafile 以及 llama.cpp 的實驗,我在還原實驗的過程中,更是做了額外的實驗,對比不同 toknizer 的斷詞結果與效能數值的影響。
開發過程中,我對自己的方法感到不安,或許做實驗本來就不像國中寫考卷有正確的答案,我對於自己投入的時間心力,以及最後的完成度感到滿意,所以自我評分 10 分。
與授課教師的互動
評分:10
在課程期間,我與授課教師進行了一次重要的約談,這些討論不僅解答了我在學習過程中的疑問,也啟發了我對課程內容的更深理解。在 5/11 (六) 下午三點,我與授課教師討論了期末專題選定的問題,老師給了我關於 LLama 效能分析的題目,並且列了 4 項 TODO。其中第一項 TODO 是完成程式碼,當我完成後主動向老師報告,而老師也給予我修改建議。這些互動增進了我與授課教師之間的交流,也顯示了我在學習過程中的積極主動,所以自我評分 10 分。
所見所聞所感
評分:8
在閱讀了〈因為自動飲料機而延畢的那一年〉後,我深刻反思了自己在本課程中的投入和學習狀況。這篇文章讓我認識到,專注和投入是成功的關鍵。在本課程中,我全力以赴,每一項作業和專題都盡最大努力去完成,這些努力也得到了應有的回報。
學習回顧
評分:7
作為研究生,我向實驗室指導教授發送學習回顧信件,並將授課教師列入副本。
5 月的學習回顧發信於6/23,學習回顧展示了我的學習進展和持續努力,也為指導教授和授課教師提供了的學習紀錄,自我評分 7 分。