🚀 INT8 DistilBERT Base Uncased在SQuAD上微調模型卡
本模型是DistilBERT base uncased的INT8量化版本,該模型已在斯坦福問答數據集(SQuAD)上進行了微調。量化過程使用了Hugging Face的Optimum-Intel,並藉助了英特爾®神經壓縮器(Intel® Neural Compressor)。
✨ 主要特性
- 量化優勢:通過訓練後靜態量化將模型從原始的FP32精度轉換為INT8,在優化模型大小和推理速度的同時,儘可能保留原始模型的準確性。
- 適用場景:專為問答任務設計,適用於需要快速推理和減小模型大小,同時又不顯著降低準確性的場景。
- 目標用戶:適用於研究人員、開發者和企業,特別是在計算資源有限的應用中,需要高效、低延遲問答能力的用戶。
📦 安裝指南
此部分未提供具體安裝步驟,暫不展示。
💻 使用示例
基礎用法
from optimum.intel import INCModelForQuestionAnswering
model_id = "Intel/distilbert-base-uncased-distilled-squad-int8-static"
int8_model = INCModelForQuestionAnswering.from_pretrained(model_id)
高級用法
from optimum.onnxruntime import ORTModelForQuestionAnswering
model = ORTModelForQuestionAnswering.from_pretrained('Intel/distilbert-base-uncased-distilled-squad-int8-static')
📚 詳細文檔
模型詳情
屬性 |
詳情 |
模型作者 |
Xin He、Zixuan Cheng、Yu Wenz |
日期 |
2022年8月4日 |
版本 |
此量化過程的基礎模型是distilbert-base-uncased-distilled-squad,它是為問答任務設計的BERT蒸餾版本。 |
模型類型 |
語言模型 |
論文或其他資源 |
基礎模型:distilbert-base-uncased-distilled-squad |
許可證 |
apache-2.0 |
問題或評論 |
社區板塊 和 英特爾開發者中心Discord |
量化詳情 |
該模型經過訓練後靜態量化,從原始的FP32精度轉換為INT8,旨在優化模型大小和推理速度,同時儘可能保留原始模型的準確性。 |
校準詳情 |
對於PyTorch,校準數據加載器是訓練數據加載器,實際採樣大小為304,因為默認校準採樣大小300不能被批量大小8整除。對於ONNX版本,使用評估數據加載器進行校準,默認校準採樣大小為100。 |
預期用途
預期用途 |
描述 |
主要預期用途 |
該模型用於問答任務,可根據給定的上下文段落回答問題。它針對需要快速推理和減小模型大小,同時又不顯著降低準確性的場景進行了優化。 |
主要目標用戶 |
需要在應用程序中實現高效、低延遲問答功能的研究人員、開發者和企業,特別是在計算資源有限的情況下。 |
超出範圍的用途 |
無 |
評估
PyTorch版本
這是一個使用 huggingface/optimum-intel 通過 英特爾®神經壓縮器 進行量化的INT8 PyTorch模型。
|
INT8 |
FP32 |
準確率 (評估F1值) |
86.1069 |
86.8374 |
模型大小 (MB) |
74.7 |
265 |
ONNX版本
這是一個使用 英特爾®神經壓縮器 進行量化的INT8 ONNX模型。
|
INT8 |
FP32 |
準確率 (評估F1值) |
0.8633 |
0.8687 |
模型大小 (MB) |
154 |
254 |
🔧 技術細節
模型經過訓練後靜態量化,將其從原始的FP32精度轉換為INT8。在PyTorch中,校準數據加載器使用訓練數據加載器,實際採樣大小為304;在ONNX版本中,使用評估數據加載器進行校準,默認校準採樣大小為100。這種量化方式在優化模型大小和推理速度的同時,儘可能保留了原始模型的準確性。
📄 許可證
本模型使用的許可證為apache-2.0。
⚠️ 重要提示
用戶應注意訓練數據(SQuAD和Wikipedia)中可能存在的潛在偏差,並考慮這些偏差對模型輸出的影響。此外,量化在某些情況下可能會引入或加劇偏差。
💡 使用建議
- 用戶在關鍵應用中部署量化模型時,應考慮性能和準確性之間的平衡。
- 對於特定用例或滿足更嚴格的準確性要求,可能需要進一步的微調或校準。