深度學習中不同精度表示的差異 float32、float16、float8 和 bfloat16
深度神經網路訓練、微調的過程中,最重要也最稀缺的資源讓我來說肯定是 GPU 的 VRAM,所以讓每一位元真正發揮它的能力是非常重要的事情。
Read More »深度學習中不同精度表示的差異 float32、float16、float8 和 bfloat16深度神經網路訓練、微調的過程中,最重要也最稀缺的資源讓我來說肯定是 GPU 的 VRAM,所以讓每一位元真正發揮它的能力是非常重要的事情。
Read More »深度學習中不同精度表示的差異 float32、float16、float8 和 bfloat16Linux 好用的工具實在太多了,真的是每個都想紀錄一番呢。為了慶祝 Linux 在 StatCounter 上紀錄的使用比例達到了 4.55%(2024-09-18),我決定再來紀錄一個同事推薦我的 fuck
指令。
z
指令我想寫很久了!只是手邊一直在忙 AI 的訓練(公司業務)跟模型架構的加速推理(個人興趣),所以一直沒能騰出手來寫。這樣說好了,如果有人讓我推薦 Linux 系統必裝的工具,我會毫不猶豫地選擇 z
在我前十大推薦清單中。
最近我透過微調 Gemma-2 獲得了一些應用的不錯結果,然而卻在佈署上客戶的設備時發生各式各樣的錯誤,搞得我焦頭爛額的,目前網路上還沒有一個比較系統化的疑難雜症排除,故紀錄於此。
Read More »使用 vLLM 在 V100 GPU 上加速推理 Gemma-2 疑難雜症排除Python 中的上下文管理器裝飾器 @contextmanager
是 contextlib
模組中的一個裝飾器,可以讓開發人員簡便地創造屬於我們的上下文管理器(Context Manager)。
最近把不少 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 防禦能力difflib
是 Python 標準函式庫中的一個模組,用於比較序列之間的差異(通常為文字)。早些年我在做碩論時還自己實現,直到現在工作了才發現有這麼簡潔的函式庫,煞是哭笑不得。