六位一线AI工程师总结爆火!大模型应用摸爬滚打一年心得公开

线AI工程师和创业者,把在 大模型应用开发上摸爬滚打一整年的心得 ,全!分!享!了!

(奇怪的六一儿童节大礼包出现了)

这篇干货长文,一时间成为开发者社区热议的话题。

有网友评价为,大模型领域少有的 “有操作性” 的实用见解,非常值得一读。

这6位作者来自不同背景,比如有大厂工程师,也有独立开发者,还有咨询顾问。

但他们的共同之处,是过去一年里一直在大模型之上构建真实应用程序,而不只是炫酷的Demo展示,他们认为:

在他们的一系列分享中,网友热议的亮点包括但不限于:

-何时用长上下文、何时RAG、何时微调模型

总之,无论是大厂工程师、创业者还是参加个人开发者,都值得一看。

全程高能干货分享

提示词、RAG和微调都是改善大模型输出结果的有效方法。

但是何时该用何种方法,还没有定论。

作者们认为,需要根据具体的应用场景、任务需求、成本效益和性能目标来做出决策:

最后,他们还重点讨论了对大模型应用的评估和监测,认为是应该贯穿开发全流程的重要环节。

提示词篇

很多开发者都陷入了一个误区:以为设计一个 涵盖一切的“终极提示词” 就能完美解决问题。

就像过去软件开发中也有希望一个类或函数可以完成所有事情的误区。

实际情况 恰恰相反 ,随着需求的复杂化,这样的Prompt会越来越臃肿,性能反而每况愈下。

那么正确的做法是什么呢?提示词也应该 像代码一样保持简洁 ,以 会议记录总结场景 来说,可以分解为以下步骤:

通过拆分,每个提示词都简单、突出重点且易于理解,更重要的是接下来可以单独迭代和评估每个提示词。

比如思维链鼓励AI在最终回答之前写下思维过程,除了“一步一步思考”之外,还可以用一些技巧显著降低幻觉。

还以会议记录总结场景为例,迭代后的提示词示例为:

- 首先,在草稿中列出关键决策、待办事项和相关执行者。- 然后,检查草稿中的细节是否与文字记录相符。- 最后,根据要点合成简洁的总结。

在提示词方面,作者们还提出了更多具体经验。

对于给大模型提供示例的上下文学习:

对于结构化输入输出:

比如给Claude的提示词,甚至可以用xml tag来预填充输出模板。

RAG(检索增强生成)篇

不要忘记关键词搜索

基于Embedding的RAG展示很多,让人们容易忘记信息检索领域数十年来积累的经验。

作者认为 向量检索无疑是强大的工具,但不是全部 。虽然擅长捕获高级语义相似性,但它们可能难以处理更具体的关键字,比如人名、首字母缩略词或者ID。

不要忘记传统的关键词匹配(如BM25算法),在大多数情况下,混合关键字匹配和向量搜索效果最好:

RAG输出的质量取决于检索文档的质量

具体来说,检索文档的质量又取决于几个因素。

第一个也是最明显的指标是 相关性 。与传统推荐系统一样,检索到的项目的排名对大模型输出产生重大影响,要衡量这种影响,可以试试打乱顺序并观察大模型行为变化。

第二个是 信息密度 。如果两份文档同样相关,应该选择更简洁、无关细节更少的那个。

最后是 信息的详细程度 ,附加的详细信息可以帮助大模型更好地理解。

优先RAG,而不是对新知识微调

RAG和微调都可让大模型掌握新知识并提高特定任务的性能。那么,应该优先选择哪一个呢?

微软一篇论文比较RAG与无监督微调(又叫持续预训练),发现 对于新知识RAG性能始终优于微调

arxiv.org/abs/2312.05934

除了改进性能之外, RAG容易更新而且成本更低 。如果知识库中发现错误,RAG方法只需简单删除有问题的文档即可。

RAG还可以给文档权限提供更细粒度的控制,确保每个用户只能访问自己有权限的文档,不会泄露信息。

长上下文不会让RAG过时

首先,即使上下文窗口达到一千万tokens,仍然需要一种方法来选择要输入模型的信息。

其次,除了简单大海捞针评估之外, 还没有看到令人信服的数据 表明模型可以在如此大的上下文进行有效的推理。

如果没有良好的检索和排名,干扰因素可能淹没模型 ,甚至可能用完全不相关的信息填满了上下文窗口。

最后还有成本问题,ransformer的推理成本随上下文长度二次增长,过度依赖长上下文可能不划算。

微调篇

当最巧妙的提示词设计也无法完成一些任务时,可能就需要考虑微调了

虽然微调可能是有效的,但它会带来巨大的成本。必须注释微调数据、执行微调和评估模型,并最终自行部署模型。因此,请考虑较高的前期成本是否值得。

作者们的经验是:

Agent与工作流

最成功的Agent开发者可能也是工程师团队的管理者,因为 给AI制定计划的过程和管理初级员工的方式类似

我们给人类新手明确的目标和具体的计划,而不是模糊的开放式指示,对Agent也应该这样做。

优先考虑确定性工作流程

Agent被期待动态对用户请求做反应,但随着执行步数增加,失败的可能性指数增加,并且从错误中恢复的机会很小。

一种有前途的方法是使用Agent系统来生成确定性计划,然后以结构化、可重复的方式执行这些计划,好处包括:

多样化输出不 提高温度

如果任务需要输出的多样性,比如根据用户之前购买过的产品推荐新产品,简单增加大模型的温度参数可能会产生问题。

如果温度太高,可能会生成不存在的产品,甚至输出乱码。

其他增加输出多样性的方法包括:

最简单的是 调整提示词内的元素顺序 ,打乱用户历史购买记录的顺序,就可能产生显著差异。

还可以 在上下文中保留前几轮的输出 ,并要求大模型避免重复最近推荐过的产品。

另一个策略是 改变提示词的措辞 ,比如“选择用户喜欢经常使用的产品”和“选择用户可能会推荐给朋友的产品”。

评估与监测

大模型的输入和输出是任意文本,要完成的任务是多种多样的。尽管如此,严格且深思熟虑的评估仍至关重要。

从真实的输入/输出样本中创建基于断言的单元测试

作者建议创建由生产中的输入和输出样本组成的单元测试,并基于至少3个指标测试。

3个指标是实践中总结出来的,更少可能表明任务没有充分定义,或过于开放。

这些单元测试应该由工作流的任何更改触发,无论是编辑提示词、通过RAG添加新上下文还是其他修改。

大模型当裁判可能起作用,但不是万能的

作者认为,让最强大的模型当裁判、给其他模型的输出打分,用于 定性比较优劣可能有用 ,但 具体输赢的幅度就没什么参考价值了

“实习生测试”

如果将提示词(包括上下文)作为一项任务,交给相关专业的普通大学生,他们能成功吗?需要多长时间?

如果大学生都做不到,就该考虑如何给大模型提供更丰富的上下文资料了。

如果根本无法通过改进上下文来解决这个问题,那么这就是对当代大模型来说太难的任务。

如果大学生能做到,但需要一段时间。可以尝试降低任务的复杂性。分解任务,或某些方面是否可以更加模板化。

如果大学生能做到,而且很快,但大模型不行。那么就该深入研究大模型反馈的数据了。尝试找到失败的模式,让模型在输出之前或之后解释自己。

过分强调某些指标可能影响整体

著名的古德哈特定律表示, “当一项指标成为目标时,它就不再是一项好指标”

比如针对长上下文的 “大海捞针”测试 最早是网友提出的,迅速成为行业通用方法之后,就 很容易针对性优化、刷榜

更好的指标可能正是复杂的实际任务,比如“给定一个小时的会议记录,大模型能否总结出关键决策、待办事项和相关负责人”。

这项任务更切合实际, 超越了死记硬背的范畴 ,还考虑到了解析复杂讨论、识别相关信息和归纳总结的能力。

在总结中强调事实一致性可能会导致摘要不那么具体(因此不太可能与事实不一致),也可能不那么相关。

反之,如果强调写作风格和口才,则可能导致更多花哨的话术,从而造成与事实不符的情况。

LLMs甚至会在不应该返回输出时返回输出

大模型经常会在不应该生成输出的情况下生成输出。可能是无害但无意义的输出,也可能是更严重有害输出。

例如,当被要求从文档中提取特定属性或元数据时,大模型可能会自信地返回不存在的结果。可以尝试让大模型回答“不适用”或“不知道”,但也并非万无一失。

虽然谨慎的提示工程可以在一定程度上起作用,但还应辅之以强大的“护栏”机制,以检测和过滤/重新生成不受欢迎的输出。

例如,OpenAI提供了一个内容过滤API,可识别不安全的响应,如仇恨言论、自残或性内容。同样,还有许多用于检测个人身份信息(PII)的软件包。这样做的好处之一是,”护栏”在很大程度上与场景无关,因此可广泛应用于特定语言的所有输出。

此外,通过精确检索,如果没有相关文档,系统也可以确定地回答 “我不知道”。

在实际应用中,最好持续记录输入和输出,以便进行调试和监控。

幻觉很难彻底解决

与安全问题不同,幻觉可能 很难被发现

根据作者们从大模型供应商那里了解到的情况,要 将幻觉率降低到2%以下是非常困难的 ,即使是在摘要等简单任务中也是如此。

为了解决这个问题,可以将提示工程(生成的上游)和事实不一致护栏(生成的下游)结合起来。

对于提示词工程,思维链等技术可以让大模型在最终返回输出之前解释其推理,从而帮助减少幻觉。然后,可以应用事实不一致护栏来评估摘要的事实性,并过滤或重新生成。

技术篇结束,还有运营、战略篇

对于这篇精彩的实战经验分享,沃顿商学院教授Ethan Molick推荐并感慨:

事实上这只是六位作者完整分享的三分之一:战术篇。

第二部分运营篇也刚刚发布,围绕数据、模型、产品、团队发展四个话题展开分享。

接下来还有最后一部分战略篇,也是狠狠期待了。

最后,不妨再来认识一下六位作者。

他目前是亚马逊高级应用科学家,负责构建服务全球数百万客户的推荐系统,并应用大语言模型来更好地服务客户。

此前,他曾在Lazada(被阿里巴巴收购)和一家健康科技初创公司领导机器学习团队。他在eugeneyan.com和ApplyingML.com上撰写并发表关于机器学习、推荐系统、大语言模型及工程方面的文章和演讲。

Bryan Bischof

Bryan Bischof是Hex的AI负责人,领导工程师团队开发了Magic——数据科学和分析助手。

他在数据领域有丰富的工作经验,曾创建了Blue Bottle Coffee、Weights and Biases的数据团队,领导了Stitch Fix的多个项目,还曾与O’Reilly合写了“Building Production Recommendation Systems”一书,并在罗格斯大学教授数据科学和分析课程。他拥有纯数学博士学位。

Charles Frye

Charles Frye在加州伯克利获得了神经网络优化方面的博士学位。

他通过在Weights and Biases、Full Stack Deep Learning和Modal的教育和咨询工作,教授了数千人从线性代数基础到GPU奥秘以及构建可行商业模式的整个AI应用开发过程。

Hamel Husain

Hamel Husain是一位拥有超过25年经验的机器学习工程师。

他曾就职于Airbnb和GitHub等,参与了OpenAI用于代码理解的早期大语言模型研究,还领导许多受欢迎的开源机器学习工具。Hamel目前是一名帮助公司将LLM投入运营加速其AI产品开发的独立顾问。

Jason Liu是一位知名的机器学习顾问,在个性化算法、搜索优化、合成数据生成和MLOps系统方面拥有技术专长。

他曾在Stitchfix创建了一个处理每日3.5亿次请求的推荐框架和可观测性工具,还曾在Meta、纽约大学以及Limitless AI和Trunk Tools等初创公司担任重要角色。

Shreya Shankar

Shreya Shankar是加州伯克利计算机科学博士生和机器学习工程师。

她曾是两家初创公司的首席机器学习工程师,从零开始构建AI产品。她的工作重点是通过以人为中心的方法解决生产级机器学习系统中的数据挑战,研究成果发表在VLDB、SIGMOD、CIDR和CSCW等顶级数据管理和人机交互会议上。

另外,作者们还计划举办一场线上直播(北京时间6月21日上午),就大模型产品开发展开更多分享,感兴趣的朋友可以报名了。

阅读原文https://www.oreilly.com/radar/what-we-learned-from-a-year-of-building-with-llms-part-i/https://www.oreilly.com/radar/what-we-learned-from-a-year-of-building-with-llms-part-ii/

线上直播活动:https://lu.ma/e8huz3s6

参考链接:[1]https://news.ycombinator.com/item?id=40508390


UI设计师的工作职责是什么?

目前UI设计师行业已经迅速升温,并且成为最受年轻人追捧和欢迎的职业之一。 而大大小小公司的设计师招聘需求也不一样,下面就来看一下UI设计师的工作职责吧!1.负责软件界面的美术设计、创意工作和制作工作。 2.根据各种相关软件的用户群,提出构思新颖、有高度吸引力的创意设计。 3.对页面进行优化,使用户操作更趋于人性化。 4.维护现有的应用软件产品。 5.收集和分析用户对于GUI的需求。 根据上述要求,相信大家对于UI岗位也有了进一步的认识。 其实UI设计并不是单纯的具备审美能力和设计知识就能做好的。 要成为一名专业的UI设计师,不仅要做到对产品全流程的了解和掌握、还需要掌握更多的产品相关的一系列知识。

哪些培训机构出来的AI人才靠谱

个人是网络负责人工智能这块的,按个人的看法发现手底下的人很多都是出自于自兴人工智能学院的,这里教师团队挺不错的,教出来的学生都有点真才实学。

人工智能,未来竞争压力大不大?

最近一年多感受明显,AI已经落地,尤其是NLP、OCR等领域技术栈和产品已经足够成熟,提供云服务的企业也不少,使得就业门槛越来越低,最重要是现在大环境不乐观,有AI迫切诉求的企业在减少,差不多固定了以腰部以上企业为主,整个技术团队的招聘名额确实有明显压缩,所以体感明显些。

大环境的短期趋势并不乐观,所以名额有收缩。

如果你选的目标企业可能是一二线大厂,以及独角兽企业,而目前市场大环境的短期趋势并不乐观,不是只有AI,其他所有职位都有明显收缩,一二线厂因为嗅觉和判断更敏锐,未雨绸缪更明显,所以在人员HC上反应会更坚决。

如果不是以上企业,因为越来越多的企业很清晰的明白,现有AI技术的基础应用对能力的要求并不高,要学会它并不太难,硕士甚至本科大学相关专业在基础好的情况下,也能很好的学习适应,所以从成本来考虑,企业其实更乐意校招和内部技术转岗来填补。

大环境变差的情况下,小厂的AI诉求不得不快速压制。

AI的效益,往往需要基于大量的用户数据才能产生规模化的复用效益,小厂不具备这样的数据规模以及一整套数据和算法基础平台,以前大环境不错,AI技术的使用甚至被用来当做融资的优势。在目前大环境不好的情况下,已经不具备养活一个这样规模团队,而如果不能形成团队化、数据规模化就形成不了足够的AI竞争优势,对处于生存压力下对资金更敏感的创业公司来说,还不如先节约成本,干好本行过完冬再说。

老人变新人、外行人的资源挤占

先不说应届生了,IT还有很多在行业之外的从业者,通过“AI培训班、二个月专家速成班”,也急迫的挤进来抢占除大厂外的岗位资源,当然,AI领域也有一定基础门槛,所以部分转去做前后端的开发了,一部分在小厂得到机会开始从事基础的AI开发,使用的也是成熟的外部产品。

大部分AI资源的竞争者还是业内的传统后端开发人员,尤其是入行年限在1~3年以内的,就连园区楼下看门的保安都知道AI的薪资和前景好,社会的发展也一定会朝着这个方向走,所以只要有机会,更乐意转岗学习AI。就职的机会确实还是有的,外部招聘专业人才的成本高昂,企业更乐意内部转岗培养、甚至启用外行人。

这里说下,不是只有AI,IT互联网行业所有的从业者,都存在着职位被外部挤占的事实趋势,毕竟刚工作动不动就一万起的职位,几年就能二三万的工资谁不眼红?你让那些师范类、建筑类、服务业的同学情何以堪?这些速成培训班的企业,也间接革了程序员的命,全员都懂AI时,谁还需要只懂基础型的工程师?

但专家级的“调优”大师,不管在哪个行业、小厂还是大厂都会吃香。

业界主流对AI人才的产品诉求和价值认同,已经被技术发展所磨平。

大厂在大数据平台、算法模型平台、实时离线计算等平台建设上已经相对成熟和稳定了,在具有大规模(上亿)用户和大规模商业(不同垂直的业务产品)场景的场景下,算法的任何细微效果提升,都能带来规模化的巨大收益。

阿里、腾讯、网络、华为等企业又通过云平台,将这些技术的基础设施和通用的业务能力对外部进行了云产品输出。外部企业在用户量和商业场景方面其实诉求不高,而且大厂已经形成了聚虹效应,通过不断收购、投资、创新,切入到不同的细分领域,流量开始逐渐向大厂汇集,使得外部企业的用户规模很难做大,AI介入带来的商业价值从概率上来说,可能性就很低,小厂在目前融资和大背景都不乐观的情况下,最迫切的先解决生存问题,发展壮大后再考虑用户和产品的规模化后带来体验和极致的成本效率问题,他们认为那时的算法介入才更划算,当下的技术做好对业务的支撑即可。

  • 声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
  • 本文地址:https://www.srwj168.com.cn/keji312/17125.html
冠军悬念!皇马大幅领跑欧冠冠军赔率!多特遭断层拉开
白家老号 登陆申城 重温 大宅门 国话经典话剧 跌宕传奇