Thanks to visit codestin.com
Credit goes to github.com

Skip to content

c00cjz00/llm-action

 
 

Repository files navigation

目錄

LLM訓練

LLM訓練實戰

下面彙總了我在大模型實踐中訓練相關的所有教程。從6B到65B,從全量微調到高效微調(LoRA,QLoRA,P-Tuning v2),再到RLHF(基於人工反饋的強化學習)。

LLM 預訓練/SFT/RLHF... 引數 教程 程式碼
Alpaca full fine-turning 7B 從0到1復現斯坦福羊駝(Stanford Alpaca 7B) 配套程式碼
Alpaca(LLaMA) LoRA 7B~65B 1.足夠驚豔,使用Alpaca-Lora基於LLaMA(7B)二十分鐘完成微調,效果比肩斯坦福羊駝
2. 使用 LoRA 技術對 LLaMA 65B 大模型進行微調及推理
配套程式碼
BELLE(LLaMA/Bloom) full fine-turning 7B 1.基於LLaMA-7B/Bloomz-7B1-mt復現開源中文對話大模型BELLE及GPTQ量化
2. BELLE(LLaMA-7B/Bloomz-7B1-mt)大模型使用GPTQ量化後推理效能測試
N/A
ChatGLM LoRA 6B 從0到1基於ChatGLM-6B使用LoRA進行引數高效微調 配套程式碼
ChatGLM full fine-turning/P-Tuning v2 6B 使用DeepSpeed/P-Tuning v2對ChatGLM-6B進行微調 配套程式碼
Vicuna(LLaMA) full fine-turning 7B 大模型也內卷,Vicuna訓練及推理指南,效果碾壓斯坦福羊駝 N/A
OPT RLHF 0.1B~66B 1.一鍵式 RLHF 訓練 DeepSpeed Chat(一):理論篇 
2. 一鍵式 RLHF 訓練 DeepSpeed Chat(二):實踐篇
配套程式碼
MiniGPT-4(LLaMA) full fine-turning 7B 大殺器,多模態大模型MiniGPT-4入坑指南 N/A
Chinese-LLaMA-Alpaca(LLaMA) LoRA(預訓練+微調) 7B 中文LLaMA&Alpaca大語言模型詞表擴充+預訓練+指令精調 配套程式碼
LLaMA QLoRA 7B/65B 高效微調技術QLoRA實戰,基於LLaMA-65B微調僅需48G視訊記憶體,真香 配套程式碼

⬆ 一鍵返回目錄

LLM微調技術原理

對於普通大眾來說,進行大模型的預訓練或者全量微調遙不可及。由此,催生了各種引數高效微調技術,讓科研人員或者普通開發者有機會嘗試微調大模型。

因此,該技術值得我們進行深入分析其背後的機理,本系列大體分七篇文章進行講解。

LLM微調實戰

下面給大家分享大模型引數高效微調技術實戰,該系列主要針對 HuggingFace PEFT 框架支援的一些高效微調技術進行講解,共6篇文章。

教程 程式碼 框架
大模型引數高效微調技術實戰(一)-PEFT概述及環境搭建 N/A HuggingFace PEFT
大模型引數高效微調技術實戰(二)-Prompt Tuning 配套程式碼 HuggingFace PEFT
大模型引數高效微調技術實戰(三)-P-Tuning 配套程式碼 HuggingFace PEFT
大模型引數高效微調技術實戰(四)-Prefix Tuning / P-Tuning v2 配套程式碼 HuggingFace PEFT
大模型引數高效微調技術實戰(五)-LoRA 配套程式碼 HuggingFace PEFT
大模型引數高效微調技術實戰(六)-IA3 配套程式碼 HuggingFace PEFT

⬆ 一鍵返回目錄

近年來,隨著Transformer、MOE架構的提出,使得深度學習模型輕鬆突破上萬億規模引數,傳統的單機單卡模式已經無法滿足超大模型進行訓練的要求。因此,我們需要基於單機多卡、甚至是多機多卡進行分散式大模型的訓練。

而利用AI叢集,使深度學習演算法更好地從大量資料中高效地訓練出效能優良的大模型是分散式機器學習的首要目標。為了實現該目標,一般需要根據硬體資源與資料/模型規模的匹配情況,考慮對計算任務、訓練資料和模型進行劃分,從而進行分散式訓練。因此,分散式訓練相關技術值得我們進行深入分析其背後的機理。

下面主要對大模型進行分散式訓練的並行技術進行講解,本系列大體分九篇文章進行講解。

⬆ 一鍵返回目錄

分散式AI框架

⬆ 一鍵返回目錄

LLM推理框架

LLM推理最佳化技術

LLM壓縮

  • 模型壓縮技術原理(一):知識蒸餾
  • 模型壓縮技術原理(二):模型量化
  • 模型壓縮技術原理(三):模型剪枝

訓練後量化:

  • SmoothQuant
  • ZeroQuant
  • GPTQ
  • LLM.int8()
  • AWQ

量化感知訓練:

量化感知微調:

  • QLoRA
  • PEQA

LLM剪枝

結構化剪枝

  • LLM-Pruner

非結構化剪枝

  • SparseGPT
  • LoRAPrune
  • Wanda

LLM知識蒸餾

Standard KD:

使學生模型學習教師模型(LLM)所擁有的常見知識,如輸出分佈和特徵資訊,這種方法類似於傳統的KD。

  • MINILLM
  • GKD

EA-based KD:

不僅僅是將LLM的常見知識轉移到學生模型中,還涵蓋了蒸餾它們獨特的湧現能力。具體來說,EA-based KD又分為了上下文學習(ICL)、思維鏈(CoT)和指令跟隨(IF)。

In-Context Learning:

  • In-Context Learning distillation

Chain-of-Thought:

  • MT-COT
  • Fine-tune-CoT
  • DISCO
  • SCOTT
  • SOCRATIC CoT

Instruction Following:

  • Lion

低秩分解

低秩分解旨在透過將給定的權重矩陣分解成兩個或多個較小維度的矩陣,從而對其進行近似。低秩分解背後的核心思想是找到一個大的權重矩陣W的分解,得到兩個矩陣U和V,使得W≈U V,其中U是一個m×k矩陣,V是一個k×n矩陣,其中k遠小於m和n。U和V的乘積近似於原始的權重矩陣,從而大幅減少了引數數量和計算開銷。

在LLM研究的模型壓縮領域,研究人員通常將多種技術與低秩分解相結合,包括修剪、量化等。

  • ZeroQuant-FP(低秩分解+量化)
  • LoRAPrune(低秩分解+剪枝)

隨著 ChatGPT 的現象級走紅,引領了AI大模型時代的變革,從而導致 AI 算力日益緊缺。與此同時,中美貿易戰以及美國對華進行AI晶片相關的制裁導致 AI 算力的國產化適配勢在必行。本系列將對一些國產化 AI 加速卡進行講解。

⬆ 一鍵返回目錄

LLM應用開發

大模型是基座,要想讓其變成一款產品,我們還需要一些其他相關的技術,比如:向量資料庫(Pinecone、Milvus、Vespa、Weaviate),LangChain等。

AI編譯器

AI編譯器是指將機器學習演算法從開發階段,透過變換和最佳化演算法,使其變成部署狀態。

框架:

  • TVM
  • MLIR
  • TensorRT

AI基礎設施

AI加速卡

AI叢集

待更新...

待更新...

  • 分散式訓練網路通訊原語
  • AI 叢集通訊軟硬體

LLMOps

待更新...

LLM生態相關技術

⬆ 一鍵返回目錄

伺服器基礎環境安裝及常用工具

基礎環境安裝:

常用工具:

LLM學習交流群

我建立了大模型學習交流群,供大家一起學習交流大模型相關的最新技術,目前已有5個群,每個群都有上百人的規模,可加我微信進群(加微信請備註來意,如:進大模型學習交流群+GitHub)。一定要備註喲,否則不予透過

PS:成都有個本地大模型交流群,想進可以另外單獨備註下。

微信公眾號

微信公眾號:吃果凍不吐果凍皮,該公眾號主要分享AI工程化(大模型、MLOps等)相關實踐經驗,免費電子書籍、論文等。

⬆ 一鍵返回目錄

Star History

Star History Chart

About

本项目旨在分享大模型相关技术原理以及实战经验。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 49.5%
  • Python 45.6%
  • Shell 4.9%