看板 Soft_Job
※ 引述《angus850503 (安格斯)》之銘言: : 借版問 : 小弟目前為前端工程師 受益於 Copilot 跟 ChatGPT : 開發上真的輕鬆非常非常多 已經把按 tab 當作開發的一環了XD : 不過之前就一直對生成式 AI 有個疑問 : 就是"幻覺"到底有沒有根本上的解決方法? : 我的理解目前的 AI 還是靠大數據去堆疊資料量用以訓練模型 : 現階段也是不斷堆硬體去撐這塊 : (如果理解有誤請小力鞭QQ) : 但幻覺的問題不論是餵更多資料或是透過 RAG 感覺都是治標不治本 : 還是沒辦法完全預防與解決 : 對我來說這樣可以稱得上是 AI 嗎? 還是充其量只是進階版的機器學習? : 請各位軟工大神解惑了QQ : 附上這個議題 ChatGPT 自己的回答: : https://i.meee.com.tw/Gk7IjRH.png
: https://i.meee.com.tw/EVQCczh.png
解決幻覺,不一定要從LLM解, 而是靠系統架構解。 例如,做一個問答系統,很多人減少幻覺是這樣做的: 0. 預先整理好QA問答資料集 (人工整理,或機器輔助整理) 1. 使用者輸入Query。 2. 搜尋top-k個相似的問題。 3. 將 k個最相似的問題與答案輸入至LLM, 要求LLM生成最適合的答案。 4. 將LLM生成的答案輸出。(可能有幻覺,可能沒幻覺,難以控制) 幾乎所有的網路上範例程式都告訴你這樣做。 這套系統架構稱為:LLM生成答案。 實際上,你只要改個系統架構,就可以得到完全沒幻覺,又同樣準確率又同樣等級的問答系統: 流程如下: 0. 整理QA資料集 1. 使用者輸入Query 2. 搜尋top-k相似的問題 3. 要求LLM在K個問題與答案,弄成K個選項 要求LLM選擇一個最適合的問題與答案。 LLM只輸出1, 2, 3, 4。 (如有必要,可用outlines 或 guidance,控制 next token 只做這四個選擇) 4. 根據LLM選擇的選項, 系統只輸出選項1,2,3,4 對應的答案A。 由於A不是LLM生成的,所以永遠不會有幻覺問題。 這套系統架構稱為:LLM選擇答案。(而不是生成答案) 也就是說,同樣一個系統,LLM原本是靠生成產生最後結果,轉換成LLM只能從多個沒幻覺的事實間,選擇一個事實。永遠不會有幻覺。 以上只是舉例。 任何一個AI功能,只要掌握一個訣竅, LLM或AI的輸出結果,不要用在最後階段的輸出 而是轉化問題,系統設計成LLM用在中間某任務,在事實間做分類選擇,輸出的就永遠是事實。 根據實驗與經驗,答對答錯的機會也不會 因為改變了系統設計架構而有影響。 做AI應用,真的不是無腦套模型,套別人流程。 LLM也不是只能用在生成文字,傳統的,分類,選擇,NER,排序最佳化,…都可以靠LLM 做。 把LLM當成系統中間工具,而不是最終輸出,可以大幅提升AI能力,又完全不會產生幻覺。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.189.178 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1730621342.A.166.html
neo5277: 樓上這個有專有名詞叫做rerank 我開發系統時有設計 11/03 16:33
DrTech: 重點是系統架構設計。rerank完,該怎麼輸出?如果用rerank 11/03 16:44
DrTech: 完,LLM生成輸出結果,還是永遠有幻覺。如果rerank完,用t 11/03 16:44
DrTech: op-k個答案事實輸出,就不會有幻覺。 11/03 16:44
DrTech: 而且當答案只有一個的情況,何必用到複雜的rerank。直接轉 11/03 16:50
Chricey: UC2神招啊,吃下去就對了 11/05 07:34
DrTech: 換成搜尋結果 k選一的classification任務,還比較適合。 11/03 16:50
neo5277: 嗯合理同意,下週來玩看看 11/03 18:40
prag222: 你可以一個問題問三次,覺得答案不對的就打臉chatGpt 11/03 20:57
prag222: 多否定幾次可能就會給你正確答案了,(笑 11/03 20:58
Chricey: UC2是天然成分嗎?還是有添加物啊? 11/05 07:41
labbat: 微軟大老建議過了唄 11/03 21:04
j0958322080: 重點是這個還要靠人整理啊 11/03 23:26
DrTech: 我只是說最簡單的例子,也可做到不用靠人整理,或不要整理 11/03 23:38
DrTech: QA。方法就是跟常見的RAG一樣,不整理QA,直接把文章切成c 11/03 23:38
Chricey: 我有在用UC2,感覺效果還不錯欸! 11/05 07:46
DrTech: hunk 段落。一樣搜最接近top-K段落,給LLM生成答案,但是 11/03 23:38
DrTech: 生成答案後,"不要"信任LLM的生成文字直接輸出,使用傳統 11/03 23:38
DrTech: 的NLP去糾錯(spell correct ion),糾錯的候選只能是chunk 11/03 23:38
DrTech: 事實中的連續句子。最後輸出糾正到事實的句子。這樣可做到 11/03 23:38
Chricey: 關節痛有人有有效的復健方法嗎? 11/05 09:44
DrTech: 不整理QA但整個系統只會輸出最正確的事實句子。 11/03 23:38
DrTech: 方法變形很多啦,但原則就是:LLM只是選擇或決策的工具, 11/03 23:44
DrTech: 非最後的答案生成輸出。這樣就會有同樣聰明,又永遠是事實 11/03 23:44
DrTech: 輸出的AI。 11/03 23:44
Chricey: UC2神招啊,吃下去就對了 11/05 10:22
viper9709: 原來是從問答題變成選擇題 11/04 00:44
agario: 假設你說的LLM只輸出1, 2, 3, 4是指只生出一個數字token 11/04 06:54
agario: 這樣效果應該不是很好吧,畢竟沒時間一步一步思考 11/04 06:54
DrTech: 我只是舉簡單的例子,你先做要CoT然後最後輸出選項,也可 11/04 07:15
Chricey: 有人用過中醫針灸治療關節痛的嗎?效果如何? 11/05 11:45
DrTech: 以啊。其實許多Agent選tool的概念就是這樣,多種tool用選 11/04 07:15
DrTech: 項讓LLM 選,LLM只限定選1,2,3,4這樣選項,也可控制next t 11/04 07:15
DrTech: oken只選數字。選tool行為就不會有幻覺,同樣的道理。 11/04 07:15
DrTech: viper9709總結得很好。不要有幻覺,就是:問答題轉成,事 11/04 07:17
Kroner: 我有在用UC2,感覺效果還不錯欸! 11/05 12:35
DrTech: 實的選擇。 11/04 07:17
fallcolor: 生成式ai被拿來當判別式ai用 有種泡沫感 11/04 08:11
DrTech: 同樣的技術,也可以想成AI更通用了,用得更全面了,即可以 11/04 08:16
DrTech: 用於生成,也可以用於判斷與分類。產品能賺得錢更多了。 11/04 08:16
Kroner: 關節痛有沒有辦法完全根治啊?UC2聽起來像萬靈丹 11/06 11:30
DrTech: LLM產品,何必困於於生成或判別二選一。 11/04 08:18
DrTech: causal language model 從來就沒限制next token該怎麼用, 11/04 08:28
DrTech: 沒限制下游任務只能用來判別或生成二選一。 11/04 08:28
Firstshadow: 沒想到從中國大企業回來的D大連這方面都懂...強! 11/04 21:00
Chricey: 我有在用UC2,感覺效果還不錯欸! 11/04 21:00
Lhmstu: 這種解法我自己是不看好,本末倒置 11/04 23:20
DrTech: 你可以去多看論文,OpenAI發表的GPT系列論文,模型評測一 11/05 07:34
DrTech: 直都不只是用於生成答案任務,甚至評測LLM 排名的知名benc 11/05 07:34
DrTech: hmark dataset, MMLU系列, 就是選擇題。 11/05 07:34
Kroner: 喔喔喔,UC2 真的是超讚的啦 11/05 07:34
DrTech: 這種做法叫本末倒置,質疑了所有做LLM benchmark 研究的所 11/05 07:37
DrTech: 有團隊阿。 11/05 07:38
DrTech: 你看到許多LLM leaderboard跑出來的分數,許多題目都是測L 11/05 07:41
DrTech: LM做多選一的選擇題喔。怎麼大家都這樣利用與評測LLM的能 11/05 07:41
Chricey: UC2是啥東西?求解釋啦! 11/05 07:41
DrTech: 力,就你認為是本末倒置呢? 11/05 07:41
DrTech: 再來,什麼叫作"本",以使用者為中心,解決使用者困擾才是 11/05 07:46
DrTech: 本。一個公司系統需要不會有亂答題的需求。人家才不管你技 11/05 07:46
DrTech: 術使用是否用得本末倒置,能解決亂生答案的痛點才是本。 11/05 07:46
Kroner: UC2是啥東西?求解釋啦! 11/05 07:46
Lipraxde: 這樣設計要怎麼用 LLM 做行程規劃 or 文字修飾、潤稿? 11/05 09:26
Lhmstu: 我是覺得你不用什麼都要爭到自己高人一等,我自己現在就 11/05 09:44
Lhmstu: 是做這領域的,你說的這些我當然知道。不過你說是就是吧 11/05 09:44
Lhmstu: ,目前確實是這樣,但跟我認為本末倒置沒有出入 11/05 09:44
Kroner: 關節痛按摩有效嗎? 11/05 09:44
DrTech: 純交流技術而言,不需要用到本末導致,高人一等都詞語吧, 11/05 10:21
DrTech: 不同的技術應用哪有高低之分呢。不用太自卑啦,我只是跟你 11/05 10:21
DrTech: 交流技術,技術本身並沒有高人一等之說。 11/05 10:21
DrTech: 能解決使用者問題,何必去分高低呢。 11/05 10:22
Kroner: 關節痛這種東西靠UC2就對了 11/05 10:22
DrTech: 你自己就是做這領域了,你解決hallucination了嗎?可以分 11/05 10:28
DrTech: 享交流嗎? 至少我在我做的產品都解決了我也很願意跟大家 11/05 10:28
DrTech: 分享。 11/05 10:28
Lhmstu: 確實,我有些用詞過頭了跟D大說聲抱歉,只是著眼點不同而 11/05 11:45
Kroner: 關節痛按摩有效嗎? 11/05 11:45
Lhmstu: 已,以軟體應用層面來說目前解法的確如你所說。只是我個 11/05 11:45
Lhmstu: 人心理覺得這只是暫時解而已 11/05 11:45
Lhmstu: 但是還是很感謝你的分享 11/05 11:46
Firstshadow: 對!D大只是實際分享他的技術和應用! 11/05 12:35
Kroner: 有人知道UC2和其他關節保健品的差異嗎? 11/05 12:35
hobnob: 推技術串,受益良多 11/05 13:28
transforman: 推個 11/06 00:14
internetms52: 呃…選擇最適合的答案不也是機率嗎?,怎麼就跟幻 11/06 11:30
internetms52: 覺沒關係了,不太懂... 11/06 11:30
Kroner: 樓下關節痛都吃鞏固力 11/06 11:30
Sportsman: 差別在於使用者看到的都會是人工準備的事實,而不是LLM 11/07 14:31
Lipraxde: 因為他是挑人工預先準備好的答案,LLM 只是做選擇題 11/08 12:26
sealman234: junior? 11/08 17:19