# 李宏毅_生成式導論 2024_第2講:今日的生成式人工智慧厲害在那哪?從『工具』從『工具人』 ###### tags: `Hung-yi Lee` `NTU` `生成式導論 2024` [課程撥放清單](https://www.youtube.com/watch?v=AVIKFXLCPY8&list=PLJV_el3uVTsPz6CTopeRp2L2t4aL_KgiI) ## 第2講:今日的生成式人工智慧厲害在那哪?從『工具』從『工具人』 [課程連結](https://www.youtube.com/watch?v=glBhOQ1_RkE&list=PLJV_el3uVTsPz6CTopeRp2L2t4aL_KgiI&index=3) ### 今日的生成式人工智慧厲害在那哪裡? ![image](https://hackmd.io/_uploads/B1-VQ4JWC.png) 過去我們可能會覺得這種大型語言模型就是只能做單一個工作,像是google翻譯,就只能是翻譯。但是現在的ChatGPT並沒有一個特定功能,你要明確定的給它指令。 所以,我們可以把google翻譯視為一個工具,然後或許也許可以把ChatGPT視為一個工具人,從此不是正妹型男也可能有人幫忙寫作業報告了! ### 邁向通才的生成式人工智慧 ![image](https://hackmd.io/_uploads/BJsDmEJZA.png) 上面四種是常見的生成式人工智慧。 ### 今日的生成式人工智慧能有多麼多才多藝呢? ![image](https://hackmd.io/_uploads/ByqnQNJb0.png) 記得,ChatGPT只是眾多語言模型的一種,不是絕對。而語言模型也只是生成式人工智慧裡面的一環。 ### ChatGPT能做什麼呢? ![image](https://hackmd.io/_uploads/S1Z4ENJbA.png) 上面的文字雲是ChatGPT能做的事情,而這些能做的事情也是由ChatGPT自行列出的。 ### ChatGPT能做什麼呢? ![image](https://hackmd.io/_uploads/BkWwVEy-R.png) ![image](https://hackmd.io/_uploads/rJF_VV1WA.png) ![image](https://hackmd.io/_uploads/HJ3tE4JbR.png) ![image](https://hackmd.io/_uploads/Bk0q44J-C.png) ![image](https://hackmd.io/_uploads/Hkv3N4yWR.png) 總之就是跟它說,列出你自己能做的三十項,然後讓它自己生成文字雲。然後其實我們會發現,生成出來之後的文字並沒有中文的呈現,詢問之後會得知它本身沒有字型檔。 這種情況下把字型檔給它,然後讓它重新再生成一次就成功了。 一個字,絕。 ### 武功心法 ![image](https://hackmd.io/_uploads/BJu5S4k-A.png) 不要問ChatGPT能為你做什麼,這太侷限它了,應該要問問你自己想要它幫你做什麼。 ### 這些人工智慧在『想』些什麼? ![image](https://hackmd.io/_uploads/B13_UVyW0.png) [參考論文連結](https://arxiv.org/abs/2310.02207) 上圖是拿開源模型LLaMA(Meta)來分析的。主要是想瞭解世界上各個地名跟地圖上的位置是否一致,一個點就是一個地名,不同洲就不同的顏色,結果來看是蠻一致的。 ### 這些人工智慧在『想』些什麼? ![image](https://hackmd.io/_uploads/rycQwE1-R.png) 這是徐有齊同學提供的實驗結果,以台灣各里為實驗標的。地圖上的一個點就代表一個里,提示詞的部份並不會提到市,只給區跟里。 上圖左是正解,上圖右是模型給出的答案,很明顯的並沒有一個非常直觀的群聚。但如果是上圖中間的TAIDE模型的話得到的結果就比較有感。 ### TAIDE ![image](https://hackmd.io/_uploads/BJcEwE1WR.png) TAIDE的爸媽。 ### 要如何評估模型? ![image](https://hackmd.io/_uploads/SkesvVJbA.png) 當然對於這種大型語言模型的評估也是一個困難點,以前功能單一的時候就只要確認它的單一功能的效能,像是翻譯就看它翻的好不好。但是現在工具這麼全面的情況下,該如何評估就是一個問題。 ### 要如何評估模型? ![image](https://hackmd.io/_uploads/HkpmOEk-R.png) 這個測試蠻白爛的,笑死,叫模型哈哈哈一百次得到的回應。三個模型的回應那一個最好?課堂中似乎有不同的反應。 ### 防止說出有害的內容 ![image](https://hackmd.io/_uploads/B1A494J-R.png) ![image](https://hackmd.io/_uploads/BkRU5EkW0.png) 過去的為模型是從有限的選項中去找出回答,所以我們不擔心模型犯錯,但是現在是一種生成式的概念,某種程度上模型是有可能會說出不該說的東西,雖然通常模型還是有一定的判斷能力。 上面給出一個白爛的範例。 ### 防止說出有害的內容 ![image](https://hackmd.io/_uploads/HJP3c4y-C.png) 模型通常也會避免回答有價值判斷的問題,像是給它A、B問它那一個好之類的。 不過有時候也會政治正確過頭就是了。 ### 思路一:我改不了模型,那我改變我自己 ![image](https://hackmd.io/_uploads/BJ-ojN1bA.png) 既然工具人有ChatGPT當了,那做為肥宅的自己就必需要想辦法改變自己。 因為函式是固定的,基本上就是ChatGPT,裡面的參數我們也動不了,所以能做的就是改變prompt。 ### 思路一:我改不了模型,那我改變我自己 ![image](https://hackmd.io/_uploads/Hyzz2EJbR.png) 這有一個詞彙,就是prompt engineering,這個prompt指的就是給語言模型的輸入,如果得到的結果不滿意,那就調整一下,也許就可以得到讓人滿意的結果,這後面課程也會有說明。 ### 思路二:我要訓練自己的模型 ![image](https://hackmd.io/_uploads/BkvCAEkWC.png) [參考論文:Examining Forgetting in Continual Pre-training of Aligned Large Language Models](https://arxiv.org/abs/2401.03129) 當然我們也可以找開源模型來調整成自己想要的模型,讓它的輸出接近我們的需求,不過這可能會好了a壞了b就是了。