LLM 微調筆記 – SFT 和 DPO 的差異
介紹
在大型語言模型(Large Language Model, LLM)的微調任務中,監督式微調(Supervised Fine-tuning, SFT)、基於人類反饋強化學習(Reinforcement Learning from Human Feedback, RLHF)和直接偏好優化(DPO)… 等等都是不錯的方法,不過他們之間存在一些差異。
Read More »LLM 微調筆記 – SFT 和 DPO 的差異在大型語言模型(Large Language Model, LLM)的微調任務中,監督式微調(Supervised Fine-tuning, SFT)、基於人類反饋強化學習(Reinforcement Learning from Human Feedback, RLHF)和直接偏好優化(DPO)… 等等都是不錯的方法,不過他們之間存在一些差異。
Read More »LLM 微調筆記 – SFT 和 DPO 的差異DPO(Direct Preference Optimization, 直接偏好優化)是一種取代 RLHF(Reinforcement Learning from Human Feedback, 基於人類反饋的強化學習)的微調方式。眾所皆知,大型語言模型在經過非監督式學習後能夠學習到大量的知識與理解能力(有些研究者認為是『壓縮並保存』了知識在神經網路權重中);在監督式學習後學會了流暢地回應我們的問題,或者說是學會了『對話』的能力。
Read More »Direct Preference Optimization (DPO) 訓練方法筆記vLLM 是加州柏克萊分校所開發的一種大型語言模型(Large Language Model, LLM)加速推理框架。它主要是利用 PagedAttention 機制提高了 GPU VRAM 的使用率,並且這一方法無須更改模型的架構。
Read More »使用 vLLM 進行大型語言模型(LLM)的高速推理我雖然整天都在看 AI 的東西,但是 AI 中各式各樣的『架構』、『突破』、『理論』實在是太多太多了,很多東西我都是模模糊糊地知道個大概,了解了觀念就放在一邊。大部分徹地深入的認識,通通都是等到實戰時,必須自己跳下去親手改架構時才會領悟。
Read More »[Machine Learning] LLM 架構視覺化教學網站 LLM Visualization 分享在 2023 年初,PyTorch 的 2.0 版本新增了一個 torch.compile() 的新功能,讓我們能夠在模型訓練/推理時能夠進一步提昇速度。與混合精度訓練的協同工作,經常能使我的訓練速度提昇一倍左右。
RAG-based LLM 是當前使用大型語言模型(Large Language Model, LLM)的一種知名架構,也就是通過『檢索』,來給模型提供訓練時所沒有的先驗知識,讓模型能夠在得知特定資訊的情況下進行問題的回答。
Read More »[論文閱讀] Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection變分自動編碼器(Variational AutoEncoder, VAE) 是自動編碼器(AutoEncoder, AE)的進階變體,架構與原本的自動編碼器相似,同樣都是由編碼器(Encoder)和解碼器(Decoder)所組成。
Read More »[Machine Learning] Variational AutoEncoder (VAE) 筆記CuPy 是一個開源的 GPU 加速數值計算函式庫,專為深度學習以及科學計算而設計。它和 Python 中著名的 NumPy 套件有許多相同的使用方法與函式,但更進一步能夠在 GPU 上執行運算。簡單來說,例如矩陣運算等能夠利用 GPU 平行化計算的用途,CuPy 能夠實現一定程度的加速。
Read More »使用 CuPy 來利用 GPU 提昇矩陣運算速度現在的生成式模型越來越厲害的,各個獨立研究人員也都部署起了一個又一個的開源大型語言模型(LLMs)。但是在使用大型語言模型做推理、生成回覆時,要是真要去等待一個比較長的輸出,那是真的挺花時間的。
Read More »使用 HuggingFace Transformer 中的 TextStreamer 和 TextIteratorStreamer 來實現串流式(stream)輸出生成 token大模型的浪潮自從 2022 年 11 月 ChatGPT 的發布後便一發不可收拾,直到現在開源的大型語言模型(Large Language Model)的量級還在不斷增大,比方說 LLaMA-2-70B、以及 Falcon-180B 等等。
大型語言模型的性能自然是相當優秀的,可是往往需要耗費大量且價格昂貴的 GPU 記憶體,這使得一些邊緣運算裝置根本就不可能讓模型進行推理(inference) —— 更遑論訓練、微調自己的模型了。
Read More »[論文閱讀] QLoRA: Efficient Finetuning of Quantized LLMs