訓練、推理 AI 模型的 VRAM 開銷計算筆記
一直以來,我都只用個大概的公式去推估我的模型量級與我的 GPU VRAM 開銷之間關聯;畢竟這之間牽扯到的變數實在太多了,光是模型架構、層數、注意力機制實現、序列長度、Batch Size、訓練或推理採用的資料精度... 在在都影響我們最後計算的結果。
Read More »訓練、推理 AI 模型的 VRAM 開銷計算筆記一直以來,我都只用個大概的公式去推估我的模型量級與我的 GPU VRAM 開銷之間關聯;畢竟這之間牽扯到的變數實在太多了,光是模型架構、層數、注意力機制實現、序列長度、Batch Size、訓練或推理採用的資料精度... 在在都影響我們最後計算的結果。
Read More »訓練、推理 AI 模型的 VRAM 開銷計算筆記之前一直斷斷續續從網路上、HuggingFace 官方文件等各種地方看到名為 Kahneman-Tversky Optimization(KTO)的 LLM 微調方式(實際上跟 DPO 相似是一種價值觀對齊方式),因為其準備資料的格式比起 DPO 實在太方便了,目前先趕緊嘗試應用在自己手邊的任務上、之後再來抽空閱讀論文中的詳細內容。
Read More »KTOTrainer(Kahneman-Tversky Optimization Trainer)筆記多模態大型語言模型(Multi-Modal Large Language Model)是一種不侷限於文字的語言模型,我知道這聽起來很衝突,不過這算是目前大家普遍接受的一種稱呼;而我今天想要紀錄的,就是該怎麼使用一個腳本就進行多模態模型的微調。
Read More »使用 SFTTrainer 微調多模態大型語言模型筆記(以 LLaVa-1.5 為例)我第一次聽到向量量化(Vector Quantization, VQ)是在做音訊處理的朋友的口中,因此模糊地得知了向量量化是一種用於資料特徵壓縮和特徵表示的技術;當然那時,我還不清楚這與像是 PCA 等等降維技巧有什麼不同。
Read More »[Machine Learning] 向量量化(Vector Quantization, VQ)筆記深度神經網路訓練、微調的過程中,最重要也最稀缺的資源讓我來說肯定是 GPU 的 VRAM,所以讓每一位元真正發揮它的能力是非常重要的事情。
Read More »深度學習中不同精度表示的差異 float32、float16、float8 和 bfloat16最近我透過微調 Gemma-2 獲得了一些應用的不錯結果,然而卻在佈署上客戶的設備時發生各式各樣的錯誤,搞得我焦頭爛額的,目前網路上還沒有一個比較系統化的疑難雜症排除,故紀錄於此。
Read More »使用 vLLM 在 V100 GPU 上加速推理 Gemma-2 疑難雜症排除最近把不少 Outlines 的應用整合進了我當前工作流程中,其中我最常與 vLLM 一起使用的,不過其說明文件不知為何在 vLLM GitHub 上一直沒被 merge,所以我在設計流程時不得不一直拿一個被 rejected 的 PR 原始碼在看說明 XD
Read More »vLLM 加速推理框架中使用整合之 Outlines 工具進行解碼約束本篇為一簡單 Python 實作,用於測試有限狀態機(Finite-State Machine)約束大型語言模型(Large Language Model)解碼出特定格式的回答,也權當作是理解 Outlines 工具的理念。當然,我實作的部份跟 Outlines 工具相比,實在顯得太過簡易。
Read More »使用有限狀態機約束大型語言模型解碼之實作在將大型語言模型(Large Language Model, LLM)應用於實際場景時,經常不僅僅是讓模型自由發揮、任意生成文句 —— 我們也可能會希望模型返回特定的結構,比方說做選擇題、或是給一個評分。在這樣的情況下,transformers 架構的模型可以直接使用 outlines 這個工具。
Read More »使用 Outlines 工具結構化模型的輸出