使用 SFTTrainer 微調多模態大型語言模型筆記(以 LLaVa-1.5 為例)
多模態大型語言模型(Multi-Modal Large Language Model)是一種不侷限於文字的語言模型,我知道這聽起來很衝突,不過這算是目前大家普遍接受的一種稱呼;而我今天想要紀錄的,就是該怎麼使用一個腳本就進行多模態模型的微調。
Read More »使用 SFTTrainer 微調多模態大型語言模型筆記(以 LLaVa-1.5 為例)多模態大型語言模型(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 工具結構化模型的輸出現在 LLM 的服務已經涵蓋了各式各樣的領域,而提示注入(Prompt Injection)和越獄(Jailbreak)對 LLM 的威脅也是與日俱增,幾個月前甚至有客服 LLM 給了客戶錯誤的資訊導致權益受損呢(雖然那不是 Prompt 攻擊造成的)。
而 Microsoft 所開源的 BIPIA(Benchmarking and Defending Against Indirect Prompt Injection Attacks on Large Language Models)評估方法,雖然已經是半年前的測試了,到現在也沒什麼大更新,但是應用在我手邊的任務中,仍不失為一個方便簡潔的測試方法。
Read More »使用 Microsoft BIPIA 框架評估 LLM 防禦能力時至今日有許多的 AI 應用、開源專案是以 HuggingFace 開源的 transformers 套件為基底下去開發的,有許多的模型與套件也都是寫成兼容 transformers 的格式、甚至擁有一樣的函式跟方法,才更容易為人所接受。
在這樣的前提下,我偶然使用了一個開源的訓練框架,它很好地封裝了 Transformer 架構的自動讀取 —— 但一個不得不解決的問題是我希望使用我自定義的模型去做實驗;我嘗試了幾個解決方法,目的是希望使用 AutoModel.from_pretrained()
的時候,只要傳入我本地端的模型路徑,就可以正確使用我自定義的模型架構,於是就把成功的方法紀錄於本篇筆記中。
交叉熵是機器學習(Machine Learning) 中非常常見的損失函數,這是因為其交叉熵是一種可以在『分類任務』中,將模型分類預測結果和實際分類標籤之間的差異做出量化。
Read More »[Machine Learning] Cross Entropy Loss 筆記