Tommy Han
Tommy is a software engineer in Hong Kong who loves to work on open source projects in different areas, including toolchains, compilers, apps, and IDE development.
Sessions
當我們在 PyTorch 中寫下一個模型時,一個高階的 Tensor 運算,究竟是如何一步步轉換成能夠在 GPU、TPU 或 NPU 上高效執行的程式?
在這場分享中,我們會從 PyTorch 出發,沿著模型一路走到硬體,並理解 ML/LLM Compiler 在其中扮演的角色。從 Computation Graph 與 Tensor Operation 開始,我們會看看 Compiler 如何將高階的模型運算,轉換成適合不同硬體架構執行的高效程式。
我們也會將這個流程與傳統程式語言的 Compiler 做比較,了解 ML Workload 在編譯上有哪些不同之處,並透過一個簡單的互動式 Demo,實際觀察 Graph Transformation 與各種 Optimization 如何影響執行方式。
最後,我們會進一步討論,為什麼 ML Compiler 在 LLM 時代變得越來越重要。LLM 的效能不只取決於運算量,也高度受到 Memory Movement、Kernel Execution、Data Layout,以及目標硬體特性的影響。
這場分享的目的並不是教大家如何訓練模型,或深入探討複雜的數學最佳化,而是希望讓軟體工程師建立一個清楚且實用的 Mental Model,理解從「寫下模型」到「模型真正高效地跑在硬體上」之間,究竟發生了什麼。
簡報連結:https://speakerdeck.com/tommyhonym/pytorch-ai-compiler
AI 工具正讓工程師比以往更容易快速生成程式碼、探索想法並發起 Pull Request (PR)。然而,更快的產出並不總是帶來更好的 PR。在實際應用中,AI 生成的變更往往伴隨著常見的問題:更龐大的 diff(程式碼差異)、薄弱的脈絡、模糊的意圖,以及更高的審查負擔(Review Overhead)。
在這場演講中,我將從實用的角度分享 AI 在日常開發中究竟能在哪裡提供真正的幫助、在何處開始製造問題,以及為什麼我仍然選擇手動構建大多數的 PR。本次分享並非要反對 AI,而是專注於一個對工程師和開源貢獻者更實用的問題:我們該如何將 AI 視為工具,同時又不放棄程式碼的所有權、清晰度以及對審查者(Reviewer)的同理心?
我也將簡要結合自身在開源社群的貢獻經驗(包括與 Zed 相關的工作)作為範例,來說明為什麼一個易於審查、結構良好的變更,往往比一個快速生成的變更更具價值。
本場演講旨在提供實用建議,探討如何以健康的方式構建合適的 PR 來貢獻開源專案,並理解為什麼親自保持對脈絡(Context)的理解至關重要。
Slide: https://speakerdeck.com/tommyhonym/when-agent-helps-and-why-i-still-write-the-pr-myself