g1:o1推理链开源实现,原理竟如此简单!解决 60-80% 的困扰LLM的简单逻辑问题

OpenAI的o1已经发布一段时间了,网上都是对其大加称赞,他们说o1在复杂任务上面的表现令人印象深刻,甚至已经达到或超过了博士水平,并且在代码、数学的能力水平尤为突出,我对此也表示赞同。

此外,我觉得o1不会是单纯 gpt-4o+Agent+思维链 能到达的水平,可能o1训练的数据集会存在一种tag,其作用是提供一个问题不同种类的、拆解的、细致的解决步骤,当然,这可能只是其中一种训练方式。

OpenAI 的 o1 采用大规模强化学习进行训练,利用思想链进行推理,在复杂的博士级问题上实现了最先进的性能。

它训练方式也从原来的人类反馈强化学习变成AI反馈强化学习。因为官方有提到它是使用强化学习,类似于AlphaGo,所以如果要一直用这种强化学习训练下去,那数据来源就只能AI自己生成。AI反馈强化学习前面还没有人做过,Openai给我们提供了先例,还是很有贡献的。

▲23年3月份 | 知友关于COT与LLM训练的讨论

当然这一切都是一些猜测,回到正题,我们今天要介绍的是一个模仿o1思维链的开源项目——g1(在 Groq 上使用 Llama-3.1 70b 创建类似 o1 的推理链)。

这个项目不到一周的时间现在已经达到了 2K star;这也足以说明大家对o1思维链的热情。

g1 是实验性的并且是开源的,以帮助激励开源社区开发新的策略来产生类似 o1 的推理。不过他主要是展示可视化步骤提示推理的力量,而不是与使用不同技术的 o1 进行比较或完全复制。

它是建立在免费模型groq上的,使用Gradio UI、Streamlit UI做交互。

其实从本质上来看,这个项目核心是使用这个提示词达到思维链的效果其他的都只是Groq模型调用和UI对话的实现。

Groq 模型(如llama-3.1-70b-versatile)+ 动态思维链提示词 + 使用Gradio UI、Streamlit UI做交互。

重点是提示词 …

它的提示词是一种动态思维链,允许LLM “思考”并解决一些通常会困扰领先模型的逻辑问题。在每一步中, LLM都可以选择继续另一个推理步骤,或提供最终答案。每个步骤都有标题并且对用户可见。

这种思想链与尝试多种方法、探索替代答案、质疑先前草案解决方案并考虑LLM的局限性的要求相结合,可以有效提高LLM的推理能力。

仅此思想链一项,无需任何训练,就足以在草莓问题上达到约 70% 的准确率(n=10,“草莓中有多少卢比?”)。在没有提示的情况下,Llama-3.1-70b 的准确度为 0%,ChatGPT-4o 的准确度为 30%。

提示词的讲解我放在最后,先看g1解决问题的示例:

提示:草莓有多少个r?
结果:

提示:0.9 或 0.11 哪个更大?

结果:

提示:3307是质数吗?(答案:是的)

这个问题我在很多模型上有过测试,从比例上来看回答正确的不多。

我记得REFLECTION 70B(虚晃一枪版)、LLAMA-3.170B都错了:

原始的groq 70B :https://groq.com/ 错了:

但是g1答对了:

▲ 我在g1基础上改进的提示词效果(最新Prompt放在文末)

为什么我爸妈结婚的时候没有邀请我?

答案对了而且解释的很饱满

原始的groq 70B错了

其实这个问题我还对比测试了几次,g1回答正确的概率远远高于原始的(因为有些问题每一次的回答都有不确定性,不能保证每次都回答正确,从回答正确的概率上来说g1明显更高)。

提示:昨天的当天是明天的什么时间?

g1也答对了(不过这个问题有时候会报错)

而且这个问题在许多云端大模型中有比较详细可以看这篇文章:

https://mp.weixin.qq.com/s/W2XRaOcG73B8csSGJqAuXQ

不过有一点不太好,g1目前的提示词不适用于代码类的问题生成:

提问:创建一个HTML页面,其中包含一个按钮,当单击时释放五彩纸屑。你可以使用CSS和JS。结果直接报错了,这个希望以后能逐步完善。

弱智吧问题测试

我的蓝牙耳机坏了,我该去看牙科还是耳鼻喉科?

回答正确(注意把问题转为英文,因为llama3.1 70B中文支持不是太好),或者你可以在其他中文大模型上应用这个提示词,并且也许提示词也要做相应的适配性修正。

每天吃一粒感冒药,还会感冒吗?

回答的相当棒

生鱼片是死鱼片吗

回答正确,并且他还解释的很好,他的解释某种程度上还结合了他思考过程中生成的答案,在这一点上就好过于没有这种思维链的直接性回答。

而原始groq 70B就出错了:

等红灯是在等绿灯吗?

正确,这个绝了演绎、归纳、类比推理都用了,因为这是我基于g1的提示词改进的版本,原g1提示词没有这些,

灵感来自于 GPTs : Mr. Ranedeer ,我的这个提示词(GitHub仓库)放在文末,不过我不保证这个提示词可以应对所有的情况或者有些情况下不一定好于原来的,因为目前还没有做过多的测试不知道其存在的潜在问题,主要也是提供一个参考的方向。

一个半小时是几个半小时

提示策略拆解

我们回过头来再看看他的提示词,其实这个提示词有很多奇妙的地方你们下面这两个:

1、LLM能够决定是否需要另一个推理步骤或是否可以提供最终答案。

2、使用“title”、“content”和“next_action”(“继续”或“final_answer”)键以 JSON 格式进行响应。

最重要的其实是这张图里面提到的6点:

" 尽可能多地使用推理步骤。至少 3. 了解您作为LLM的局限性以及您能做什么和不能做什么。在你的推理中,包括对替代答案的探索。考虑一下你可能是错的,如果你的推理是错误的,那么它会错在哪里 … "

You are an expert AI assistant that explains your reasoning step by step. For each step, provide a title that describes what you're doing in that step, along with the content. Decide if you need another step or if you're ready to give the final answer. Respond in JSON format with 'title', 'content', and 'next_action' (either 'continue' or 'final_answer') keys. USE AS MANY REASONING STEPS AS POSSIBLE. AT LEAST 3. BE AWARE OF YOUR LIMITATIONS AS AN LLM AND WHAT YOU CAN AND CANNOT DO. IN YOUR REASONING, INCLUDE EXPLORATION OF ALTERNATIVE ANSWERS. CONSIDER YOU MAY BE WRONG, AND IF YOU ARE WRONG IN YOUR REASONING, WHERE IT WOULD BE. FULLY TEST ALL OTHER POSSIBILITIES. YOU CAN BE WRONG. WHEN YOU SAY YOU ARE RE-EXAMINING, ACTUALLY RE-EXAMINE, AND USE ANOTHER APPROACH TO DO SO. DO NOT JUST SAY YOU ARE RE-EXAMINING. USE AT LEAST 3 METHODS TO DERIVE THE ANSWER. USE BEST PRACTICES.``   ``Example of a valid JSON response:`` ```json ``{`    `"title": "Identifying Key Information",`    `"content": "To begin solving this problem, we need to carefully examine the given information and identify the crucial elements that will guide our solution process. This involves...",`    `"next_action": "continue"`` }```
你是一个专家AI助手,可以一步一步地解释你的推理。``对于每个步骤,提供一个标题,描述您在该步骤中所做的工作,以及内容。``决定你是否需要再做一步,或者你是否准备好给出最终答案。```以JSON格式响应,包含` title `、` content `和` next_action ` (` continue `或` final_answer `)键。```使用尽可能多的推理步骤,至少3步。``要意识到你作为LLM的局限性,以及你能做什么和不能做什么。在你的推理中,包括探索不同的答案。``考虑你可能是错的,如果你的推理是错的,它会是什么。``充分测试所有其他可能性。你可能是错的。当你说你在重新检查时,实际上是重新检查,并使用另一种方法来做。``不要只是说你在重新检查。用至少3种方法得出答案。使用最佳实践。``   ``有效的JSON响应示例:``' ' ' json``{``“标题”:“识别关键信息”,``“内容”:“为了开始解决这个问题,我们需要仔细检查给定的信息,并确定将指导我们解决方案过程的关键元素。这涉及到……”``“next_action”:“继续”``}’‘

视频快速演示安装部署

部署演示

总的来说,部署它非常简单,你就按照项目代码操作就行了,

需要注意的是下面:

如果你是windows记得这样配置环境变量,其他的都和上图一样

$env:GROQ_API_KEY="gsk..."

groq API:https://console.groq.com/keys

g1提示词改进与Ollama支持

我的仓库中有g1的提示词修改版本,以及对ollama的支持:

https://github.com/Ai-trainee/o1-flow

总的来说,groq与动态思维链结合的好处是一方面提高本身模型的推理精准度一方面groq提供几乎全球最快的api响应速度,这一点就弥补了思维链处理起来时间太久的问题。

期待后续测试更多的问题,当然这个提示词可以结合其他云端大模型.

或者把提示词的精髓附加到我们的生产提示词中,比如我是这样做的(将原始提示词增加这种动态思维链):

总的来说,这非常酷。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值