在當今世界,無論您是專業人士、學生還是從事研究工作,如果您不瞭解大型語言模型 (LLM),或者沒有探索 LLM 的 GitHub 程式碼庫,那麼您在這場 AI 革命中已經落後了。ChatGPT、Claude、Gemini 等聊天機器人以 LLM 為核心,使用簡單的提示技術和自然語言生成內容和程式碼等任務。在本指南中,我們將探索一些頂級程式碼庫,例如 awesome-llm 和 Hands-On LLM,它們可以幫助您掌握 LLM。
為何你應該掌握LLM?
如今,谷歌、微軟、亞馬遜等眾多科技巨頭都在積極打造自己的法學碩士 (LLM)。其他機構也正在招聘工程師,根據自身需求調整和部署這些 LLM。因此,對 LLM 專業知識人才的需求顯著增長。如今,對 LLM 的實踐理解已成為軟體工程、資料科學等領域各類工作的先決條件。很快,各個團隊和行業的職位都將需要對 LLM 有基本的瞭解,因此掌握 LLM 將使你比其他人更具優勢。
掌握LLM的頂級程式碼庫
在本節中,我們將探索頂級 GitHub 程式碼庫,其中包含法 LLM 的詳細教程、課程、程式碼和研究資源。這些程式碼庫將幫助您掌握 LLM 所需的工具、技能、框架和理論。
1. mlabonne/llm-course
此資源庫包含完整的理論和實踐指南,適合希望探索 LLM 工作原理的各個級別的學習者。它涵蓋了從量化和微調到模型合併以及構建基於 LLM 的實際應用程式等主題。
亮點:
- 它非常適合初學者和在職專業人士提升知識水平,因為每門課程都清晰地劃分為從基礎到高階的概念。
- 它涵蓋了理論基礎和實際應用,確保指南結構清晰。
- 擁有超過 5.1 萬顆星的評分,並得到了社羣的廣泛貢獻。
GitHub 連結:https://github.com/mlabonne/llm-course
2. HandsOnLLM/Hands-On-Large-Language-Models
此程式碼庫遵循 O’Reilly 的《Hands-on Language Models》一書,提供豐富易懂且實用的指南,幫助您理解 LLM 的工作原理。此程式碼庫還包含每章的 Jupyter Notebook,涵蓋重要主題,例如:token、嵌入、Transformer 架構、多模態 LLM、微調技術等等。
亮點:
- 它為開發者和工程師提供了實用的學習資源,涵蓋了從基礎到高階的廣泛概念。
- 每章都包含動手示例,幫助使用者將概念應用於實際案例,而不僅僅是停留在理論層面。
- 涵蓋微調、部署以及構建基於 LLM 的應用程式等主題。
GitHub 連結:https://github.com/HandsOnLLM/Hands-On-Large-Language-Models
3. brexhq/prompt-engineering
該程式碼庫包含完整的指南,並提供使用大型語言模型(例如 OpenAI 的 GPT-4)的實用技巧和策略。它還包含從研究和建立用於生產用例的提示符中汲取的經驗教訓。本指南涵蓋了 LLM 的歷史、提示符工程策略和安全建議。主題包括提示符結構、頂級 LLM 的 token 限制。
亮點:
- 專注於最佳化提示符的實際技術,因此它極大地幫助了開發者提升 LLM 的輸出。
- 包含詳細的指南,並提供基礎知識和高階提示符策略。
- 擁有強大的社羣支援,並定期更新,以確保使用者可以訪問最新資訊。
GitHub 連結:https://github.com/brexhq/prompt-engineering
4. Hannibal046/Awesome-LLM
該資源庫彙集了與 LLM 相關的即時資源,涵蓋開創性的研究論文、訓練框架、部署工具、評估基準等等。它被劃分為不同的類別,包括論文和應用書籍。此外,它還設有排行榜,用於追蹤不同 LLM 的表現。
亮點
- 該資源庫提供重要的學習資料,包括教程和課程。
- 資源量龐大,使其成為 LLM 的頂級資源之一。
- 該資源庫擁有超過 2.3 萬顆星,擁有龐大的社羣,確保資訊定期更新。
GitHub 連結:https://github.com/Hannibal046/Awesome-LLM
5. OpenBMB/ToolBench
ToolBench 是一個開源平臺,旨在訓練、服務和評估 LLM 的工具學習能力。它提供了一個易於理解的框架,其中包含一個大規模指令調優資料集,以增強 LLM 的工具使用能力。
亮點:
- ToolBench 使 LLM 能夠與外部工具和 API 互動。這提升了其執行實際任務的能力。
- 此外,ToolBench 還提供了一個 LLM 評估框架 ToolEval,其中包含透過率和成功率等工具評估功能。
- 該平臺為學習新的架構和訓練方法奠定了基礎。
GitHub 連結:https://github.com/OpenBMB/ToolBench
6. EleutherAI/pythia
此儲存庫是 Pythia 專案的一部分。Pythia 套件的開發明確旨在促進可解釋性、學習動態以及倫理和透明度方面的研究,而現有的模型套件無法滿足這些研究的需求。
亮點:
- 此儲存庫旨在促進 LLM 的科學研究。
- 所有模型都包含 154 個檢查點,這使我們能夠從訓練過程中獲取內在模式。
- 所有模型、訓練資料和程式碼均公開可用,以便在 LLM 研究中進行復現。
GitHub 連結:https://github.com/EleutherAI/pythia
7. WooooDyy/LLM-Agent-Paper-List
本庫系統地探討了基於 LLM 的代理的開發、應用和實現,為該領域的研究人員和學習者提供了基礎資源。
亮點:
- 本庫對基於 LLM 的代理進行了深入分析,涵蓋了其開發步驟和應用。
- 包含一份井然有序的必讀論文列表,方便學習者查閱。
- 深入講解了多代理系統的行為和內部互動。
GitHub 連結:https://github.com/WooooDyy/LLM-Agent-Paper-List
8. BradyFU/Awesome-Multimodal-Large-Language-Models
該程式碼庫為關注多模態 LLM(MLLM)最新進展的人士提供了豐富的資源。它涵蓋了廣泛的主題,例如多模態指令調優、思路鏈推理,以及最重要的——幻覺緩解技術。該程式碼庫也收錄於 VITA 專案中。它是一個開源的互動式多模態 LLM 平臺,其中包含一篇綜述論文,旨在深入瞭解 MLLM 的最新發展和應用。
亮點:
- 僅此程式碼庫就彙集了大量與 MLLM 相關的論文、工具和資料集,使其成為學習者的頂級資源。
- 包含大量用於緩解 MLLM 中幻覺的研究和技術,因為幻覺是基於 LLM 應用的關鍵步驟。
- 該程式碼庫擁有超過 1.5 萬顆星,擁有龐大的社羣,確保資訊定期更新。
GitHub 連結:https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models
9. deepseedai/DeepSpeed
Deepseed 是由微軟開發的開源深度學習庫。它與 PyTorch 無縫整合,並提供系統級創新,支援訓練高引數模型。DeepSpeed 已用於訓練許多不同的大規模模型,例如 Jurassic-1(178B)、YaLM(100B)、Megatron-Turing(530B)等等。
亮點:
- Deepseed 擁有零冗餘最佳化器,透過最佳化記憶體使用率,使其能夠訓練包含數千億個引數的模型。
- 它允許在單個訓練、推理或壓縮流程中輕鬆組合多種特徵。
- DeepSpeed 是微軟 AI at Scale 計劃的重要組成部分,旨在大規模實現下一代 AI 能力。
GitHub 連結:https://github.com/deepspeedai/DeepSpeed
10. ggml-org/llama.cpp
LLama C++ 是一個高效能開源庫,專為在本地硬體上進行 LLM 的 C/C++ 推理而設計。它基於 GGML 張量庫構建,支援大量模型,包括一些最流行的模型,例如 LLama、LLama2、LLama3、Mistral、GPT-2、BERT 等。此程式碼庫旨在簡化設定,並在從桌面到移動裝置等各種平臺上實現最佳效能。
亮點:
- LLama 支援直接在桌面和智慧手機上進行 LLM 的本地推理,無需依賴雲服務。
- 針對 x86、ARM、CUDA、Metal 和 SYCL 等硬體架構進行了最佳化,使其功能多樣且高效。它支援 GGUF(GGML 通用檔案),從而支援 2 位到 8 位的量化級別,從而減少記憶體佔用並提高推理速度。
- 最近的更新還支援視覺功能,使其能夠處理和生成文字和影像資料。這也擴大了應用範圍。
GitHub 連結:https://github.com/ggml-org/llama.cpp
11. lucidrains/PaLM-rlhf-pytorch
此程式碼庫提供了基於人類反饋的強化學習 (RLHF) 的開源實現,該實現已應用於 Google PaLM 架構。該專案旨在將 ChatGPT 的功能複製到 PaLM 上。這對於有興趣瞭解和開發基於 RLHF 的應用程式的使用者來說非常有幫助。
亮點
- PaLM-rlhf 提供了一個清晰易用的 RHFL 實現,可用於探索和試驗高階訓練技術。
- 它有助於為 RHFL 的未來發展奠定基礎,並鼓勵開發者和研究人員參與開發更以人為本的人工智慧系統。
- 它擁有約 8000 顆星,擁有一個龐大的社羣,確保資訊定期更新。
GitHub 連結:https://github.com/lucidrains/PaLM-rlhf-pytorch
12. karpathy/nanoGPT
這個 nanoGPT 程式碼庫提供了 GPT 式語言模型的高效能實現,並可作為訓練和微調中型 GPT 的教學和實踐工具。該程式碼庫簡潔明瞭,訓練迴圈在 train.py 中,模型推理在 model.py 中。這使得開發者和研究人員能夠輕鬆理解和實驗 Transformer 架構。
亮點:
- nanoGPT 提供了 GPT 模型的簡單實現,使其成為希望瞭解 Transformer 內部工作原理的人士的重要資源。
- 它還能最佳化和高效地訓練和微調中型 LLM。
- nanoGPT 擁有超過 4.1 萬顆星,擁有龐大的社羣,確保資訊定期更新。
GitHub 連結:https://github.com/karpathy/nanoGPT
總體概述
以下是我們上面介紹的所有 GitHub 程式碼庫的概述,可供快速預覽。
倉庫 | 重要性 | Star 數 |
---|---|---|
mlabonne/llm-course | 從基礎到部署的結構化學習路線 | 51.5k |
HandsOnLLM/Hands-On-Large-Language-Models | 提供真實專案和程式碼示例 | 8.5k |
brexhq/prompt-engineering | 提示工程技能對每個 LLM 使用者都至關重要 | 9k |
Hannibal046/Awesome-LLM | LLM 學習與工具的中央儀表盤 | 1.9k |
OpenBMB/ToolBench | 支援工具使用的代理式 LLM——實用且流行 | 5k |
EleutherAI/pythia | 學習規模定律和模型訓練洞見 | 2.5k |
WooooDyy/LLM-Agent-Paper-List | 精選代理開發研究論文 | 7.6k |
BradyFU/Awesome-Multimodal-Large-Language-Models | 學習文字之外的多模態 LLM(影像、音訊、影片) | 15.2k |
deepseedai/DeepSpeed | DeepSpeed 是一個深度學習最佳化庫,使分散式訓練和推理簡單、高效、有效 | 38.4k |
ggml-org/llama.cpp | 在 CPU 和邊緣裝置上高效執行 LLM | 80.3k |
lucidrains/PaLM-rlhf-pytorch | 在 PaLM 架構上實現 RLHF(帶人類反饋的強化學習) | 7.8k |
karpathy/nanoGPT | 用於訓練/微調中型 GPT 的最簡單、最快速的倉庫 | 41.2k |
小結
隨著 LLM 的不斷發展,它們正在重塑科技格局。學習如何使用它們如今已不再是可有可無的事情。無論您是職場人士、職業生涯起步者,還是希望提升在 LLM 領域的專業知識,這些 GitHub 程式碼庫都能為您提供幫助。它們提供了一種實用且易於理解的途徑,讓您能夠獲得該領域的實踐經驗。從基礎知識到高階代理,這些程式碼庫將全程指導您。因此,選擇一個程式碼庫,使用上述資源,並構建您的 LLM 專業知識吧。
評論留言