Skip to content

Machine Learning

大型語言模型的解碼採樣筆記

我們在利用大型語言模型進行生成任務時,尤其是自迴歸任務(Auto-regression),模型實際上是在做一個好幾萬的分類任務,而分類的標的,其實就是我們詞庫(vocabulary)中的詞,通常是被稱為詞元(Token),也就是組成詞彙的最小單位。

如果我們希望採用貪婪解碼(greedy decoding),那麼我們永遠取模型最後一層解碼層的 logits 最大值就完事;但如果我們希望模型的生成結果具備多樣性與一定程度的隨機性,那麼,我們就有了許多的參數可以用來調整 logits 成為機率分佈了。

Read More »大型語言模型的解碼採樣筆記

使用有限狀態機(FSM)和回滾(Rollback)機制控制 LLM 禁止生成禁止詞彙(Banned-Words)

在大家透過 LLM 架設各種服務時,是否會煩惱 LLM 經常生成一些不受控制的言論?最近我的工作正在專案收尾的緊要關頭,我使用了 Outlines 等工具用以約束 LLM 解碼,確實能控制模型生成符合我想項中的模式 —— 但我同事突然對我發出靈魂一問:那我想要它不生成某些詞彙該怎麼辦?

Read More »使用有限狀態機(FSM)和回滾(Rollback)機制控制 LLM 禁止生成禁止詞彙(Banned-Words)

KTOTrainer(Kahneman-Tversky Optimization Trainer)筆記

之前一直斷斷續續從網路上、HuggingFace 官方文件等各種地方看到名為 Kahneman-Tversky OptimizationKTO)的 LLM 微調方式(實際上跟 DPO 相似是一種價值觀對齊方式),因為其準備資料的格式比起 DPO 實在太方便了,目前先趕緊嘗試應用在自己手邊的任務上、之後再來抽空閱讀論文中的詳細內容。

Read More »KTOTrainer(Kahneman-Tversky Optimization Trainer)筆記

使用 SFTTrainer 微調多模態大型語言模型筆記(以 LLaVa-1.5 為例)

多模態大型語言模型(Multi-Modal Large Language Model)是一種不侷限於文字的語言模型,我知道這聽起來很衝突,不過這算是目前大家普遍接受的一種稱呼;而我今天想要紀錄的,就是該怎麼使用一個腳本就進行多模態模型的微調。

Read More »使用 SFTTrainer 微調多模態大型語言模型筆記(以 LLaVa-1.5 為例)