作者DrTech (竹科管理处网军研发人员)
看板Soft_Job
标题Re: [讨论] 大家会担心 ai 写 code 让工程师饭碗不
时间Sun Nov 3 16:09:00 2024
※ 引述《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://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1730621342.A.166.html
1F:→ neo5277: 楼上这个有专有名词叫做rerank 我开发系统时有设计 11/03 16:33
2F:→ DrTech: 重点是系统架构设计。rerank完,该怎麽输出?如果用rerank 11/03 16:44
3F:→ DrTech: 完,LLM生成输出结果,还是永远有幻觉。如果rerank完,用t 11/03 16:44
4F:→ DrTech: op-k个答案事实输出,就不会有幻觉。 11/03 16:44
5F:→ DrTech: 而且当答案只有一个的情况,何必用到复杂的rerank。直接转 11/03 16:50
6F:→ DrTech: 换成搜寻结果 k选一的classification任务,还比较适合。 11/03 16:50
7F:推 neo5277: 嗯合理同意,下周来玩看看 11/03 18:40
8F:推 prag222: 你可以一个问题问三次,觉得答案不对的就打脸chatGpt 11/03 20:57
9F:→ prag222: 多否定几次可能就会给你正确答案了,(笑 11/03 20:58
10F:→ labbat: 微软大老建议过了呗 11/03 21:04
11F:推 j0958322080: 重点是这个还要靠人整理啊 11/03 23:26
12F:→ DrTech: 我只是说最简单的例子,也可做到不用靠人整理,或不要整理 11/03 23:38
13F:→ DrTech: QA。方法就是跟常见的RAG一样,不整理QA,直接把文章切成c 11/03 23:38
14F:→ DrTech: hunk 段落。一样搜最接近top-K段落,给LLM生成答案,但是 11/03 23:38
15F:→ DrTech: 生成答案後,"不要"信任LLM的生成文字直接输出,使用传统 11/03 23:38
16F:→ DrTech: 的NLP去纠错(spell correct ion),纠错的候选只能是chunk 11/03 23:38
17F:→ DrTech: 事实中的连续句子。最後输出纠正到事实的句子。这样可做到 11/03 23:38
18F:→ DrTech: 不整理QA但整个系统只会输出最正确的事实句子。 11/03 23:38
19F:→ DrTech: 方法变形很多啦,但原则就是:LLM只是选择或决策的工具, 11/03 23:44
20F:→ DrTech: 非最後的答案生成输出。这样就会有同样聪明,又永远是事实 11/03 23:44
21F:→ DrTech: 输出的AI。 11/03 23:44
22F:推 viper9709: 原来是从问答题变成选择题 11/04 00:44
23F:→ agario: 假设你说的LLM只输出1, 2, 3, 4是指只生出一个数字token 11/04 06:54
24F:→ agario: 这样效果应该不是很好吧,毕竟没时间一步一步思考 11/04 06:54
25F:→ DrTech: 我只是举简单的例子,你先做要CoT然後最後输出选项,也可 11/04 07:15
26F:→ DrTech: 以啊。其实许多Agent选tool的概念就是这样,多种tool用选 11/04 07:15
27F:→ DrTech: 项让LLM 选,LLM只限定选1,2,3,4这样选项,也可控制next t 11/04 07:15
28F:→ DrTech: oken只选数字。选tool行为就不会有幻觉,同样的道理。 11/04 07:15
29F:→ DrTech: viper9709总结得很好。不要有幻觉,就是:问答题转成,事 11/04 07:17
30F:→ DrTech: 实的选择。 11/04 07:17
31F:→ fallcolor: 生成式ai被拿来当判别式ai用 有种泡沫感 11/04 08:11
32F:→ DrTech: 同样的技术,也可以想成AI更通用了,用得更全面了,即可以 11/04 08:16
33F:→ DrTech: 用於生成,也可以用於判断与分类。产品能赚得钱更多了。 11/04 08:16
34F:→ DrTech: LLM产品,何必困於於生成或判别二选一。 11/04 08:18
35F:→ DrTech: causal language model 从来就没限制next token该怎麽用, 11/04 08:28
36F:→ DrTech: 没限制下游任务只能用来判别或生成二选一。 11/04 08:28
37F:→ Firstshadow: 没想到从中国大企业回来的D大连这方面都懂...强! 11/04 21:00
38F:推 Lhmstu: 这种解法我自己是不看好,本末倒置 11/04 23:20
39F:→ DrTech: 你可以去多看论文,OpenAI发表的GPT系列论文,模型评测一 11/05 07:34
40F:→ DrTech: 直都不只是用於生成答案任务,甚至评测LLM 排名的知名benc 11/05 07:34
41F:→ DrTech: hmark dataset, MMLU系列, 就是选择题。 11/05 07:34
42F:→ DrTech: 这种做法叫本末倒置,质疑了所有做LLM benchmark 研究的所 11/05 07:37
43F:→ DrTech: 有团队阿。 11/05 07:38
44F:→ DrTech: 你看到许多LLM leaderboard跑出来的分数,许多题目都是测L 11/05 07:41
45F:→ DrTech: LM做多选一的选择题喔。怎麽大家都这样利用与评测LLM的能 11/05 07:41
46F:→ DrTech: 力,就你认为是本末倒置呢? 11/05 07:41
47F:→ DrTech: 再来,什麽叫作"本",以使用者为中心,解决使用者困扰才是 11/05 07:46
48F:→ DrTech: 本。一个公司系统需要不会有乱答题的需求。人家才不管你技 11/05 07:46
49F:→ DrTech: 术使用是否用得本末倒置,能解决乱生答案的痛点才是本。 11/05 07:46
50F:→ Lipraxde: 这样设计要怎麽用 LLM 做行程规划 or 文字修饰、润稿? 11/05 09:26
51F:推 Lhmstu: 我是觉得你不用什麽都要争到自己高人一等,我自己现在就 11/05 09:44
52F:→ Lhmstu: 是做这领域的,你说的这些我当然知道。不过你说是就是吧 11/05 09:44
53F:→ Lhmstu: ,目前确实是这样,但跟我认为本末倒置没有出入 11/05 09:44
54F:→ DrTech: 纯交流技术而言,不需要用到本末导致,高人一等都词语吧, 11/05 10:21
55F:→ DrTech: 不同的技术应用哪有高低之分呢。不用太自卑啦,我只是跟你 11/05 10:21
56F:→ DrTech: 交流技术,技术本身并没有高人一等之说。 11/05 10:21
57F:→ DrTech: 能解决使用者问题,何必去分高低呢。 11/05 10:22
58F:→ DrTech: 你自己就是做这领域了,你解决hallucination了吗?可以分 11/05 10:28
59F:→ DrTech: 享交流吗? 至少我在我做的产品都解决了我也很愿意跟大家 11/05 10:28
60F:→ DrTech: 分享。 11/05 10:28
61F:推 Lhmstu: 确实,我有些用词过头了跟D大说声抱歉,只是着眼点不同而 11/05 11:45
62F:→ Lhmstu: 已,以软体应用层面来说目前解法的确如你所说。只是我个 11/05 11:45
63F:→ Lhmstu: 人心理觉得这只是暂时解而已 11/05 11:45
64F:→ Lhmstu: 但是还是很感谢你的分享 11/05 11:46
65F:→ Firstshadow: 对!D大只是实际分享他的技术和应用! 11/05 12:35
66F:推 hobnob: 推技术串,受益良多 11/05 13:28
67F:推 transforman: 推个 11/06 00:14
68F:推 internetms52: 呃…选择最适合的答案不也是机率吗?,怎麽就跟幻 11/06 11:30
69F:→ internetms52: 觉没关系了,不太懂... 11/06 11:30
70F:推 Sportsman: 差别在於使用者看到的都会是人工准备的事实,而不是LLM 11/07 14:31
71F:→ Lipraxde: 因为他是挑人工预先准备好的答案,LLM 只是做选择题 11/08 12:26
72F:→ sealman234: junior? 11/08 17:19
73F:推 dream1124: 感觉是一套让AI更可靠的方法,但目前的生成AI没真正 11/09 13:09
74F:→ dream1124: 认知与理解能力,因此也没到真的解决问题 11/09 13:10
75F:推 iamOsaka: 推分享 11/10 13:30
76F:推 ohmylove347: 听起来像是RAG 11/10 20:01