# 李宏毅_生成式導論 2024_第13講:淺談大型語言模型相關的安全性議題 (上) — 亡羊補牢、語言模型的偏見、有多少人用 ChatGPT 寫論文審查意見 ###### tags: `Hung-yi Lee` `NTU` `生成式導論 2024` [課程撥放清單](https://www.youtube.com/watch?v=AVIKFXLCPY8&list=PLJV_el3uVTsPz6CTopeRp2L2t4aL_KgiI) ## 第13講:淺談大型語言模型相關的安全性議題 (上) — 亡羊補牢、語言模型的偏見、有多少人用 ChatGPT 寫論文審查意見 [課程連結](https://www.youtube.com/watch?v=MSnvknLywUc&list=PLJV_el3uVTsPz6CTopeRp2L2t4aL_KgiI&index=14) ### 課程大綱 ![image](https://hackmd.io/_uploads/ByN6Eh970.png) 課程提出問題,解法則是在參考論文中。 ### 語言模型還是會犯錯 ![image](https://hackmd.io/_uploads/Hk3mr29XC.png) 語言模型很常會胡說八道,它不是搜尋引擎,有時候所給的參考並不一定是真正存在的。 ### 語言模型還是會犯錯...... 亡羊補牢 ![image](https://hackmd.io/_uploads/H146Hn9QA.png) 這種情況下我們能做的就是在模型跟人的中間再隔一個安全層,經過這個安全層確認之後再將回應提供給予使用者。 ### 事實查核 ![image](https://hackmd.io/_uploads/SJSXL29QC.png) ![image](https://hackmd.io/_uploads/ByNoU297R.png) Gemini有驗證的功能,只要你對它的回應存疑,那就直接點一下google的符號,模型就會上google做確認。 只要看到反綠的字底就意謂著這在網路上真的是找的到相關的資訊,雖然網路上的資訊也不見得是正確的就是。反紅的就代表網路找不到相關資訊。 總之,對語言模型來說,只要網路上找的到的就至少有人背書它的回應。 ### 事實查核 ![image](https://hackmd.io/_uploads/SkicwhcXA.png) [參考論文1_FActScore: Fine-grained Atomic Evaluation of Factual Precision in Long Form Text Generation](https://arxiv.org/abs/2305.14251) [參考論文2_FacTool: Factuality Detection in Generative AI -- A Tool Augmented Framework for Multi-Task and Multi-Domain Scenarios](https://arxiv.org/abs/2307.13528) 簡單的概念就是,把語言模型的回應轉為成述,把成述轉為問題,把問題拿去google。 不過這通常都是利用語言模型來處理,那語言模型本來就是有可能出錯,拿個出錯的東西再來驗證,整個作法上或許是有疑慮的,但至少就是多了一道防火牆就是。 ### 事實查核 ![image](https://hackmd.io/_uploads/ByXaOh5Q0.png) [參考論文_Merging Facts, Crafting Fallacies: Evaluating the Contradictory Nature of Aggregated Factual Claims in Long-Form Generations](https://arxiv.org/abs/2402.05629) 這邊提出的範例說明的是,很多正確的資訊合在一起就變成是一個錯誤的資訊。 模型把同名同姓的人的經歷整個合併在一起,分開是對的,合一起就變喇叭的概念。 ### 如何評量語言模型的偏見 ![image](https://hackmd.io/_uploads/rJqZ6hcQR.png) [參考論文_Holistic Evaluation of Language Models](https://arxiv.org/abs/2211.09110) 論文的評量方式很簡單,同一個句子把詞彙做個修飾,讓模型再輸出一次,如果給出的回應差異很大的話,那就代表模型本身就帶有偏見。 這輸出之間的評比可以用情感分析的方式,針對回應來做一個推論,如果兩者之間的分數差異過大,那就可以說明這模型是存在偏見的。 ### 如何評量語言模型的偏見 ![image](https://hackmd.io/_uploads/Hy59CnqmR.png) [參考論文1_Learning from Red Teaming: Gender Bias Provocation and Mitigation in Large Language Models](https://arxiv.org/abs/2310.11079) [參考論文2_Red Teaming Language Models with Language Models](https://arxiv.org/abs/2202.03286) 實務上我們也可以讓一個語言模型來扮演紅隊(紅隊通常是找軟體漏洞的人員),它的任務就是想辦法讓語言模型的輸出產生偏見的輸入。 這可以引入強化學習的方式,總之就是讓紅隊模型所給出的輸出做為語言模型的輸入,然後語言模型的輸出經過情感分析之後的差異要愈來愈大。 ### 用大型語言模型審查履歷 ![image](https://hackmd.io/_uploads/BJ77bacXR.png) 現在流行用大型語言模型來做履歷審查,這邊就有人做一個測試,相同的履歷給不同的名字,名字是設計過的,一看就有感覺是那裡人的那種。 有個金融分析師的職務,然後提供這八份履歷給機器,讓它評比誰最適合,評比1000次的結果來看機器是偏好亞洲人。 ### 用大型語言模型審查履歷 ![image](https://hackmd.io/_uploads/SyLkdW37C.png) 這是對人資職務的評比,結果來看女性的評比都是比男性還要來的高的。 ### 用大型語言模型審查履歷 ![image](https://hackmd.io/_uploads/Hyhbu-3XA.png) 這是軟體工程師,結果來看是偏好白人女性。總是都一種偏見。 ### 用大型語言模型審查履歷 ![image](https://hackmd.io/_uploads/H1cvub2X0.png) 最後,研究人員把人名的embedding投影到二維空間,然後就發現到,不同地區的人名基本都被分開了。 簡單說,就是對名字就存有偏見了。 ### 對於職業性別的刻板印象 ![image](https://hackmd.io/_uploads/HyGCub2XC.png) 範例說明的是,單純的跟模型說給幼稚園老師一些回饋,這時候得到的回應是『女性』,不指定性別的情況下模型就直接給女性的回饋。 ### 對於職業性別的刻板印象 ![image](https://hackmd.io/_uploads/rkY-Yb370.png) 範例說明的是,請模型幫建築工人寫個回饋,模型的回應直接給出男性。 ### Gender bias in performance feedback written by ChatGPT ![image](https://hackmd.io/_uploads/H1k35bnQC.png) 這是幾個模型對不同職業的回應,其實也某種程度說明著對性別的偏見。 ### 語言模型的政治傾向 ![image](https://hackmd.io/_uploads/Sknlj-hXA.png) ![image](https://hackmd.io/_uploads/HklWi-2QA.png) 對於政治相關問題,在沒有前提的情況下模型會開始亂唬爛,不過如果給出一個限制的話,那模型就會乖乖的回答。 ### Political Compass Test ![image](https://hackmd.io/_uploads/r1n5s-n70.png) [參考論文_The Political Preferences of LLMs](https://arxiv.org/abs/2402.01789) 這是一個模型政治傾向的研究,左右即為左派、右派,上下即為威權主義、自由主義。 結果來看,多數模型都是左派且自由主義。 ### 減輕偏見的方法 ![image](https://hackmd.io/_uploads/Hy2d3W27R.png) [參考論文_Bias and Fairness in Large Language Models: A Survey](https://arxiv.org/abs/2309.00770) 偏見有幾個來源: 1. 資料本身 2. 訓練過程 幾個偏見處理的時間點大概就是: 1. 資料前處理 2. 訓練過程中 3. 答案產生過程中 4. 產出回應到使用者之前 相關細節就直接看論文了。 ### 如果偵測一句話是不是人工智慧生成的 ![image](https://hackmd.io/_uploads/H1Q3CZnXA.png) [參考論文_DetectGPT: Zero-Shot Machine-Generated Text Detection using Probability Curvature](https://arxiv.org/abs/2301.11305) [參考論文_DNA-GPT: Divergent N-Gram Analysis for Training-Free Detection of GPT-Generated Text](https://arxiv.org/abs/2305.17359) [參考論文_Intrinsic Dimension Estimation for Robust Detection of AI-Generated Texts](https://arxiv.org/abs/2306.04723) [參考論文_Testing of Detection Tools for AI-Generated Text](https://arxiv.org/abs/2306.15666) [參考論文_Can AI-Generated Text be Reliably Detected?](https://arxiv.org/abs/2303.11156) 判斷話是人說的還是機器說的大致概念有兩種: 1. 計算人類說的跟機器說的之間的差異 2. 訓練一個分類器 不過訓練一個分類器的作法有個毛病,就是3.5的就可能只限在3.5使用,如果是GPT-4就不大行了。 ### ChatGPT被用在各個地方 ![image](https://hackmd.io/_uploads/Bks_kMhXA.png) [參考論文_Monitoring AI-Modified Content at Scale: A Case Study on the Impact of ChatGPT on AI Conference Peer Reviews](https://arxiv.org/abs/2403.07183) 大型語言模型被四處應用,有沒有一種可能就是論文的reviewer也是人工智慧生成的? ### 有多少的文章審查意見有用ChatGPT? ![image](https://hackmd.io/_uploads/H1PhkM270.png) 結果來看,在2022年GPT-3.5被發表之前一切看起來都很正常,比例非常低,不過後來的趨勢就很明顯的往上了。 簡單說,就是跟人工智慧有關的都在用了。 ### 有些詞彙近年起異常頻繁出現? ![image](https://hackmd.io/_uploads/B1ergGnmA.png) 雖然說分析上可能會不準,不過倒是發現另一個有趣的問題,那就是Reviewer平常不會用的詞彙最近異常的出現。這說明著,也許這些就是GPT的愛好詞。 ### 只是做文法上的修改嗎? ![image](https://hackmd.io/_uploads/BkDJZG3QR.png) 論文中做了另一個測試,同一個系統針對單純潤稿來做分析,基本被檢測出的比例仍然是很低的。跟實際上的比例來比還是有一段距離,這說明著可能不單單是潤稿這件事而以。 白話一點就是,裡面的東西87%都是GPT產出的。 ### 在語言模型的輸出加上浮水印 ![image](https://hackmd.io/_uploads/SkRsZf2X0.png) [參考論文_A Watermark for Large Language Models](https://arxiv.org/abs/2301.10226) [參考論文_On the Reliability of Watermarks for Large Language Models](https://arxiv.org/abs/2306.04634) 如果可以在模型的輸出中加入一個人類難以辨識的暗號,那是不是就可以偵測出是不是機器所產出的結果。 一個簡單的概念是,把token分成兩組,如果是產生奇數token的話就增加綠色的機率;反之則增加紅色的機率。 知道規則的人就可以用這個方式來檢測是否為機器產出。 我不懂,所以有空就再讀一下參考論文了。 ### 在語言模型的輸出加上浮水印 ![image](https://hackmd.io/_uploads/HknSfM2mR.png) [參考論文_Paraphrasing evades detectors of AI-generated text, but retrieval is an effective defense](https://arxiv.org/abs/2303.13408) [參考論文_Can AI-Generated Text be Reliably Detected?](https://arxiv.org/abs/2303.11156) 這邊給出論文結果說明,結果來看,加入浮水印並不會影響產出的結果。 參考論文給出的是研究攻破浮水印,有興趣可以讀讀。