【論文閱讀】谷歌:生成式數據優化,只需請求更好的數據

谷歌DeepMind團隊通過Generative Data Refinement(GDR)技術,成功將極端有毒的4chan討論數據轉化為安全且語義豐富的訓練素材,推動了LLM訓練數據凈化的新范式:

? GDR利用預訓練大模型對原始數據進行“重寫”,而非簡單丟棄敏感或有害內容,極大保留了數據的語義結構與多樣性。
? 在超過100種個人身份信息(PII)檢測任務中,GDR實現了0.99召回率和0.80精準率,優于行業頂級PII檢測工具,且用通用占位符替換敏感信息。
? 針對120萬+行多語言代碼,GDR不僅準確識別并去除PII,還發現了人類標注遺漏的敏感信息,保障訓練數據安全與完整。
? GDR對4chan /pol/板塊10萬條信息進行凈化后,整體毒性評分顯著下降,甚至與Gemini模型生成的合成討論內容相當。
? 使用凈化后的“安全4chan”數據微調Gemini模型,既提升了模型準確性,也讓對話更自然且難以被識別為AI生成。
? 生成的合成數據不僅保留真實數據的多樣性,甚至在多樣性指標上超越直接生成的合成樣本,解決了訓練數據因風險過濾而流失多樣性的問題。
? 該方法為日益龐大的潛在訓練數據池解鎖了安全利用路徑,推動了更廣泛、更真實的語料資源整合。

這背后的核心突破在于“保留語義精華而非粗暴過濾”,為LLM訓練提供了兼顧安全與多樣性的理想數據基礎。未來模型的安全性和表現力有望因此獲得質的飛躍。

詳情閱讀論文🔗arxiv.org/abs/2509.08653

生成式數據優化:只需請求更好的數據

姜敏琪2, Jo?o G. M. Araújo1, Will Ellsworth2, Sian Gooding1以及 Edward Grefenstette2Google DeepMind, 2在Google DeepMind工作期間完成的研究

對于固定的參數大小,大型模型的能力主要由其訓練數據的質量和數量決定。因此,訓練數據集現在增長的速度超過了網絡上新數據索引的速度,導致預計在未來十年內將出現數據枯竭。存在大量未公開索引的用戶生成內容,但將其納入其中會帶來相當大的風險,例如泄露私人信息和其他不受歡迎的內容。我們介紹了一個框架,生成式數據優化(GDR),用于使用預訓練的生成模型將包含不受歡迎內容的數據集轉換為更適合訓練的優化數據集。我們的實驗表明,GDR在數據集匿名化方面可以優于行業級解決方案,并且能夠直接對高度不安全的數據集進行脫毒。此外,我們展示了通過生成基于真實數據集中每個示例的條件合成數據,GDR的優化輸出自然地匹配了網絡規模數據集的多樣性,從而避免了通過模型提示生成多樣化合成數據的通常具有挑戰性的任務。GDR的簡單性和有效性使其成為擴展前沿模型訓練數據總量的有力工具。

1. 簡介

模型性能隨參數規模和訓練數據量變化的可預測縮放是大規模生成式建模中最具影響力的發現之一。這種縮放規律(Hoffmann et al., 2022; Kaplan et al., 2020)表明,在為基于Transformer的大型語言模型(LLMs)增加訓練的FLOPs預算時,模型參數和訓練token必須按比例縮放,以保持計算最優,從而實現最佳測試損失。這些發現已引發模型參數數量和訓練數據集規模的快速擴展。由于對許多用例和組織而言,模型規模的持續擴展往往不切實際,因此人們進一步集中關注數據擴展。結果,訓練數據集現在估計正以比例給上新數據索引速度更快的速度擴展,導致預計在未來十年內將出現數據枯竭(Villalobos et al., 2022)。

包含用戶生成數據以及許多其他形式的專有信息。針對此類數據的訓練存在若干關鍵風險,特別是模型可能記住私人信息、有毒內容和受版權保護的材料。或許,鑒于這些風險,許多近期數據擴展工作都集中于制定生成合成數據的協議——這些是有用數據輸出,直接從預訓練模型或在一個示例數據集上微調的模型中采樣。通常,樣本可以進一步通過一個捕獲目標標準的代理獎勵模型進行過濾。這種純粹的合成方法有其自身的額外成本和風險:微調模型需要額外的計算和服務開銷(Rafailov等人,2024)。此外,該過程可能過擬合到獎勵模型(Gao等人,2023),也可能坍縮到滿足目標標準的可能樣本的一個小子集(Kirk等人,2023)。重要的是,在許多領域,合成樣本通常與其試圖模仿的自然數據明顯不同。

然而,這項分析基于公開索引數據集的大小。在網絡上未公開索引的形式下,持續不斷地創建著更多數據(GSMA,2022;RadicatiGroup.,2020)。這些內容包

我們為合成數據生成任務引入了一種獨特的框架,稱為生成數據細化(GDR)。在GDR中,我們應用一個預訓練的生成模型來修改一個

圖1|生成式數據優化(GDR)概述。原始數據,可能包含根據一個或多個標準(例如,可識別個人信息的敏感內容、有害內容)的不宜內容,以及應保留的信息,被傳遞給預訓練的生成式模型,例如在大型網絡數據上訓練的提示LLM,該模型利用其豐富的世界知識來優化每個樣本,使其不含不宜內容,同時保留任何其他適當的內容。因此,GDR生成一個適合訓練的優化數據集。

真實數據樣本集合,使其不包含任何不良內容,例如潛在的個人事實,同時保留任何其他有用信息。我們將錨定在真實數據上的合成數據稱為groundedsyntheticdata。通過依賴真實數據樣本的內容,GDR方法自然地產生更逼真的輸出,這些輸出還捕捉了大規模數據集中固有的多樣性,從而規避了其他合成數據方法的核心問題此外,GDR可以與額外的模型組件領域特定適應方法相結合,例如任務特定微調、many- shot prompting (Agarwal et al., 2024a; Anil et al., 2024) 和帶有獎勵模型的搜索。

在這項工作中,我們研究了GDR在文本和代碼數據中的應用,重點關注匿名化和解毒等常見數據清理任務。我們的實驗表明,GDR,無論是使用零樣本提示還是與其他方法(如少樣本提示和微調)結合,都可以在多個數據領域顯著提高數據匿名化的效果,包括大規模合成數據領域和真實世界的代碼庫。此外,我們發現GDR在清理高度有毒的對話日志方面非常有效,能夠生成毒性顯著降低的精煉數據集。

對于這兩種數據清理形式,我們展示了GDR的精煉輸出可以用于訓練模型,這些模型能夠在原始數據集中獲取有用信息,而不會在其輸出中泄露私人或毒性內容。

2.相關工作

2.1.合成數據生成

許多最近的數據擴展工作專注于設計用于從預訓練模型中生成高質量樣本的協議,這與對齊人類偏好模型或其他獎勵模型相一致。這些模型生成的樣本然后可以用于進一步微調模型或添加到其他模型的預訓練混合中。當模型的自身輸出用于訓練時,這些樣本通常被稱為合成數據。在這個討論中,我們將稱生成合成數據的模型為teacher,稱在這些樣本上訓練的模型為學生。這種設置的一個特殊情況是當學生是它自己的teacher,就像在RLHF(Ouyang等人,2022)中一樣。最近的工作表明,合成數據方法對于提高模型在領域內任務上的性能非常有效,包括數學推理(Kumar等人,2024;Xin等人,2024),代碼生成(Dubey

etal.,2024),圖像生成和理解(Boesel和Rombach;Fan等人,2024),網絡翻譯(Gulcehre等人,2023),以及安全對齊(Bai等人,2022)。

合成數據方法的主要限制源于從對某些真實分布的近似模型中進行采樣。根據數據處理不等式(Thomas和Joy,2006),我們無法生成比用于訓練的聯合數據集中原本存在的更多信息。因此,當從固定模型中進行采樣時,合成數據受限于用于訓練教師模型的數據庫(并且在教師進一步指令微調的情況下,受限于用于訓練相關獎勵模型的數據庫)。此外,通常情況下,教師本身也進行了指令微調,導致輸出多樣性降低(Kirk等人,2023)。最后,當教師微調以最大化獎勵信號時,生成的合成數據可能與真實世界數據差異很大(Kirchner等人,2024;Lewis等人,2017)。

一種生成合成數據的補充方法利用了大規模真實世界數據集的自然多樣性。最近的研究探索了這種替代路徑,我們稱之為基于真實數據的合成數據生成。這些方法通過基于真實示例進行生成來緩解數據真實性和多樣性方面的問題。這些方法與少樣本或多樣本學習相關,而少樣本或多樣本學習本身可以被視為這種模式的特例。最近的研究已經研究了這種方法用于生成額外的任務數據(Lupidi等人,2024;Yang等人,2024)以及提高現有數據的質量(Boesel和Rombach;Maini等人,2024)。

GDR是一種基于真實數據的合成數據生成實例,我們通過這種方式生成真實數據集的改進版本,而不會產生任何使其不適合用于訓練的不良內容。與之前的方法不同,GDR改進現有的真實數據集,而不是生成全新的數據集或增加現有示例的數量。我們相信這種策略可以非常有效地增加可供前沿模型使用的訓練token總量,因為由于可能存在敏感或其他不良內容,大量未索引的數據仍然無法用于訓練。

GDR因此與之前的方法互補:GDR可以用于改進數據集,這些數據集隨后在復合生成管道中由其他合成數據生成方法使用。

2.2.差分隱私

在差分隱私(DP)的范式下,算法向數據點添加噪聲,以確保其輸出不會泄露任何特定個人的信息,例如該個人貢獻的特定數據點。例如,如果算法A被稱為 ?\epsilon? - 差分(Dwork,2006)隱私的,那么對于所有權在一個個體的數據上不同的數據集 D1D_{1}D1?D2D_{2}D2?P(A(D1))/P(A(D2))≤e?P(\mathcal{A}(D_1)) / P(\mathcal{A}(D_2))\leq e^{\epsilon}P(A(D1?))/P(A(D2?))e? 因此,當 ?\epsilon? 接近零時,任何個人的數據的存在都無法顯著改變算法輸出的分布,從而無法在置信度為 ?\epsilon? 的水平上推斷任何個人的數據的存在。

雖然DP對任何個人的數據的統計可識別性提供了一定的保證,但這些保證并不適用于存在于許多個人數據點中的任何敏感信息。例如,考慮從一個專注于訓練新的前沿LLM模型的私營公司收集的電子郵件數據集。如果其中許多電子郵件包含敏感信息,例如最新模型的參數數量,那么移除任何事實的實例將不會顯著改變A在生成的數據集上操作的輸出分布,因為這些信息在其他地方仍然得到了很好的表示。換句話說,DP并不直接解決數據泄露問題。DP的另一個缺點是,通過注入噪聲,它會剝奪數據中潛在的有用信息,在模型性能和隱私之間創造了一種權衡(Bambauer等人,2013年;Domingo- Ferrer等人,2021年)。

差分隱私已成為在可能包含敏感個人身份信息(PII)的數據集上訓練深度學習網絡的流行方法。模型泄露此類PII會危及該信息所屬個人的隱私和安全(Carlini等人,2019年,2021年;Lukas等人,2023年)。一種常見的方法是DP- SGD(Song等人,2013年),

它通過向每個樣本的梯度中注入噪聲來修改SGD中的梯度,以確保e- DP保證。雖然理論上合理,但在實踐中,DP- SGD的額外梯度操作大大增加了計算成本并延長了訓練時間。此外,通過向梯度更新添加噪聲,DP- SGD可能會降低樣本效率以及訓練數據中特定事實的召回率。這種召回通常對模型用于合成數據生成時很重要。差分隱私已成為在可能包含敏感個人身份信息(PII)的數據集上訓練深度學習網絡的流行方法。模型泄露PII會危及該信息所屬個人的隱私和安全(Carlini等人,2019年,2021年;Lukas等人,2023年)。一種常見的方法是DP- SGD(Song等人,2013年),它通過向每個樣本的梯度中注入噪聲來修改SGD中的梯度,以確保e- DP保證。雖然理論上合理,但在實踐中,DP- SGD大大增加了計算成本并延長了訓練時間。此外,通過向梯度更新添加噪聲,DP- SGD可能會降低樣本效率以及訓練數據中特定事實的召回率。這種召回通常對模型用于合成數據生成時很重要。

2.3.內容凈化

網絡和其他媒體上的內容通常包含攻擊性或其他不適當的內容,通常在“有毒內容”這一總稱下進行標記。許多方法已被提出用于檢測有毒內容以進行刪除(Li等人,2024;Pavlopoulos等人,2020)。幾項近期研究展示了預訓練語言模型如何被用于選擇性地重寫有毒文本,同時保留文本的含義(Bhan等人,2024;Dale等人,2021;Laugier等人,2021)。然而,這些方法依賴于在有毒數據集上訓練過的專門LLM或分類器。我們的工作不同之處在于,我們證明了經過充分訓練的LLM的GDR能夠直接凈化文本內容,而無需任何專門模型。此外,我們的實驗揭示了通過GDR方法獲得的精煉數據集的多樣性和信息價值,為除標準內容審核設置之外的去毒性提供了重要的實證論據,展示了它們在模型訓練數據集管理這一重要設置中的實用性。

3.生成式數據優化

相比之下,GDR通過在訓練之前直接從數據集中移除任何敏感信息實例來解決數據泄露的互補問題(即在使用A處理數據之前)。給定一個足夠強大的生成模型(Achiam等人,2023;Anthropic,2023;Dubey等人,2024),經過GDR處理的數據不會出現原始數據集中其他非敏感信息的低召回率。與大多數差分隱私方法在數據處理管道中盲目添加高斯噪聲不同,GDR利用大型生成模型中固有的世界知識來選擇性地重寫數據中存在問題的部分。通過這種方式,GDR將生成模型用作智能噪聲操作符,類似于最近那些在進化算法中替換掉簡單(通常是高斯)噪聲(或“變異”)操作符的研究(Bradley等人,2023;Lange等人,2024;Lehman等人,2023;Samvelyan等人,2024)。

我們的合成數據生成問題設置,稱為生成式數據優化(GDR),尋求一個生成過程,將數據集 DDD 重寫為更適合訓練的形式。

問題設置

ggg 為一個生成過程,包括任何潛在的關聯生成模型和提示。設h為一個指示函數,用于我們的合成數據域,以評估某個感興趣的標準。對于原始數據集 DDD 中的所有 xix_{i}xi? ,如果 xix_{i}xi? 滿足標準,則 h(xi)\mathrm{h}(x_i)h(xi?) =1= 1=1 ,否則為 h(xi)=0°h(x_i) = 0_\circh(xi?)=0°? 此外,設 Δ(\Delta (Δ( x,y)x,y)x,y) 為數據域中兩點之間的距離函數。

對于所有輸入 xix_{i}xi?DDD 中,GDR尋求一個生成過程 ggg ,其中 yi~g(?∣xi)y_{i}\sim g(\cdot |x_{i})yi?g(?xi?) 滿足 h(yi)=1h(y_i) = 1h(yi?)=1 并具有最小的 Δ(xi,yi)\Delta (x_i,y_i)Δ(xi?,yi?) ,并因此產生一個新的精煉數據集 D′={yi}°D^{\prime} = \{y_{i}\}_{\circ}D={yi?}°?

由指標h捕獲的感興趣標準可以是任何可以通過某些驗證函數評估的數據點約束。例如,標準可以是文本是否包含拼寫錯誤,或者圖像是否包含日出。在這項工作中,我們關注生成過程 ggg 是一個經過大規模數據集訓練的提示式LLM的簡單情況。

在真實數據上對合成數據生成進行條件化是一個概念上簡單的轉變,具有深遠的意義。流行的合成數據方法通常依賴于在某個數據集上訓練過的生成模型的重復采樣,導致數據多樣性降低因為輸出傾向于偏向訓練混合中頻繁表示的結構(Long等人,2024)。相比之下,真實世界的數據集通常具有更大的多樣性,特別是在豐富、開放式的領域,其中大型生成模型能夠提供最大的效益(Gao等人,2020)。通過將合成數據生成重新定義為對這類真實數據集的精煉,GDR的輸出可以繼承真實世界的數據多樣性,同時利用預訓練模型的生成能力。

一方面,由于GDR以黑盒方式使用生成模型作為其數據轉換,任何GDR實例都有望從底層生成建模方法的快速改進中受益。例如,改進的指令跟隨能力可以直接轉化為更好的遵循轉換指令。另一方面,GDR可能計算密集,在最壞的情況下,需要大約是同一數據集完整訓練運行三分之一的FLOP成本(Kaplan等人,2020)。然而,這種后者的成本會隨著時間的推移而攤銷,因為最終的精煉數據集可以在未來的模型訓練運行中重復使用。更實際的是,實際成本可能要低得多,因為較小的模型可以被微調以達到較大模型的質量(正如我們的實驗將顯示的那樣),以及通過利用最初較大的模型進行蒸餾或其他改進。

在這項工作中,我們研究了自然語言和代碼領域中GDR,其中LLMs

可以作為許多細化標準的通用轉換。我們專注于將GDR應用于數據匿名化和內容去毒化任務這是在為前沿LLMs擴展訓練數據時面臨的兩個普遍挑戰。

4.匿名化數據

我們將GDR與2024年9月版本的商業方法進行比較,該方法通常用于實踐中用于檢測個人身份信息(PII)。我們稱此服務為基于檢測器的信息刪除服務(DIRS),它包含一組用于識別PII子字符串的PII檢測器,每個檢測器專門用于特定的PII類別,例如真實姓名和國家/地區特定的國家ID。這些檢測器的實現方式各不相同。一些檢測器,例如真實姓名檢測,使用特定領域的統計分類器,這種方法受限于較小訓練數據集的范圍,而LLM預訓練中使用的互聯網規模數據集則更大。大部分檢測器依賴于基于正則表達式和熱詞的使用規則啟發式方法。這些方法通常比較脆弱,并且無法考慮父文本上下文中的潛在PII。相比之下,GDR利用預訓練LLM中的龐大世界知識來識別PII,同時考慮父文本的完整上下文。與DIRS不同,GDR使用單個模型,該模型可以預期在許多PII類別中泛化。

GDR是一種生成式方法,而DIRS是一種判別式方法。DIRS可以作為數據重寫管道的第一階段,但在重寫中使用的替換內容必須由核心檢測邏輯之外的某個獨立模塊指定。例如,DIRS服務提供了一種選項,可以用預定義的安全字符串庫中提供的值替換檢測到的子字符串。鑒于DIRS主要的判別性質,基于DIRS的數據清理管道通常使用它來標記可能包含PII的文檔并將這些文檔標記為從訓練集中移除。相比之下,GDR直接生成上下文相關的替換內容來替換PII。關鍵在于,這種區別使GDR能夠挽救這些數據用于訓練。

4.1.GDR在PII類別中的有效性

表1|針對108個PII類別的20k個句子進行交叉驗證的精確率、召回率和F分數。

回憶精度F分數
DIRS0.530.520.52
GDR0.990.800.88

4.1. GDR在PII類別中的有效性表1|針對108個PII類別的20k個句子進行交叉驗證的精確率、召回率和F分數。

回憶精度F分數
DIRS0.530.520.52
GDR0.990.800.88
為了評估GDR在PII移除方面的有效性,我們在DIRS服務支持的108個類別中包含PII的超過20k個句子的數據集上比較GDR和DIRS。對于每個PII類別,我們實現了一個特定類別的PII字符串生成器,其輸出完美地符合該PII類別中字符串所需的格式,包括任何校驗和約束,例如各省的加拿大駕駛執照號碼。然后我們將這個程序生成的PII字符串插入到一個內容字符串中,該字符串描繪了某種陳述或對話,其中模板化的PII字符串被泄露。這些PII- 陽性句子在包含僅PII字符串的句子和同時包含PII類型的名稱的句子之間保持均勢,例如美國社會保障號碼。這些PII字符串中的大多數是完全數字的(除了分隔符,例如“- ”或“#”)。對于這種數字PII,我們還將每個生成的PII字符串插入到第二個PII- 陰性句子中,在該句子中,相同的數字(去除任何分隔符)作為非PII數字值,例如科學測量。PII- 陽性和PII- 陰性句子都是由通過附錄E- G中的提示對Gemini Pro 1.5(Gemini團隊等,2023年;Reid等人,2024年)進行采樣生成的。對于所有類別,我們比較GDR和DIRS在召回率方面的表現,召回率定義為DIRS標記的或GDR成功重寫的真實PII字符串的比例。對于數字PII類別,我們還比較GDR和DIRS在精確率方面的表現,其中PII- 陰性句子中任何被DIRS標記或被GDR重寫的假PII字符串實例都計為假陽性。

在圖1中,我們報告了每種方法在所有類別上的平均召回率,以及數字PII類別的平均精確率。我們的結果表明,基于GeminiPro1.5的單個、共享的零樣本提示,用于所有108個類別的PII移除,在召回率和精確率方面均顯著優于DIRS的專用檢測器集合(有表示例句子及其通過附錄A中的提示使用GDR進行的改進,請參見附錄K中的表6和表7)。

基于GeminiPro1.5的單個、共享的零樣本提示,用于所有108個類別的PII移除,在召回率和精確率方面均顯著優于DIRS的專用檢測器集合(有關示例句子及其通過附錄A中的提示使用GDR進行的改進,請參見附錄K中的表6和表7)。


圖2|模型大小對PII基準測試中GDR精確率和召回率的影響。

4.2.模型大小的影響

4.2. 模型大小的影響由于GDR的計算成本高于DIRS,我們研究了較小的模型是否能在使用Gemini Pro 1.5的情況下匹配GDR的性能。我們在多個模型上使用相同的零樣本提示評估了GDR:Gemini Pro 1.5、Flash 1.5、Flash 8B、Gemma 2.9B和Gemma 2.27B。圖2中的結果顯示,較小的模型可以實現與Pro 1.5相似的召回率,但精確率顯著較低。

4.3.針對數據精煉的模型適配

我們現在研究少樣本提示和微調用于GDR的底層模型是否能使較小的Flash 8B模型能夠


圖3|基于k-shot提示的GDR召回率和精確率(GeminiPro1.5和Flash8D)。

在我們的PII基準測試中匹配GeminiPro1.5的召回率和精確率。

少樣本提示:圖3中的我們的少樣本結果顯示,為正例合并示例輸入- 輸出對可以提高Flash8B和GeminiPro1.5的性能,召回率隨著提供的樣本數量持續增加。然而,當僅提供PII正例時,精確率在小樣本數量(即GeminiPro1.5為2次,Flash8B為8次)后會下降,但通過保留一半的樣本為PII負例可以逆轉此效果。

有監督微調:我們在一個包含10k個用于訓練的、程序生成的PII- 陽性句子的數據集上對Flash8B進行標準的監督微調(SFT),遵循了與產生PII基準評估示例時相似的協議。

圖2中的結果表明,這個過程顯著提高了Flash8B在PII基準上的召回率和精確率,使其超越了GeminiPro1.5的性能。這一結果表明,即使是相對較少的示例數量,標準的SFT也足以提升小型LLM的性能,使其超過像GeminiPro1.5這樣的大型模型。

綜合來看,我們的少樣本提示和SFT結果表明,通過適配小型LLM可以顯著降低GDR的計算成本(從而使它適用于大數據工作負載)。

4.4.匿名化數據的效用

表2|在各個數據集上微調的模型回憶公共和私人事實的準確性。

M(原始)MDIRSM'
公共準確性↑0.320.000.25
私人準確性↓0.260.000.00

我們現在試圖驗證GDR是否產生匿名化數據,這些數據仍然對訓練有用。理想情況下,在精煉數據集 D′D^{\prime}D 上訓練模型允許模型學習原始數據集 DDD 中原本公開的信息。我們調查這種行為是否在合成公司域中成立。在這里,我們使用Gem- iniPro1.0生成10k個合成公司描述,每個描述都是一個JSON,包括公司名稱、公司描述以及現任和即將上任的CEO的名稱。我們在附錄H中包含生成提示,在附錄L中提供示例合成公司。所有值都被視為公共的,除了與即將上任的CEO相關的名稱和簡介字段,這些被視為私人信息。然后我們從這些條目中確定性地生成問答對,其中答案是公司名稱、現任CEO或即將上任的CEO。我們將此問答任務稱為CompaniesQA。

然后我們訓練小型Gemini模型,從同一個指令微調檢查點開始,針對三個版本的指令微調數據集進行問答任務:(1)原始數據集 DDD 包含PII,(2)通過DIRS服務脫敏的數據集 DDD DIRS,以及(3)

精煉數據集 D′D^{\prime}D ,通過GDR脫敏,分別得到模型 MMM 、MDIRS和 M′M^{\prime}M (有關脫敏提示,請參見附錄B)。然后我們比較這些訓練好的檢查點在基于公共和私人事實回答問題時的準確性。在完美脫敏的數據上訓練的模型應該能夠正確回答關于公共事實的問題,但無法正確回答任何關于私人事實的問題。表2中的結果顯示 MMMM′M^{\prime}M 在公共事實上的準確性相當,而 M′M^{\prime}M 無法為私人事實提供任何正確答案。相比之下,MDIRS既不能正確回答公共事實,也不能正確回答私人事實,因為DIRS方法精度較低,會脫敏與姓名類別匹配的字符串,無論信息是否被視為私人信息。

(b)代碼庫級協議與專家標簽

5.大規模代碼匿名化

我們現在將GDR擴展到大規模代碼數據集的匿名化任務中,該數據集包含來自479個開源倉庫的超過120萬行代碼。代碼中可能包含多種形式的PII泄露,包括個人電子郵件和登錄名、密碼、認證令牌、包含私人信息的URL以及其他敏感標識符。

DIRS服務通常用作標記代碼文件以從訓練中移除的方法,因為其包含PII的可能性很高。然而,在Web級別,誤報可能導致刪除數百萬個代碼標記,這會對訓練混合的效用產生負面影響。我們研究了GDR是否可以作為可靠替代方案,通過將任何PII重寫為通用占位符來識別和拯救包含PII的代碼。

我們收集了大規模代碼數據集上的人類專家注釋,指定了行級別的PII。然后我們使用少量提示運行DIRS和GDR進行代碼匿名化,并在圖4中報告了它們相對于“真實標簽”的人類專家標簽的混淆矩陣。我們在附錄C中分享了代碼匿名化提示。在文檔級別,DIRS和GDR都與專家正標簽達到了很高的同意率。然而,在這里,DIRS在與專家負標簽的同意率上存在問題,

bels,這會導致有用訓練數據的過度丟棄。在行級別上,GDR在行級別上與正面和負面專家水平都達到了高度一致。相比之下,DIRS與專家正面標簽的協議較低,這使得它在識別PII的確切位置方面不可靠。附錄M展示了GDR成功和失敗改進的示例,包括誤報和漏報實例,并分析了最常見的失敗模式。重要的是,誤報可能會引入代碼重寫,導致潛在的回歸。我們發現許多誤報是由于我們的匿名化提示導致過于保守的改進,其中安全占位符字符串被重寫為新的占位符。在其他情況下,GDR識別了專家標注員遺漏的PII字符串。一些誤報重寫會導致用占位符字符串替換變量名,這可能會引入錯誤,盡管這些相對較少,并且對于許多語言,可以使用靜態分析來檢測。我們的結果表明,GDR在識別和重寫代碼PII方面的準確性使其成為大規模匿名化代碼庫的可行選項。


圖5|PerspectiveAPI對pol100k的毒性評分,與GDR處理后的數據集和從GeminiPro1.5中采樣的基線合成對話的評分進行比較。

表3|平均視角API毒性分數

pol100k精煉pol100k合成聊天
0.190.130.14

6.去毒性數據

當用于模型訓練時,有毒內容會導致災難性后果(Schwartz,2019)。然而,有毒數據可以包含可用于改進模型世界知識的信息。我們現在將GDR應用于有毒內容刪除的任務,并評估GDR是否能產生被評為毒性較低、同時保留任何有用世界知識的改進數據集。

6.1.清理毒性網絡內容

我們專注于《失落的關鍵數據集》(Papasavva等人,2020年)的一個子集,該數據集是4chan論壇/pol/討論區中4M個討論的文本抓取,以充斥種族主義、性別歧視以及通常冒犯性和經常露骨的用戶帖子而聞名。我們從其中隨機抽取了100k個討論線程,并從每個線程中抽取一對消息,其中一個是回復另一個的。我們將這個子集稱為pol100k。然后我們使用GeminiPro1.5(Reid等人,2024年)和零樣本提示(見附錄D)應用GDR,以生成數據集的凈化版本。我們使用PerspectivesAPI(Lees等人,2022年)對數據集在常見類別中的毒性進行評分。我們將它與GeminiPro1.5通過提示生成的基線毒性進行比較,提示它生成100k個單輪對話數據集

附錄I顯示了生成提示,附錄N顯示了示例合成對話。

我們的結果在圖5中顯示,GDR生成了一個精煉的數據集,其每類毒性評分顯著低于pol100k,而表3顯示GDR將這些評分甚至還原到了從同一模型采樣的基線合成對話水平以下。我們在附錄O中展示了示例解毒輸入輸出對。

6.2.從4chan數據中安全學習

表4|在pol5k- quiz上對每個數據集訓練的模型的準確率,以及模型響應作為LLM生成文本時被檢測到的比率。

準確率規避率
無微調0.880.042
精煉pol100k0.920.31

我們的脫敏提示額外向LLM指令提取pol100k中消息對中關于世界的任何事實,并將每個事實改寫為問答對(參見附錄10)。因此,我們生成了pol5k- quiz,一個包含5k個子采樣問答對的數據集,其所需知識存在于pol100k中。pol5k- quiz的示例在附錄O.2中呈現。

我們使用pol5k- quiz來衡量GDR的脫毒輸出在pol100k中保留了多少原本非毒性內容,即關于世界的信息。我們在脫毒的pol100k(由GDR生成)上微調Flash8B模型,并將其在pol5k- quiz上的準確率與初始檢查點的準確率進行比較。圖4中報告的微調模型的更高準確率表明,脫毒數據集保留了原始毒性數據集的信息。我們還發現,在脫毒pol100k數據集上微調的模型采用了更接近人類用戶的響應風格,我們發現,雖然提示的GeminiPro1.5幾乎總能識別原始檢查點的響應為LLM生成,但它對微調模型的識別失敗率為 31%31\%31% (有關識別提示,請參見附錄J)。


圖6 | Gecko嵌入的UMAP,通過GDR對SyntheticConvos、pol100k和pol100krefined中每個數據集的10k個隨機子樣本進行處理。

7. 基于合成數據的多樣性

表5|每個數據集10k個樣本的均值成對相似度指標。

L2↑ROUGE-2 F分數↓
Raw1.00.0037
細化1.10.0038
合成0.990.012

用于訓練LLM的網絡規模數據通常高度多樣化,但從訓練好的LLM中獲取多樣化的樣本可能具有挑戰性:基礎模型通常需要脆弱的提示和少樣本示例工程。同時,指令微調模型可以更好地遵循生成指令,但表現出降低的多樣性(Kirk等人,2023年)。GDR提供了第三種途徑:基于現有真實數據點的重寫條件樣本的合成數據生成。因此,我們預計GDR將生成與真實數據集可比多樣性的數據集,從而為更多樣化的合成數據提供簡單的方法。我們通過比較原始和精細(即脫毒)的pol100k數據集以及基線合成對話數據集(SyntheticChat)在平均成對ROUGE- 2(Lin,2004年)和Gecko嵌入之間的余弦距離方面的多樣性來檢驗這一假設。我們在表5中的結果表明,精細數據集的多樣性遠高于SyntheticChat,實際上甚至略高于

原始數據集的多樣性。圖6直觀地展示了多樣性作為潛在嵌入空間中的一種覆蓋形式的理念,顯示了每個數據集在10k個隨機樣本上的Gecko嵌入的UMAP(McInnes等人,2018年)。在這里,SyntheticChat與真實和精煉數據集形成不同的簇,值得注意的是,它表現出幾個密集的簇,這表明存在顯著的模式崩潰,而原始數據集和精煉數據集中均不存在這種情況。

8. 討論與結論

在這項工作中,我們介紹了生成式數據精煉(GDR)——一種基于合成的數據生成實例——其中足夠強大的LLM重寫數據,以便每個示例都滿足語義約束(例如,不包含個人身份信息(PII)、低毒性),同時保留其效用。在多個真實的大規模數據集上,GDR可靠地移除PII和毒性內容,保持任務相關信息,并產生比直接提示合成數據更多樣化的數據集,為擴展安全、有用的訓練數據總量提供了一條實用路徑。未來的工作包括減少計算量并提高質量(例如,通過蒸餾(Agarwal等人,2024b)或強化學習微調),以及將GDR擴展到其他模態和風險類別,包括受版權保護的內容和語料庫級別的PII泄露,其中私人信息可能在一個或多個文檔內部或之間被推斷(Staab等人,2023)。

附錄

A.個人身份信息匿名化提示


圖7|零樣本提示在所有PII匿名化基準實驗中共享,包括Flash8B模型的SFT。

B.公司匿名化提示

Rewrite the value text for the following JSON to be free of any private information, where any information related to the upcoming, next CEO transition should be considered, private. For any potentially private information, replace it with a semantically equivalent piece of information that is randomly sampled and not overlapping in any words with the replaced text. The current CEO is public knowledge. Make sure to make all such replacements semantically consistent throughout the rewritten text. Absolutely do not use generic placeholder text. Make sure to use specific, semantically consistent replacement values. Respond only with the valid JSON with the rewritten values. JSON: {json}

C.代碼匿名化提示

C. 代碼匿名化提示I will give you a line from a code file, which might include just a single character in the case of a bracket, e.g. ‘}’'. You will decide if any of the contents in the line of code constitutes PII. Examples of personally-identifiable information (PII), such as drivers license numbers and any form of personal ID number, as well as API keys and other kinds of authentication tokens. Examples of things that are not PII, but look like PII, are variables in code that could reference personal information, scientific measurements, others forms of quantitative facts about the world such as counts and statistics, mathematical facts, or any otherwise long digit string that cannot be inferred to be about personal information based on the surrounding context. Code variables that could reference PII ARE NOT PII.

**MANDATORY GUIDELINES: ??\ast \ast??

**MANDATORY GUIDELINES: ??\ast \ast?? - Variable symbols which reference values that can be PII, are NOT themselves PII. Therefore DO NOT rewrite these. - Do not rewrite parts of strings that correspond to format string or template variables. - Only rewrite parts of the input code corresponding to strings. - Therefore, no matter what, NEVER rewrite a variable name into a string of numbers or other kind of placeholder. - Make sure to rewrite PII strings even if they appear in code comments. - If there is any real PII, rewrite the sentence to be free of any information that could be considered PII, such that the PII substrings in the sentence are replaced with equivalent, generic PII strings that are obviously fake, such as 12345 or abcdef, but where the replacement matches the original PII string in length. - In the case the sentence does not include substrings that are PII, keep the original sentence COMPLETELY unchanged, including ALL numerical values. I repeat, in this latter case, do not change any values or replace any substrings with generic placeholders. - Whenever possible, make sure your rewrites abide by the code syntax of the programming language of the surrounding text. - However do not fix any parts of the code that does not need to be rewritten for PII.

As you rewrite the code, be absolutely sure to follow the guidelines above.

**Examples illustrating the rules: ??\ast \ast??

Example 1: Input: “console.log(Server Is Running In localhost: \ ${PORT});” Output: “console.log(Server Is Running In localhost: $ {PORT});” Explanation: Since \ PORT{PORT}PORT is a variable, not the PII itself.

Example 2: Input: var ip_address = ‘169.08.16.02’ Output: var ip_address = ‘192.01.01.01’ Explanation: The IP string value is an instance of real PII.

Example 3: Input: accessToken = ‘pk.ueqwie921982312398daskjhdfs02.129387kjshdak92’ Output: accessToken = ‘abcdefghijklmnopqrstuvwxyz’ Explanation: The accessToken value is set to a high- entropy string that is likely a real token and thus is PII.

Respond only with the final sentence. Do not respond with any extra commentary. Apply these instructions to this text. {text}

圖9|用于在我們的大規模代碼實驗中匿名化代碼的少樣本提示。

D.解毒事實提取提示

Task:

Task:- You receive a highly toxic or offensive snippet from a conversation, consisting of two messages in an exchange. The start of each message is marked by ?SOM?\langle \mathsf{SOM}\rangle?SOM? , and the end of each message, by ?EDM?\langle \mathsf{EDM}\rangle?EDM? .- First, determine whether there are any true facts about the worldinside the text.- Second, for each fact identified, come up with a question and answer pair, where the answer is based on the fact identified. Answers should be a single concept, like a noun or phrase, or a yes/no value. Some examples:

Example 1: Fact: NYC is an expensive place to live.

Q: Is NYC considered an expensive place to live? A: Yes

Example 2: Fact: Pierce Brosnan played James Bond in Goldeneye.

Q: Who played James Bond in Goldeneye? A: Pierce Brosnan

  • Third, rewrite the offensive text into a neutral, inoffensive form, taking care to preserve any ground-truth facts present in the original text.- When rewriting the text to be clean, inoffensive, and safe, do not add any extra opinions, judgements, or commentary. Only include the rewritten text.- The rewritten text should contain as much detail from the original input text as possible, including the ground-truth facts identified if any, while rewording any toxic or offensive content to be non-toxic and inoffensive.- Respond in the following format:

True facts

One line for each true fact in the original text. If there are multiple facts, include each one in its own line. Try your best to include all the facts.

Question and answer pairs One question and answer pair, structured as

Q: A:

for each fact identified above, where each pair is separated by a new line.

Cleaned text

A neutralized, inoffensive and safe version of the input text without any extra commentary on the toxicity of the input text, while preserving any ground- truth facts identified above. If the text consists of multiple comments, rewrite each one, preserving the colloquial flavor of the messages. Begin each rewritten message with ?SOM?\langle \mathsf{SOM}\rangle?SOM? and its end with ?EDM?\langle \mathsf{EDM}\rangle?EDM? like in the input.

Apply the above instructions to this text: {text}

圖10|用于提取事實和凈化網絡對話的少樣本提示。

E. PII陽性句子模板生成提示

Task:

  • Generate a template for a sentence that leaks a {pii} variable, which stands for an alphanumeric string value that represents some sensitive personally identifiable information (PII), such as an actual driver’s license, social security number, an encryption key, authentication token, password, or other kinds of sensitive identifiers.

  • Make it obvious from the sentence contents that the {pii} variable is indeed a form of PII. Thus make sure to mention that the variable is an identifier or personal detail if that is not clear from usage.

  • Make sure that in the context of the sentence, it makes sense for the {pii} value can be replaced with the

actual value of the PII. That is, {pii} should not stand in for the category, but the actual value. The sentence should make sense ofboarding this usage.

  • Do not state the length of the {pii} variable.
  • However, do not state the name or field-type of the specific PII in the template. Keep it generic. Use terms like “personal details”, “identifier”, “secret”, “ID”, or “account info” instead.
  • Do not include any other template variables.
  • See some examples sentences below for inspiration.

Example 1 - Incomplete: My info: {pii}

Example 2 - Formal: Yes, simply enter {pii} for the authentication details.

Example 3 - Colloquial: If I remember correctly, her unique identifier should be {pii}.

Example 4 - Formal: Yes sir, of course. I can confirm that it is {pii}.

Example 5 - Colloquial: So you wanna know my details? Okay, but don’t tell anyone. It’s {pii}

  • Some negative examples that do not follow the above instructions, because (1) the {pii} is being used as a category name, and not the actual PII string itself, or (2) there’s not enough information that the string is a PII, or (3) a specific length is assigned to the {pii} variable. See some examples of bad templates below:

Bad example 1 - Variable used as category name: You got a {pii} on ya?

Bad example 2 - Variable used as category name: Please enter your {pii} into the field below.

Bad example 3 - Not clear if variable is PII: Oh, so the value is just {pii}?

Bad example 4 - Specific length assigned to variable value: Enter the last 4 digits, which are {pii}?

  • Be extremely creative and come up with other settings where such PII might be leaked in text or conversation, e.g. on a customer support call, in a group chat with friends, in an email at work, as a sensitive document that has leaked online, or as a transcript of a real-life conversation. Keep it interesting!

  • Do not actually include a real number in the sentence. Always represent the number by its template variable, {pii}.

  • Keep your sentences syntactically diverse. Vary your style, randomizing equally over colloquial or formal styles.

  • Use a combination of complete and incomplete sentences, dialogue and prose. Mix it up.

  • Respond only with a single sentence template without additional commentary.

  • Structure your answer in this JSON this format:

{ “scenario”: “scenario in the template, in which the PII is leaked”, “sentence_style”: “sentence style”, “context_sentence”: “the sentence template” }

圖11 | 用于生成每個示例的PII陽性句子模板的Few- shot提示PII基準。變量{pii}會隨機生成以匹配一種真實的PII類型。

F.含PII的正向句子模板生成提示(含PII類型)

圖12|用于生成含PII的正向句子模板(明確提及PII類型)的少樣本提示,用于PII基準中的每個示例。變量{pii}和{pii_type}隨機生成以匹配真實的PII類型。

G. PII-negative 句子模板生成提示

Task:

Task:- Generate a sentence template with a {value} variable that stands in for a long (8- 20) digit number that is used in the sentence as a piece of non- personally identifiable information, such as a scientific measurement, census result, a mathematical fact, a market report number, or other commonly available public fact.- See some examples sentences below for inspiration.

Example 1: The star was a distance of {value} from the Earth.

Example 2: There are value cells in the body of the new specimen.

Example 3: Wow, I didn’t realize Tom would end up inheriting value pounds of clay from his late father, a sculpter.

Example 4: Welcome to Mars. Population: {value}.

Example 5: The typical FutureOS takes {value} KB to install.

Example 6: Now featuring over value songs.

  • Be creative and come up with other settings, but make sure the number represented by {value} can come up in a publicly available text and not information that can be considered private in any way. Keep it interesting!
  • Do not actually include a real number in the sentence. Always represent the number by its template variable, {value}.
  • Keep your sentences syntactically diverse. Try sounding formal, casual, and colloquial. Vary your style.
  • Use a combination of complete and incomplete sentences, dialogue and prose.
  • Respond only with a single sentence template without additional commentary.
  • Structure your answer in this JSON this format: { “scenario”: “a creative scenario where the multi-digit value might appear without revealing private information”, “sentence_style”: "a 1-2 word description of the sentence style, “context_sentence”: “the sentence template” }

圖 13 | 用于生成 PII 負樣本句模板的少樣本提示。基準中的每個 PII 負樣本示例都是基于這種方式生成的輸出模板。在每個實例中,模板變量 {value} 被設置為從 DIRS API 支持的 100+ PII 類別集中隨機程序生成的數字 PII 字符串。

H.合成公司生成提示

H.合成公司生成提示Generate a list of {n} companies in diverse set of industries. For each company, include the following details in JSON format:- company_name: the name of the company- company_blurb: a full, detailed paragraph about the main business, strategy, and unique value proposition of the company- ceo_full_name: the full name of the current CEO- ceo_bio: a brief bio of the current CEO- next_ceo_full_name: the full name of the incoming CEO- next_ceo_bio: a brief bio of the incoming CEO- next_ceo_date: the date when incoming ceo takes over in MM-YYYY formatEnsure all fields are assigned actual values that are not empty or null.Assume all companies have an incoming CEO.

圖14|用于生成合成公司信息的JSON對象的提示(其中我們設置了模板變量{n}轉為1)。

一、合成單輪對話生成提示

Task:

一、合成單輪對話生成提示Task:- You have read the entire Internet and are intimately familiar with all of its various corners and subcultures.- Imagine a conversation on an online discussion channel.- First come up with a demographic that your topic appeals to.- Second, come up with a topic for that group of people. Be creative and unpredictable in your choice. Consider the full range of topics, from popular talking points to niche interests.- No matter what you do, do not choose thumb wrestling or anything related as the topic.- Avoid focusing too much on competitive hobbies, and avoid using the word “competitive” in your choice of topic name.- Third, imagine a list of n messages in the conversation between two humans where each message is a response to the previous one.- Finally, respond with your topic and message list as a valid JSON following this format, and do not respond with any extra commentary:{“demographic”: “name of demographic to which the topic is relevant”, “topic”: “name of topic, followed by a fun name for the topic”, “messages”: [a list of message strings]}

圖15|用于生成SyntheticChat100k數據集中合成對話的提示。

J. LLM 響應識別提示

圖 16 | 用于識別 LLM 響應的提示。變量 {message} 和 {response} 分別設置為 LLM 的輸入和輸出。LLM 的輸入和輸出。

K.PII基準示例

表6|示例來自PII基準的PII陽性句子和PII陰性句子。

PII陽性PII陰性
別擔心女士,我找到了您的訂單。您支付了用卡號以6687-7593-7744結尾的,對吧? 看,很明顯我已經登錄了,只是check my taiwan passport, which is 130596315
<nl>

表7|GDR修改的PII- 正面和PII- 負面示例。當GDR無法修改PII- 正面字符串時會出現假陰性,而當GDR將PII- 負面字符串重寫為指定的占位符格式時會出現假陽性。

原始句子優化后的句子
Ugh,我的...是什么,Hulu 密碼...? Oh 沒關系,找到 it: AizaK-ts6ahrh8ehe8kxXfnS9uVTGUY00m3SO22 (別評判我!lol)Ugh,我的 Oh nevermind found it: abcdef-abcdefghiaabcdefghiaabcdefghi (別評判我!lol)
請查看附件以獲取所有團隊 croa-tia 個人身份證號碼,我的被列為 81404096586 作參考。請查看附件以獲取所有團隊 croa-tia 個人身份證號碼,我的被列為 12345678910 作參考。
嘿,這個星系有,像,81404096586 個計劃-要探索!嘿,這個星系有,像,81404096586 個計劃-要探索!
好吧,老鷹已經降落,目標賬戶信息是 11066812121,你復制了嗎?好的,鷹已降落,目標賬戶信息是 12345678901,你復制了嗎?
哇,11066812121次流?那首歌是爆炸了。哇,11066812121次流?那首歌是爆炸了。

L. CompaniesQA 示例

表8|示例合成公司,用于構建CompaniesQA數據集。我們的合成數據生成提示還生成了公司和CEO簡介,但我們的問答對僅關注人名。

公司名稱現任 CEO下一任 CEO
Zenith BionicsEvelyn HayesIsabella Torres
AmplionAmelia CarterSamir Rashid
海之收獲Eleni CostaAnita Patel
Varuna SystemsElizabeth TannerMark Hudson
Quixotic AutomationMarcus VegaAudrey Wu

表9|示例問題- 答案對由GDR重寫。

原始問題-答案對

優化問題-答案對

Q:Anantara Consulting的新任CEO是誰? A:AnantaraConsulting的新任CEO是 SamuelChen。

Q:HydroMotionInc.的新任CEO是誰? A:HydroMotionInc.的新任CEO是 Anya Malhotra。

Q:VerdantFieldsOrganics的CEO是誰?A: VerdantFieldsOrganics的當前CEO是Dr. Amelia Sanchez。

Q:AnantaraConsulting的新任CEO是誰? A:AnantaraConsulting的新任CEO是 Isabella Rodriguez。 Q:HydroMotionInc.的新任CEO是誰? A:HydroMotionInc.的新任CEO是 Ingrid Stevens。 Q:VerdantFieldsOrganics的CEO是誰?A: VerdantFieldsOrganics的當前CEO是Dr. Amelia Sanchez。

M.代碼匿名化示例

M.1. 帶有積極專家標簽的 GDR 協議

Example 1, original code:

github_token: $github_token 32ab2812d8e8790860f134af8ece6240f1cdf276

Example 1, refined code:

github_token: $github_token abcdefghijklmnopqrstuvwxyz12345678

Example 2, original code:

params.put(“request_token”, “073504cc3083616711410d7687531654ab82a027”);

Example 2, refined code:

params.put(“request_token”, “abcdefgh123456789012345678901234”);

Example 3, original code:

<Reference Include === “FluentNHibernate, Version =1= 1=1 .3.0.717, Culture === neutral, PublicKeyToken === 8aa435e3cb308880, processorArchitecture ?\coloneqq:= MSIL”>

Example 4, original code:

Example 4, original code:var sheetID = “1xyi5- mbiHJ- T021nCaIL_FE60LxdE2Pn9pHHDkq0dHI”;

Example 4, original code:

var sheetID = “1xyi5- mbiHJ- T021nCaIL_FE60LxdE2Pn9pHHDkq0dHI”;

Example 4, refined code:

var sheetID = “12345- abcdefg- 1234567890123456789012345”;

Example 5, original code:

const JWT_SECRET === “Harryisagood$boy”;

Example 5, refined code:

const JWT_SECRET === “xxxxxxxxxxxxxxxxxxx”;

M.2.GDR假陽性示例

模式1:遮蓋安全字符串

示例1,原始代碼:

t = “SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED”);

示例1,優化代碼:

t = “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”);

示例2,原始代碼:

address: “My House”,

示例2,優化后的代碼:

address: “123 Main Street”,

模式2:使用占位符字符串替換變量

示例1,原始代碼:

header[“client- device”] =多元化device.bk_uuid

示例1,優化后的代碼:

header[“client- device”] = “12345678- 90ab- cdef- ghij- klmmopqrstuv”

示例2,原始代碼:

cl.l.WithFields(cl.f).WithField(“file”, getCaller()).Debug(args…)

示例2,優化后的代碼:

cl.l.WithFields(cl.f).WithField(“file”, getCaller()).Debug(“12345”)

示例3,原始代碼:

HashCode hash0 = HASH_FUNCTION.hashString(upass, Charsets.UTF_8);

示例3,優化后的代碼:

HashCode hash0 = HASH_FUNCTION.hashString(abcdef, Charsets.UTF_8);

模式3:識別專家標注員遺漏的PII

Example 1, original code: bucket = “shrivrealestate” Example 1, refined code: bucket = “abcdefghijkl” Example 2, original code: “https://main.dxb4defsuv12t.amplifyapp.com/”, // For AWS domain Example 2, refined code: “https://main.abcdef1234567890. amplifyapp.com/”, // For AWS domain Example 3, original code: sitekey=“6Ld9paMZAAAABRo0ITeyF3bZLnGf47y0k9bVJy_” Example 3, refined code: sitekey=“abcdefghijklmmopabcdefghijklmnopabcd”

M.3.GDR假陰性示例

模式1:哈希值

示例1,原始代碼:RevisionID:5f92b71173a5

示例2,原始代碼:private static final long serialVersionUID === “2158560246948994524L”;

示例3,原始代碼:

示例3,原始代碼:[global::Microsoft.AspNetCore.RazorHosting.RazorSourceChecksumAttribute( @“SHA1”, @“0d4355cd057ab850b902eee01a699ab6a1e0604a”, @“Views/Account/Login.cshtml”)]

模式2:跳過專家標注為PII的安全默認字符串

示例1,原始代碼:

Subnet10.0.0.0/24

示例2,原始代碼:private static final String ENCRYPTED_PRIVATE_KEY === “encrypted_private_key”;

示例3,原始代碼:

username:“test@example.com”

示例4,原始代碼:

private static final String AZ_GRANT_TYPE === “authorization_code”;

N.SyntheticChat示例

表10|示例單輪合成聊天消息

消息1消息2
任何人找到Geo-緩存的好運嗎? caching.com的早期?我特別感興趣的是2005年以前的那些,那時候描述更加模糊和詩意。感覺像數字考古一樣!對我來說就像數字考古! 有誰試過用,比如, 點陣打印機制作ASMR視頻嗎?那些東西發出的聲音奇怪地讓人放松。

OMG你們絕對要看看我在房產拍賣會上找到的這面鏡子它銀質精良,刻有美人魚!!等我到家的時候會發照片的。
我在寫一個故事,魔法來自在空中畫符號。有任何關于如何的技巧保持系統一致性?

<nl>

O.4chan/pol/示例

0.1.解毒示例

表11|/pol/消息通過GDR解毒的示例。粗話已被星號替換。注意,大多數消息包含比本表中包含的內容更冒犯性的內容。

原始消息精煉消息
消息1:人們想要脫歐你 ***。 吃****和吐 消息2:英格蘭還有49%的左翼人士和 沒有左翼人士投票支持脫歐。非英國右翼人士呢?那年休普爾塔利亞主義者?Kys美國佬。 The lolbertarians? Kys murican.消息1:人們投票支持脫歐。 消息2:英格蘭49%的選民認同為 左傾,并且他們中沒有一個人投票支持脫歐。 那么非英國右傾選民和 自由意志主義者呢?
消息1:這就像你想被群圍一樣 由外國人破壞我們的國家認同感。 LDP選民和greens一樣,只是...消息1:看起來你正在... 擔心移民及其潛在 關于國家認同的契約。你認為LDP 選民和綠黨選民持有相似的觀點 關于這個話題。
信息2:哦,對吧......你知道外國人建造了這個國家,對吧? ,和其他歐洲人?和洪水泛濫完全不同。 其他歐洲人?與洪水大不相同 用假難民來限制持槍權 并給予他們福利。消息2:我理解你的擔憂。Im- 來自不同背景的移民,包括 斯拉夫、中國和其他歐洲國家, 在歷史上為這個國家的發展做出了貢獻, 這個國家的。然而,這與 當前難民、槍支管制 法規和福利計劃不同。
信息1:最高效的電動機 在扭矩方面無法與柴油相比, 也許再過幾年 消息2:你們兩個都是****。去學習一下 電動馬達理論,再傳播你們的 ****在賭注上。消息1:目前,電動馬達不會產生 與柴油馬達相同的扭矩,但技術正在迅速 改進。 消息2:我不同意你的評估。我 建議進一步研究電動機理論。

0.2. 問答提取示例

表12|示例,從pol100k中提取的問答對。粗口已被星號替換。

原始消息

提取的問答對

消息1:加利福尼亞州已經和其他我住過的州差別很大。人們喜歡搬去那里,因為天氣很好,盡管平均費用高得令人咋舌。他們只是對槍支施加了更多限制,并合法化了非醫療用途的毒品,所以你所說的東西基本上在本周成真了。消息2:太好了!我期待著加利福尼亞州的退出。我真的希望美國其他地區被自由派分子掏空。

Q:在加利福尼亞州,娛樂性大麻是否合法?A:是Q:加利福尼亞州最近是否實施了更嚴格的槍支管制措施?A:是Q:加利福尼亞州的天氣通常被認為如何?A:很好

消息1:我希望他們能恢復采礦稅,一旦挖出來并賣掉就不能再生。消息2:但是那樣我們就會被擠出市場。跨國礦業公司會停止工作并將運營轉移到非洲,等待它們再次廢除。

Q:采礦是一種可再生資源開采過程嗎?A:不是Q:跨國礦業公司在哪里運營?A:非洲

消息1:GRRM是一個**混蛋,他的書和Denny’s的全餐菜單一樣沒有**洞察力。消息2:你是說有史以來最偉大的文化成就之一?哇。

Q:哪家餐廳有全餐菜單?A:Denny’s

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/98095.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/98095.shtml
英文地址,請注明出處:http://en.pswp.cn/web/98095.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ 多線程實戰 10|C++20 的信號量、閂鎖與屏障

目錄 前言 學習目標 1. 信號量&#xff08;Semaphore&#xff09; 示例&#xff1a;限制并發下載任務 2. 閂鎖&#xff08;Latch&#xff09; 示例&#xff1a;賽跑 3. 屏障&#xff08;Barrier&#xff09; 示例&#xff1a;圖像處理流水線 4. 常見坑與對策 5. 實踐作…

【Java SE】01. 初識Java

1. 認識Java Java是一種優秀的程序設計語言&#xff0c;它具有令人賞心悅目的語法和易于理解的語義。Java還是一個有一系列計算機軟件和規范形成的技術體系&#xff0c;這個技術體系提供了完整的用于軟件開發和跨平臺部署的支持環境&#xff0c;并廣泛應用于嵌入式系統、移動終…

解鎖倉儲智能調度、運輸路徑優化、數據實時追蹤,全功能降本提效的智慧物流開源了

AI 視頻監控平臺&#xff1a;全鏈路協同驅動的智能監控解決方案AI 視頻監控平臺是一款融合高性能功能與輕量化操作的實時算法驅動型視頻監控系統&#xff0c;其核心愿景在于深度破除不同芯片廠商間的技術壁壘&#xff0c;省去冗余重復的適配環節&#xff0c;最終達成芯片、算法…

冒泡排序與選擇排序以及單鏈表與雙鏈表

1. 冒泡排序&#xff08;Bubble Sort&#xff09; 1. 原理 冒泡排序是一種 簡單的排序算法&#xff0c;通過 兩兩比較相鄰元素&#xff0c;把較大的元素逐漸 “冒泡” 到數組末尾。 思路&#xff1a; 從數組頭開始&#xff0c;比較相鄰兩個元素。 如果前一個比后一個大&…

Python實現計算點云投影面積

本次我們分享一種基于 Open3D 的快速、穩健方法&#xff0c;用于從激光點云中自動提取“地面”并計算其投影面積。算法先自適應估計地面高程&#xff0c;再將地面點投影至水平面&#xff0c;隨后用凸包或最小外接矩形求取面積。整個流程無需人工干預&#xff0c;單文件即可運行…

AXI4 協議

一、AXI4簡介AXI4&#xff08;Advanced eXtensible Interface 4&#xff09;是ARM公司推出的高性能片上總線協議&#xff0c;屬于AMBA&#xff08;Advanced Microcontroller Bus Architecture&#xff09;標準的一部分。它專為高帶寬、低延遲的片上通信設計&#xff0c;廣泛應用…

《餓殍:明末千里行》Switch版試玩發布 3月13日發售

使用jQuery的常用方法與返回值分析 jQuery是一個輕量級的JavaScript庫&#xff0c;旨在簡化HTML文檔遍歷和操作、事件處理以及動畫效果的創建。本文將介紹一些常用的jQuery方法及其返回值&#xff0c;幫助開發者更好地理解和運用這一強大的庫。 1. 選擇器方法 jQuery提供了多種…

[特殊字符] 認識用戶手冊用戶手冊(也稱用戶指南、產品手冊)是通過對產品功能的清

一份優秀的用戶手冊能有效降低用戶的使用門檻&#xff0c;提升用戶體驗和工作效率。下面我將為你梳理編寫用戶手冊的核心要點、步驟和技巧。&#x1f4d6; 認識用戶手冊用戶手冊&#xff08;也稱用戶指南、產品手冊&#xff09;是??通過對產品功能的清晰解釋&#xff0c;為特…

蘋果軟件代碼混淆,iOS混淆、iOS加固、ipa安全與合規取證注意事項(實戰指南)

在移動軟件交付與合規審計中&#xff0c;蘋果軟件代碼混淆已成為保護知識產權與用戶數據的常規手段。但混淆帶來的不僅是逆向難度的提升&#xff0c;也會觸發崩潰取證、符號化&#xff08;symbolication&#xff09;、審計合規與法律證據保存等問題。本文從工程與合規雙視角出發…

Redis框架詳解

目錄 1. redis是什么 主要特點 2. redis中存儲的數據類型 2.1 String類型 2.2 List類型 2.3 Hash類型 2.4 Set類型 2.5 Zset類型 2.6 其它類型 3.redis高可用框架 1. redis是什么 Redis 是一個開源的、基于內存的數據結構存儲系統&#xff0c;是 Remote Dictionary…

每日隨機展示10個wordpress置頂文章

WordPress 置頂文章是博主根據自己的需要設置的&#xff0c;通常用于展示重要或熱門的文章。 以下是一個示例代碼&#xff0c;用于在 WordPress 主題中展示 10 個置頂文章&#xff1a; <?php // 查詢置頂文章 $sticky get_option(sticky_posts); $args array(post__in …

金融工程vs金融數學:誰更貼近量化交易?

在金融行業邁向高度數字化的今天&#xff0c;量化交易已成為頂尖金融機構的核心競爭力之一。它以數學模型為基礎&#xff0c;借助編程技術實現策略自動化&#xff0c;在高頻、中低頻、套利、因子投資等多個領域展現出強大生命力。對于有志于此的大學生而言&#xff0c;選擇一個…

實測AI Ping,一個大模型服務選型的實用工具

作為一名長期奮戰在一線的AI應用工程師&#xff0c;我在技術選型中最頭疼的問題就是&#xff1a;“這個模型服務的真實性能到底如何&#xff1f;” 官方的基準測試總是在理想環境下進行&#xff0c;而一旦投入使用&#xff0c;延遲波動、吞吐下降、高峰期服務不可用等問題就接踵…

深信服軟件:aTrustAgent異常占用問題處理

問題&#xff1a;aTrustAgent占用CPU 大早上開電腦&#xff0c;風扇轉的飛起&#xff0c;任務管理器看&#xff0c;發現是有幾個 aTrustAgent 進程搞得鬼。 印象中&#xff0c;好像沒有裝過這個軟件&#xff0c;搜了下&#xff0c;是深信服的軟件&#xff0c;不知道是不是裝哪…

基于國產銀河麒麟服務器SP3項目實戰(Nginx+Keepalive)實現高可用負載均衡

一、環境準備 192.168.113.11NginxKeepalive(Master)192.168.113.22Nginxkeepalive(Backup)192.168.113.33Nginx(web服務器)192.168.113.44 Nginx(服務器&#xff09; 二、環境搭建準備 2.1 Nginx源碼編譯安裝 參考作責之前發布《Nginx源碼編譯安裝》https://blog.csdn.net…

K近鄰:從理論到實踐

K近鄰&#xff1a;從理論到實踐 文章目錄K近鄰&#xff1a;從理論到實踐1. 核心思想2. 距離度量3. k的選擇與誤差分析3.1 近似誤差3.2 估計誤差3.3 總誤差4. kd樹的構造與搜索4.1 kd樹的構造4.2 kd樹的搜索5. 總結6. K近鄰用于iris數據集分類6.1加載數據6.2加載模型并可視化1. …

Dokcer的安裝(ubuntu-20.04.6):

Dokcer的安裝(ubuntu-20.04.6)&#xff1a; 1.添加Docker倉庫 #更新本地軟件包索引&#xff0c;獲取最新的軟件包信息 sudo apt-get update #安裝依賴包 sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release #創建密鑰存儲目錄 sudo mkdir -p /etc/apt/…

CT圖像重建原理

一、CT到底測了什么&#xff1f;硬件動作X 射線源與探測器陣列對置&#xff0c;圍著物體旋轉。每轉到一個角度 θ&#xff08;也叫一個視角 / view&#xff09;&#xff0c;源發射扇形/平行的射線束&#xff0c;探測器陣列上有很多“通道/像素/bin”&#xff08;記作索引 n&…

【pycharm】 ubuntu24.04 搭建uv環境

通過uv配置python環境 一直是conda環境 現在有個開源項目說用uv更快更好 所以在pycharm搞起。 一開始在在一個conda項目的里面某個項目里搞 發現會被conda 環境影響。 導致deepseed 安裝不了。 python 環境不對 # NOTE: We must explicitly request them as `dependencies` abo…

從軟件工程角度談企業管理

從軟件工程角度談企業管理企業管理&#xff0c;本質上是人與人之間的博弈。 管理的最大難題&#xff0c;不是定目標、不是寫流程&#xff0c;而是&#xff1a;如何讓個體的利益最大化路徑&#xff0c;與組織的整體目標一致&#xff1f; 這就是經濟學里的“激勵相容”。 在互聯網…