12個學習大語言模型的最佳GitHub程式碼庫

12個學習大語言模型的最佳GitHub程式碼庫

在當今世界,無論您是專業人士、學生還是從事研究工作,如果您不瞭解大型語言模型 (LLM),或者沒有探索 LLM 的 GitHub 程式碼庫,那麼您在這場 AI 革命中已經落後了。ChatGPT、Claude、Gemini 等聊天機器人以 LLM 為核心,使用簡單的提示技術和自然語言生成內容和程式碼等任務。在本指南中,我們將探索一些頂級程式碼庫,例如 awesome-llm 和 Hands-On LLM,它們可以幫助您掌握 LLM。

為何你應該掌握LLM?

如今,谷歌、微軟、亞馬遜等眾多科技巨頭都在積極打造自己的法學碩士 (LLM)。其他機構也正在招聘工程師,根據自身需求調整和部署這些 LLM。因此,對 LLM 專業知識人才的需求顯著增長。如今,對 LLM 的實踐理解已成為軟體工程、資料科學等領域各類工作的先決條件。很快,各個團隊和行業的職位都將需要對 LLM 有基本的瞭解,因此掌握 LLM 將使你比其他人更具優勢。

為何你應該掌握LLM?

掌握LLM的頂級程式碼庫

在本節中,我們將探索頂級 GitHub 程式碼庫,其中包含法 LLM 的詳細教程、課程、程式碼和研究資源。這些程式碼庫將幫助您掌握 LLM 所需的工具、技能、框架和理論。

1. mlabonne/llm-course

此資源庫包含完整的理論和實踐指南,適合希望探索 LLM 工作原理的各個級別的學習者。它涵蓋了從量化和微調到模型合併以及構建基於 LLM 的實際應用程式等主題。

亮點:

  • 它非常適合初學者和在職專業人士提升知識水平,因為每門課程都清晰地劃分為從基礎到高階的概念。
  • 它涵蓋了理論基礎和實際應用,確保指南結構清晰。
  • 擁有超過 5.1 萬顆星的評分,並得到了社羣的廣泛貢獻。

mlabonne/llm-course

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 的應用程式等主題。

HandsOnLLM/Hands-On-Large-Language-Models

GitHub 連結:https://github.com/HandsOnLLM/Hands-On-Large-Language-Models

3. brexhq/prompt-engineering

該程式碼庫包含完整的指南,並提供使用大型語言模型(例如 OpenAI 的 GPT-4)的實用技巧和策略。它還包含從研究和建立用於生產用例的提示符中汲取的經驗教訓。本指南涵蓋了 LLM 的歷史、提示符工程策略和安全建議。主題包括提示符結構、頂級 LLM 的 token 限制。

亮點:

  • 專注於最佳化提示符的實際技術,因此它極大地幫助了開發者提升 LLM 的輸出。
  • 包含詳細的指南,並提供基礎知識和高階提示符策略。
  • 擁有強大的社羣支援,並定期更新,以確保使用者可以訪問最新資訊。

brexhq/prompt-engineering

GitHub 連結:https://github.com/brexhq/prompt-engineering

4. Hannibal046/Awesome-LLM

該資源庫彙集了與 LLM 相關的即時資源,涵蓋開創性的研究論文、訓練框架、部署工具、評估基準等等。它被劃分為不同的類別,包括論文和應用書籍。此外,它還設有排行榜,用於追蹤不同 LLM 的表現。

亮點

  • 該資源庫提供重要的學習資料,包括教程和課程。
  • 資源量龐大,使其成為 LLM 的頂級資源之一。
  • 該資源庫擁有超過 2.3 萬顆星,擁有龐大的社羣,確保資訊定期更新。

Hannibal046/Awesome-LLM

GitHub 連結:https://github.com/Hannibal046/Awesome-LLM

5. OpenBMB/ToolBench

ToolBench 是一個開源平臺,旨在訓練、服務和評估 LLM 的工具學習能力。它提供了一個易於理解的框架,其中包含一個大規模指令調優資料集,以增強 LLM 的工具使用能力。

亮點:

  • ToolBench 使 LLM 能夠與外部工具和 API 互動。這提升了其執行實際任務的能力。
  • 此外,ToolBench 還提供了一個 LLM 評估框架 ToolEval,其中包含透過率和成功率等工具評估功能。
  • 該平臺為學習新的架構和訓練方法奠定了基礎。

OpenBMB/ToolBench

GitHub 連結:https://github.com/OpenBMB/ToolBench

6. EleutherAI/pythia

此儲存庫是 Pythia 專案的一部分。Pythia 套件的開發明確旨在促進可解釋性、學習動態以及倫理和透明度方面的研究,而現有的模型套件無法滿足這些研究的需求。

亮點:

  • 此儲存庫旨在促進 LLM 的科學研究。
  • 所有模型都包含 154 個檢查點,這使我們能夠從訓練過程中獲取內在模式。
  • 所有模型、訓練資料和程式碼均公開可用,以便在 LLM 研究中進行復現。

EleutherAI/pythia

GitHub 連結:https://github.com/EleutherAI/pythia

7. WooooDyy/LLM-Agent-Paper-List

本庫系統地探討了基於 LLM 的代理的開發、應用和實現,為該領域的研究人員和學習者提供了基礎資源。

亮點:

  • 本庫對基於 LLM 的代理進行了深入分析,涵蓋了其開發步驟和應用。
  • 包含一份井然有序的必讀論文列表,方便學習者查閱。
  • 深入講解了多代理系統的行為和內部互動。

WooooDyy/LLM-Agent-Paper-List

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 萬顆星,擁有龐大的社羣,確保資訊定期更新。

BradyFU/Awesome-Multimodal-Large-Language-Models

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 能力。

deepseedai/DeepSpeed

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 位的量化級別,從而減少記憶體佔用並提高推理速度。
  • 最近的更新還支援視覺功能,使其能夠處理和生成文字和影像資料。這也擴大了應用範圍。

ggml-org/llama.cpp

GitHub 連結:https://github.com/ggml-org/llama.cpp

11. lucidrains/PaLM-rlhf-pytorch

此程式碼庫提供了基於人類反饋的強化學習 (RLHF) 的開源實現,該實現已應用於 Google PaLM 架構。該專案旨在將 ChatGPT 的功能複製到 PaLM 上。這對於有興趣瞭解和開發基於 RLHF 的應用程式的使用者來說非常有幫助。

亮點

  • PaLM-rlhf 提供了一個清晰易用的 RHFL 實現,可用於探索和試驗高階訓練技術。
  • 它有助於為 RHFL 的未來發展奠定基礎,並鼓勵開發者和研究人員參與開發更以人為本的人工智慧系統。
  • 它擁有約 8000 顆星,擁有一個龐大的社羣,確保資訊定期更新。

lucidrains/PaLM-rlhf-pytorch

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 萬顆星,擁有龐大的社羣,確保資訊定期更新。

karpathy/nanoGPT

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 專業知識吧。

評論留言