[已解決] RuntimeError: OrderedDict mutated during iteration - OrderedDict 不能在迭代時發生變化
問題描述
今天我在讀取已經被 torch.compile()
之後儲存起來的模型權重,發現模型權重是使用 OrderedDict 資料結構儲存著,而這種結構本身是有序序列,換言之它的資料內容是需要嚴格遵守排序的。
今天我在讀取已經被 torch.compile()
之後儲存起來的模型權重,發現模型權重是使用 OrderedDict 資料結構儲存著,而這種結構本身是有序序列,換言之它的資料內容是需要嚴格遵守排序的。
Neo4j 是一個圖形資料庫(Graph Database),跟一般傳統的資料庫相比,圖形資料庫的重點是『圖』,也就是節點(實體/Entity)之間的關係與連接。每個節點可以代表一個對象(如人、事物、地點...),而邊則表示節點之間的關係(如朋友、擁有、位於...)
Read More »Neo4j 圖形資料庫(Graph Database)安裝與透過 Python 調用RAG-based LLM 是當前使用大型語言模型(Large Language Model, LLM)的一種知名架構,也就是通過『檢索』,來給模型提供訓練時所沒有的先驗知識,讓模型能夠在得知特定資訊的情況下進行問題的回答。
Read More »[論文閱讀] Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection雖然 Linux 號稱鮮少有駭客散佈病毒,但實際上,Linux 做為穩定的伺服器或開發環境依然是非常有價值、非常具有經濟效益的作業系統 —— 所以雖然相比 Windows 數量較少,但 Linux 還是存在許多惡意軟體或駭客攻擊的。
Read More »[Linux] 開源防毒軟體 ClamAV 的安裝與使用Swap 空間在 Linux 作業系體中扮演著重要角色。它可以被理解為是虛擬記憶體空間,名稱就是交換(swap)的意思,能夠在系統實體記憶體(RAM)不夠用的時候,把記憶體比較少用到的資料暫時寫到一個固定的硬碟空間來保證系統穩定運行 —— 這個空間就是 Swap。
Read More »[Linux] 使用指令增加 Swap 空間來避免記憶體耗盡變分自動編碼器(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 LLMsMojo 是一名比較新的語言,是由 LLVM 之父和 Swift 之父 Chris Lattner 所開發。
之所以開發 Mojo,據稱是為了填補『研究』與『生產』的鴻溝,所以 Mojo 擁有 Python 般簡易的語法以及 C 的執行速度。當然,最主要的可能還是對於 AI 的優化 —— 現在 AI 的市場已經值得一門全新的程式語言了。
Read More »支援 Python 語法、又有 C 速度的新程式語言 Mojo 環境配置筆記