Skip to content

Blog

[Linux] 權限中黏滯位(sticky bit)的解釋(chmod 1777)

介紹

黏滯位sticky bit)是一個 Unix 與 Unix-like 系統中的一個有趣的應用,它是一個特殊的權限設定,來提供檔案或文件更加細緻的操作。比方說,大家想必都對文件權限很熟悉吧?分別是 rwx(讀取、寫入、可執行)等三種不同的權限。而黏滯位則更進一步,設定了檔案『刪除』與『重新命名』的權利。

Read More »[Linux] 權限中黏滯位(sticky bit)的解釋(chmod 1777)

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

問題描述

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

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

[已解決] RuntimeError: OrderedDict mutated during iteration - OrderedDict 不能在迭代時發生變化

問題描述

今天我在讀取已經被 torch.compile() 之後儲存起來的模型權重,發現模型權重是使用 OrderedDict 資料結構儲存著,而這種結構本身是有序序列,換言之它的資料內容是需要嚴格遵守排序的。

Read More »[已解決] RuntimeError: OrderedDict mutated during iteration - OrderedDict 不能在迭代時發生變化

Neo4j 圖形資料庫(Graph Database)安裝與透過 Python 調用

介紹

Neo4j 是一個圖形資料庫(Graph Database),跟一般傳統的資料庫相比,圖形資料庫的重點是『』,也就是節點(實體/Entity)之間的關係與連接。每個節點可以代表一個對象如人、事物、地點...),而邊則表示節點之間的關係如朋友、擁有、位於...

Read More »Neo4j 圖形資料庫(Graph Database)安裝與透過 Python 調用

[Linux] 使用指令增加 Swap 空間來避免記憶體耗盡

什麼是 Swap?

Swap 空間在 Linux 作業系體中扮演著重要角色。它可以被理解為是虛擬記憶體空間,名稱就是交換swap)的意思,能夠在系統實體記憶體RAM)不夠用的時候,把記憶體比較少用到的資料暫時寫到一個固定的硬碟空間來保證系統穩定運行 —— 這個空間就是 Swap。

Read More »[Linux] 使用指令增加 Swap 空間來避免記憶體耗盡

使用 CuPy 來利用 GPU 提昇矩陣運算速度

前言

CuPy 是一個開源的 GPU 加速數值計算函式庫,專為深度學習以及科學計算而設計。它和 Python 中著名的 NumPy 套件有許多相同的使用方法與函式,但更進一步能夠在 GPU 上執行運算。簡單來說,例如矩陣運算等能夠利用 GPU 平行化計算的用途,CuPy 能夠實現一定程度的加速。

Read More »使用 CuPy 來利用 GPU 提昇矩陣運算速度

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

前言

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

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