WFU

2024/03/19

向專家學習:ihower 「LLM 應用開發工作坊」課後心得

【初次】


第一次的課程開在11月,深深覺得講師 ihower 對於 LLM 真是是有「愛」。對於 LLM 各種不同的技巧,從初級入門的串接 API,到 prompt 技巧、CoT,然後 RAG 等,通通都有涉獵。非資訊本科生的我,如同劉姥姥進大觀園般,看著 ihower 快速講解每個 colab 程式。

說起來慚愧,11月後我自己在 LLM 的接觸面向減少許多,追了大半年的 AI 潮流,東碰一點、西碰一小塊,到最後真的累了,只想要躺平。

離上次的課程才隔四個月,謝謝主辦單位主動在課程群組歡迎大家「回訓」。

回訓,或許是重新讓自己再檢視看看,對於 LLM 這塊領域,哪些層面是自己有興趣的。


【回訓】


跟第一次上課的感想一樣,短短三堂加起來8小時的課,知識量真的很大。

三堂課,知識架構是一層層推上去的,也代表難度也是推疊上去的。

第一堂的重點放在 API的串接、prompt 基本知識(zero-shot, few-shot, CoT)。
第二堂的重點有 Chaining prompt , Embedding 和 RAG(檢索增強生成)
第三堂的重點是 Agent 及 functional calling。

非本科生的我,其實在第二堂的 RAG 開始,腦袋運轉就開始打結了,哈。

【特色】


這次的回訓,我對我自己的目標沒那麼高,我的目標是針對我有興趣的主題,利用 ihower 自己整理過的講義,也實際操作過的程式碼來學習。

ihower 說這堂課含金量最高的是 colab 程式碼,講義反而是其次。(colab程式碼有 34 個!!!)

真的把一個個的 colab 程式碼去執行、去了解,真的會收獲很多。類似的案例(書籍分類),在第一堂時用基本的 prompt 可以做到,到第二堂課換不同的概念也可以做到,沒想到第三堂課,還可利用functional calling 的 json schema 來完成分類,真的頗神奇。

人其實是無法理解沒見過的東西,人的想像力也會因為自我的見識而受限。以我自己的背影,同樣的觀點放在「程式碼」也是。雖然我可以把我要達成的功能與需求告訴 LLM ,請他產出 code,但自己在看 ihower 整理的程式碼時,會讓我對一些設計很巧妙的 code 感到佩服,也讓自己多出對 code 的想像力空間。

多數課程或書籍,甚至官方的 demo 文件,呼叫 LLM API 的方式,最常用的方式是直接安裝該 LLM 對應的 python 套件。不過 ihower 的程式碼中,呼叫 API 幾乎都是用 HTTP library 的方式,我真心覺得這才是基本功。這樣的方式才不會讓開發受限於 python 語言,也減少套件層層包裝後的黑盒子。

【和初次的差異】


說到黑盒子,langchain 也算是在排行榜內(笑)。

和初次課程相比,這次的課程中 langchain 佔比降低了,甚至 ihower 直接就說 langchain 不用學。課程中雖然有用 langchain 來執行部份程式,但也都有對應不用到 langchain 的程式法解法。

在初次課程時,functional calling 才剛冒出來。這次的回訓,在這一塊的講解更為全面,應用層面也更多了,這也是讓我最有興趣的地方。

Assistant API  也是新東西,但 ihower 有將目前還不建議商用的理由寫出。聽專家一句話,真的會少走很多冤枉路。


【感想】


這堂課很適合想要全面了解如何與 LLM 串接與應用的人來學習。

要有心理準備,你會被講師準備超豐富的資料量驚訝到,你也會被講師對 LLM 的熱情驚豔到。這真是對 LLM 有熱情才能主動去吸收這麼多的資訊。如果你不怕看程式碼,也想要從最基本的程式碼去了解 LLM 的應用,這堂「LLM 應用開發工作坊」真心推!