[Linux] 透過高頻率自動推測你想前往的資料夾:z 指令
簡介
z
指令我想寫很久了!只是手邊一直在忙 AI 的訓練(公司業務)跟模型架構的加速推理(個人興趣),所以一直沒能騰出手來寫。這樣說好了,如果有人讓我推薦 Linux 系統必裝的工具,我會毫不猶豫地選擇 z
在我前十大推薦清單中。
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 標準函式庫中的一個模組,用於比較序列之間的差異(通常為文字)。早些年我在做碩論時還自己實現,直到現在工作了才發現有這麼簡潔的函式庫,煞是哭笑不得。
在 Python 的類別建構中,@property
是一種經常見到且確實有其好處的裝飾器,它主要的用途在於將類別的方法(class method)轉為只讀(read-only)的屬性(attribute),讓使用者透過屬性呼叫的方式來取得計算結果。
牛頓內插法是一種多項式的插值方法,使用多筆數據建構一組多項式函數,其優點在於隨著資料的添加,牛頓內插法不需要從頭開始計算,而是可以基於現有的函數進行擴展。
Read More »牛頓插值多項式(Newton Polynomial)