What is Weight(權重)?
神經網路中在訓練期間學習的數值參數,決定模型如何轉換輸入為輸出。
Definition
在神經網路中,權重是控制神經元之間(更精確地說,是層中輸入特徵和輸出啟用之間)連接強度的可學習數值。模型中所有權重的集合構成了模型學到的知識——當我們說模型「知道」某些東西時,我們指的是這些資訊被編碼在其數百萬或數十億權重的特定值中。
在基於 Transformer 的語言模型中,權重被組織成執行特定功能的矩陣。注意力權重(查詢、鍵、值和輸出投射矩陣)決定 token 之間如何相互關注。前饋權重(每個 Transformer 層兩個大矩陣)應用編碼事實和語言知識的非線性變換。嵌入權重將 token ID 映射到密集向量,語言模型頭權重將隱藏狀態映射回詞彙機率以用於下一個 token 預測。
模型中的權重數量——其參數數量——是模型規模的主要衡量指標。7B 模型有 70 億個權重,70B 模型有 700 億個。更大的參數數量通常實現更大的知識容量和推理能力,但也需要成比例增加的記憶體和計算來進行訓練和推論。每個權重儲存為浮點數(訓練時通常為 16 位元,推論時常量化為 4-8 位元),因此 7B 模型在 FP16 精度下大約需要 14 GB。
Why It Matters
權重確實就是你在訓練或微調模型時所支付的東西。預訓練隨機初始化權重,然後在數兆 token 的訓練中調整它們,直到它們編碼了語言和知識的有用表示。微調進一步調整這些權重(或在 LoRA 的情況下調整其子集)以編碼領域特定的知識和行為。整個 ML 管線的存在就是為了產生一組將輸入轉換為有用輸出的權重。
理解權重對於實際決策至關重要。權重精度(FP16 vs FP32 vs INT4)決定記憶體需求和推論速度。權重格式(SafeTensors、GGUF、PyTorch 檢查點)決定與不同推論引擎的相容性。權重授權決定模型如何能被商業使用。當實踐者討論量化、剪枝或模型合併時,這些都是對權重的操作。
How It Works
權重在訓練前使用旨在防止梯度消失或爆炸的策略進行初始化——通常是 Xavier 或 Kaiming 初始化,根據層維度縮放初始值。在訓練期間,前向傳遞使用當前權重值計算預測,損失函數衡量預測誤差,反向傳播計算損失相對於每個權重的梯度。然後優化器在減少損失的方向上將每個權重更新一小步。
訓練後,權重被序列化到磁碟中的模型檔案。不同的序列化格式以不同方式儲存權重:PyTorch 的 .bin 格式使用 Python 的 pickle 序列化,SafeTensors 使用帶有完整性檢查的記憶體映射格式,GGUF 以針對 CPU 推論優化的格式儲存量化權重。當模型被載入用於推論時,權重張量被反序列化並放置在 GPU(或 CPU)記憶體中,在模型處理輸入時保持固定。
Example Use Case
一個團隊在 7B 基礎模型上訓練 LoRA 適配器,產生 2,000 萬個新的適配器權重(相比基礎模型的 70 億個)。在推論期間,適配器權重透過將低秩權重更新加到原始矩陣上與基礎模型權重合併。合併後的模型與分開載入適配器的行為完全相同,但消除了在執行時管理兩組權重的開銷,簡化了部署。
Key Takeaways
- 權重是編碼模型知識和能力的可學習數值參數。
- 模型的參數數量(權重數量)決定其規模、容量和資源需求。
- 權重精度(FP16、INT4 等)控制記憶體使用和模型品質之間的折衷。
- 微調在預訓練表示的基礎上調整權重以編碼領域特定知識。
- 權重序列化格式(SafeTensors、GGUF、PyTorch)決定與推論引擎的相容性。
How Ertas Helps
Ertas Studio 在整個微調生命週期中管理模型權重——載入基礎模型權重、透過 LoRA 訓練適配器權重、可選地合併適配器,以及將最終權重匯出為 GGUF 格式以進行本地部署。
Related Resources
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.