Skip to content

Machine Learning

Direct Preference Optimization (DPO) 訓練方法筆記

介紹

DPODirect Preference Optimization, 直接偏好優化)是一種取代 RLHFReinforcement Learning from Human Feedback, 基於人類反饋的強化學習)的微調方式。眾所皆知,大型語言模型在經過非監督式學習後能夠學習到大量的知識與理解能力(有些研究者認為是『壓縮並保存』了知識在神經網路權重中);在監督式學習後學會了流暢地回應我們的問題,或者說是學會了『對話』的能力。

Read More »Direct Preference Optimization (DPO) 訓練方法筆記

[PyTorch] 將模型刪除後,釋放 GPU / CPU 的記憶體空間

問題描述

昨晚,我在改進一段將模型融合的程式碼時,由於個人設備資源不足,我採取分層合併的方法,一次只取一層的記憶體進行合併,以此減少系統同時保存的模型記憶體大小。然而,我發現模型雖然在 GPU 中的記憶體很容易被刪除、但是 CPU 中的記憶體被回收是十分不容易的。這涉及到了 Python 的資源回收器的設計。

Read More »[PyTorch] 將模型刪除後,釋放 GPU / CPU 的記憶體空間

[Machine Learning] LLM 架構視覺化教學網站 LLM Visualization 分享

介紹

我雖然整天都在看 AI 的東西,但是 AI 中各式各樣的『架構』、『突破』、『理論』實在是太多太多了,很多東西我都是模模糊糊地知道個大概,了解了觀念就放在一邊。大部分徹地深入的認識,通通都是等到實戰時,必須自己跳下去親手改架構時才會領悟。

Read More »[Machine Learning] LLM 架構視覺化教學網站 LLM Visualization 分享

[已解決][PyTorch] 編譯(compile)後模型權重多出 “_orig_mod” 的前綴問題

問題描述

在 2023 年初,PyTorch 的 2.0 版本新增了一個 torch.compile() 的新功能,讓我們能夠在模型訓練/推理時能夠進一步提昇速度。與混合精度訓練的協同工作,經常能使我的訓練速度提昇一倍左右。

Read More »[已解決][PyTorch] 編譯(compile)後模型權重多出 “_orig_mod” 的前綴問題

使用 HuggingFace Transformer 中的 TextStreamer 和 TextIteratorStreamer 來實現串流式(stream)輸出生成 token

前言

現在的生成式模型越來越厲害的,各個獨立研究人員也都部署起了一個又一個的開源大型語言模型LLMs)。但是在使用大型語言模型做推理、生成回覆時,要是真要去等待一個比較長的輸出,那是真的挺花時間的。

Read More »使用 HuggingFace Transformer 中的 TextStreamer 和 TextIteratorStreamer 來實現串流式(stream)輸出生成 token