🚀 StarPII
這是一個用於檢測代碼數據集中個人身份信息(PII)的命名實體識別(NER)模型,能有效助力代碼數據中的PII檢測與去除工作。
🚀 快速開始
本模型為NER模型,用於檢測代碼數據集中的個人身份信息(PII)。我們在標註的PII數據集上對 bigcode-encoder 進行了微調,該數據集可通過受限訪問獲取,鏈接為 bigcode-pii-dataset(具體的數據劃分請參考 bigcode-pii-dataset-training)。我們在編碼器模型之上添加了一個線性層作為令牌分類頭,有6個目標類別:姓名、電子郵件、密鑰、密碼、IP地址和用戶名。
✨ 主要特性
- 多數據集訓練:結合標註數據集和偽標籤數據集進行訓練,提升模型性能。
- 多語言支持:基礎編碼器模型在88種編程語言上進行了預訓練,能處理多種代碼語言。
- 多類別檢測:可檢測姓名、電子郵件、密鑰、密碼、IP地址和用戶名等6種PII類別。
📦 安裝指南
文檔未提供安裝步驟,暫不展示。
💻 使用示例
文檔未提供代碼示例,暫不展示。
📚 詳細文檔
數據集
標註數據集微調
微調數據集包含20961個機密信息和31種編程語言,但基礎編碼器模型在來自 The Stack 數據集的88種編程語言上進行了預訓練。
偽標籤數據集初始訓練
為了提高模型在一些罕見PII實體(如密鑰)上的性能,我們在對標註數據集進行微調之前,先在偽標籤數據集上進行了訓練。該方法包括在一小部分標註數據上訓練模型,然後為更大的未標註數據集生成預測。
具體來說,我們使用兩個編碼器模型 Deberta-v3-large 和 stanford-deidentifier-base 的集成,對 bigcode-pii-ppseudo-labeled 中的18000個文件進行了標註。這兩個模型在之前內部標註的PII 數據集 上進行了微調,該數據集包含來自 此工作 的400個文件。為了選擇高質量的偽標籤,我們計算了模型之間的平均概率對數,並根據最低分數進行過濾。經過檢查,我們發現密鑰和密碼的誤報率很高,因此我們只保留了周圍上下文中有 key
、auth
和 pwd
等觸發詞的實體。在對標註數據集進行微調之前,在這個合成數據集上進行訓練,所有PII類別的結果都更優,如下表所示。
性能
此模型在最後一行(NER + 偽標籤)中展示。
方法 |
電子郵件地址 |
|
|
IP地址 |
|
|
密鑰 |
|
|
|
精確率 |
召回率 |
F1 |
精確率 |
召回率 |
F1 |
精確率 |
召回率 |
F1 |
正則表達式 |
69.8% |
98.8% |
81.8% |
65.9% |
78% |
71.7% |
2.8% |
46.9% |
5.3% |
NER |
94.01% |
98.10% |
96.01% |
88.95% |
94.43% |
91.61% |
60.37% |
53.38% |
56.66% |
+ 偽標籤 |
97.73% |
98.94% |
98.15% |
90.10% |
93.86% |
91.94% |
62.38% |
80.81% |
70.41% |
方法 |
姓名 |
|
|
用戶名 |
|
|
密碼 |
|
|
|
精確率 |
召回率 |
F1 |
精確率 |
召回率 |
F1 |
精確率 |
召回率 |
F1 |
NER |
83.66% |
95.52% |
89.19% |
48.93% |
75.55% |
59.39% |
59.16% |
96.62% |
73.39% |
+ 偽標籤 |
86.45% |
97.38% |
91.59% |
52.20% |
74.81% |
61.49% |
70.94% |
95.96% |
81.57% |
我們使用此模型在大代碼大模型訓練中屏蔽PII。由於用戶名會產生許多誤報和漏報,我們將其剔除。對於其他PII類型,我們添加了以下後處理步驟,建議在未來使用該模型時採用(代碼也可在GitHub上獲取):
- 忽略少於4個字符的機密信息。
- 僅檢測全名。
- 使用 gibberish-detector 忽略少於9個字符或不是亂碼的檢測到的密鑰。
- 使用
ipaddress
Python包忽略無效或私有(非面向互聯網)的IP地址。我們也忽略來自流行DNS服務器的IP地址,使用的列表與 此論文 相同。
使用模型的注意事項
在使用此模型時,請務必注意其應用可能存在潛在風險。可能會出現誤報和漏報的情況,在處理敏感數據時可能會導致意外後果。此外,模型的性能可能因不同的數據類型和編程語言而異,因此需要針對特定用例進行驗證和微調。研究人員和開發人員在使用該模型時應遵守道德標準和數據保護措施。我們將其公開的目的是鼓勵開發保護隱私的人工智能技術,同時警惕與PII相關的潛在風險。
模型使用條款
這是一個經過訓練用於檢測代碼數據集中個人身份信息(PII)的NER模型。在使用該模型之前,請閱讀並同意以下使用條款:
- 您同意僅將模型用於從數據集中去除PII的PII檢測目的,不用於任何其他目的。
- 您同意不會出於任何目的分享該模型或其任何修改版本。
- 除非適用法律要求或書面同意,否則模型按“原樣”提供,不附帶任何形式的保證或條件,無論是明示的還是暗示的,包括但不限於所有權、不侵權、適銷性或特定用途適用性的任何保證或條件。您獨自負責確定使用模型的適當性,並承擔因行使本使用條款下的許可而產生的任何風險。
- 在任何情況下,作者或版權持有者均不對因模型或模型的使用或其他交易而產生的任何索賠、損害或其他責任(無論是在合同、侵權或其他訴訟中)承擔責任。
額外受限字段
- 電子郵件:文本輸入
- 我已閱讀許可協議並同意其條款:複選框
🔧 技術細節
文檔未提供足夠技術細節(少於50字),暫不展示。
📄 許可證
文檔未明確提及許可證信息,暫不展示。