[PyTorch] 將模型刪除後,釋放 GPU / CPU 的記憶體空間
問題描述
昨晚,我在改進一段將模型融合的程式碼時,由於個人設備資源不足,我採取分層合併的方法,一次只取一層的記憶體進行合併,以此減少系統同時保存的模型記憶體大小。然而,我發現模型雖然在 GPU 中的記憶體很容易被刪除、但是 CPU 中的記憶體被回收是十分不容易的。這涉及到了 Python 的資源回收器的設計。
Read More »[PyTorch] 將模型刪除後,釋放 GPU / CPU 的記憶體空間昨晚,我在改進一段將模型融合的程式碼時,由於個人設備資源不足,我採取分層合併的方法,一次只取一層的記憶體進行合併,以此減少系統同時保存的模型記憶體大小。然而,我發現模型雖然在 GPU 中的記憶體很容易被刪除、但是 CPU 中的記憶體被回收是十分不容易的。這涉及到了 Python 的資源回收器的設計。
Read More »[PyTorch] 將模型刪除後,釋放 GPU / CPU 的記憶體空間vLLM 是加州柏克萊分校所開發的一種大型語言模型(Large Language Model, LLM)加速推理框架。它主要是利用 PagedAttention 機制提高了 GPU VRAM 的使用率,並且這一方法無須更改模型的架構。
Read More »使用 vLLM 進行大型語言模型(LLM)的高速推理在 2023 年初,PyTorch 的 2.0 版本新增了一個 torch.compile()
的新功能,讓我們能夠在模型訓練/推理時能夠進一步提昇速度。與混合精度訓練的協同工作,經常能使我的訓練速度提昇一倍左右。
最近在因緣際會下,有了簡單改一些模型架構的機會,於是便趁這個機會好好地摸索了下 PyTorch 中模型神經網路層的遍歷打印方式。
Read More »[PyTorch] 遍歷模型每一層神經網路筆記論文連結: https://arxiv.org/abs/2212.13345
本篇研究工作的作者是鼎鼎大名的深度學習之父 Geoffrey Hinton,最初撰寫本篇論文時仍是 Google Brain 的研究員(於 2023 年離開)。
Read More »[論文閱讀] The Forward-Forward Algorithm: Some Preliminary Investigation最近的 Meta AI 真的是強到不行,似乎一瞬間站穩了 AI 研發巨擘的地位,而且還是樣樣開源的頂級標竿。從影像領域的能切割物件的 Segment Anything、到公開大型語言模型(Large Language Model)同時也是基石模型(fundational model)的 LLaMA(引起眾羊駝之亂的就是它!)、到最近能轉換 6 種模態(modals)的 ImageBind 跟語音模型計畫 (MMS)...... 只能說像我這種平凡人要努力跟上怎麼去使用都很費勁,更遑論試圖追逐他們的技術了。
Read More »ImageBind:能轉換多模態向量的模型使用心得筆記今天當我透過 simpletransformers 套件訓練模型時,我得到了一個我之前沒碰過的警告訊息:
Read More »[已解決] huggingface/tokenizers: The current process just got forked. after parallelism has already been used. Disabling parallelism to avoid deadlocksT5 ,全名是 Transfer Learning with a Unified Text-to-Text Transformer,在 2019 年底提出、隔年 2020 年則在 GLUE 上成為榜首,成功擠下了自家的 ALBERT。
Read More »[Machine Learning] T5 預訓練模型學習筆記最近我的某項工作就是把之前的舊專案使用 PyTorch Lightning 重構成新的訓練環節,並確保分數並沒有太大變化。其中,在我將某項二分類專案重構後,試跑出現了以下錯誤:
Read More »[已解決] RuntimeError: CUDA error: device kernel image is invalid - CUDA kernel errors might be asynchronously reported at some other API call...PyTorch Lightning 是把原生 PyTorch 封裝得更高級的框架套件,就像是 Keras 之於 Tensorflow 一樣(雖然 Keras 能支援的後端我記得是不少的)。
Read More »[PyTorch] pytorch-lightning 套件介紹