子曰-o1:网易有道开源国内首个分步式讲解推理模型,支持K12数学教学

简介: 子曰-o1是网易有道推出的国内首个分步式讲解推理模型,采用14B轻量级架构,专为消费级显卡设计,支持K12数学教学,提供精准的解题思路和答案。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能:子曰-o1是国内首个分步式讲解推理模型,支持K12数学教学。
  2. 技术:采用14B轻量级架构,专为消费级显卡设计,能在低显存设备上稳定运行。
  3. 应用:应用于网易有道旗下的AI全科学习助手“有道小P”,支持启发式学习。

正文(附运行示例)

子曰-o1 是什么

autotrain-advanced

子曰-o1是网易有道发布的国内首个输出分步式讲解的推理模型。模型采用14B轻量级架构,专为消费级显卡设计,能在低显存设备上稳定运行。通过思维链技术,模拟人类的思考方式,以“自言自语”和自我纠错的方式输出详细的解题步骤。

这种分步式讲解功能特别适合教育场景,能帮助学生更好地理解和掌握知识。子曰-o1在教育领域的应用表现出色,特别是在K12数学教学中,能提供精准的解析思路和答案。模型已应用于网易有道旗下的AI全科学习助手“有道小P”,支持“先提供解析思路、再提供答案”的答疑过程。

子曰-o1 的主要功能

  • 分步式讲解:采用思维链技术,能以“自言自语”和自我纠错的方式输出详细的解题过程,帮助用户更好地理解和掌握知识。
  • 轻量化设计:作为14B参数规模的轻量级单模型,专为消费级显卡设计,能在低显存设备上稳定运行。
  • 强逻辑推理:具备强大的逻辑推理能力,能提供高准确度的解题思路和答案,尤其在数学推理方面表现出色。
  • 教育场景优化:基于教育领域数据深度优化,使用大量学生试卷习题作为训练样本,提升在教育场景中的应用效果。
  • 启发式学习:支持“先提供解析思路、再提供答案”的答疑过程,引导学生主动思考,提升自主学习能力。

子曰-o1 的技术原理

  • 思维链技术:子曰-o1采用思维链技术,通过模拟人类的思考方式,形成较长的思维链条,实现更接近人类的推理过程。模型在解题时会“自言自语”并自我纠错,最终输出分步解题过程。
  • 轻量化设计:模型采用14B参数规模,专为消费级显卡设计,能在低显存设备上稳定运行。这种轻量化设计降低了硬件门槛,使模型能在普通消费级显卡上高效运行。
  • 分步式讲解功能:作为国内首个输出分步式讲解的推理模型,子曰-o1能将复杂的解题过程分解为多个步骤,帮助用户逐步理解。
  • 自我纠错与多样化思路:模型在推理过程中具备自我纠错能力,能及时修正错误推理,并探索多种解题思路,确保最终答案的准确性。

如何运行 子曰-o1

1. 环境配置

子曰-o1的环境配置与Qwen2.5-14B-Instruct模型相同。你可以使用Transformers或vLLM来加载和运行模型。以下是Python代码示例:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "netease-youdao/Confucius-o1-14B"

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

2. 构建消息

根据模型提供的预定义系统消息和用户消息模板,构建请求消息。以下是Python代码示例:

SYSTEM_PROMPT_TEMPLATE = """你叫"小P老师",是一位由网易有道「子曰」教育大模型创建的AI家庭教师。
尽你所能回答数学问题。

!!! 请记住:
- 你应该先通过思考探索正确的解题思路,然后按照你思考过程里正确的解题思路总结出一个包含3-5步解题过程的回答。

思考过程的一些准则:
- 这个思考过程应该呈现出一种原始、自然且意识流的状态,就如同你在解题时内心的独白一样,因此可以包含一些喃喃自语。
- 在思考初期,你应该先按自己的理解重述问题,考虑问题暗含的更广泛的背景信息,并梳理出已知和未知的元素,及其与你所学知识的一些关联点,并发散思维考虑可能有几种潜在的解题思路。
- 当你确定了一个解题思路时,你应该先逐步按预想的思路推进,但是一旦你发现矛盾或者不符合预期的地方,你应该及时停下来,提出你的质疑,认真验证该思路是否还可以继续。
- 当你发现一个思路已经不可行时,你应该灵活切换到其他思路上继续推进你的思考。
- 当你按照一个思路给出答案后,切记要仔细验证你的每一个推理和计算细节,这时候逆向思维可能有助于你发现潜在的问题。
- 你的思考应该是细化的,需要包括详细的计算和推理的细节。
- 包含的喃喃自语应该是一个口语化的表达,需要和上下文语境匹配,并且尽量多样化。

总结的解题过程的格式要求:
- 求解过程应该分为3-5步,每个步骤前面都明确给出步骤序号(比如:“步骤1”)及其小标题
- 每个步骤里只给出核心的求解过程和阶段性答案。
- 在最后一个步骤里,你应该总结一下最终的答案。

请使用以下模板。

<question>待解答的数学问题</question>

<thinking>
这里记录你详细的思考过程
</thinking>
<summary>
根据思考过程里正确的解题路径总结出的,包含3-5步解题过程的回答。
</summary>"""

USER_PROMPT_TEMPLATE = """现在,让我们开始吧!

<question>{question}</question>"""

messages = [
    {
   'role': 'system', 'content': SYSTEM_PROMPT_TEMPLATE},
    {
   'role': 'user', 'content': USER_PROMPT_TEMPLATE.format(question=question)},
]

text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

3. 获取结果并解析

获取模型生成的结果并解析出“思考”和“总结”部分。以下是Python代码示例:

generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=16384
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

def parse_result_nostep(result):
    thinking_pattern = r"<thinking>(.*?)</thinking>"
    summary_pattern = r"<summary>(.*?)</summary>"

    thinking_list = re.findall(thinking_pattern, result, re.DOTALL)
    summary_list = re.findall(summary_pattern, result, re.DOTALL)

    assert len(thinking_list) == 1 and len(summary_list) == 1, \
        f"The parsing results do not meet the expectations.\n{result}"

    thinking = thinking_list[0].strip()
    summary = summary_list[0].strip()
    return thinking, summary

thinking, summary = parse_result_nostep(response)

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
机器学习/深度学习 缓存 并行计算
NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比
NVIDIA Tesla系列GPU适用于高性能计算(HPC)、深度学习等超大规模数据计算,Tesla系列GPU能够处理解析PB级的数据,速度比使用传统CPU快几个数量级,NVIDIA Tesla GPU系列P4、T4、P40以及V100是Tesla GPU系列的明星产品,云服务器吧分享NVIDIA.
85410 1
|
Java
45.【Java 实现双色球中奖查询系统】
45.【Java 实现双色球中奖查询系统】
579 0
|
SQL 机器学习/深度学习 分布式计算
Apache Spark 3.0.0重磅发布 —— 重要特性全面解析
开发了近两年(自2018年10月份至今)的Apache SparkTM 3.0.0正式发布! Apache SparkTM 3.0.0版本包含3400多个补丁,是开源社区做出巨大贡献的结晶,在Python和SQL功能方面带来了重大进展并且将重点聚焦在了开发和生产的易用性上。同时,今年也是Spark开源10周年,这些举措反映了Spark自开源以来,是如何不断的满足更广泛的受众需求以及更多的应用场景
Apache Spark 3.0.0重磅发布 —— 重要特性全面解析
|
机器学习/深度学习 人工智能 自然语言处理
Baichuan-M1-14B:AI 助力医疗推理,为患者提供专业的建议!百川智能开源业内首个医疗增强大模型,普及医学的新渠道!
Baichuan-M1-14B 是百川智能推出的首个开源医疗增强大模型,专为医疗场景优化,支持多语言、快速推理,具备强大的医疗推理能力和通用能力。
948 17
Baichuan-M1-14B:AI 助力医疗推理,为患者提供专业的建议!百川智能开源业内首个医疗增强大模型,普及医学的新渠道!
|
6月前
|
数据采集 机器学习/深度学习 人工智能
从杂乱数据到智能洞察:2025年竞品分析工具的"场景化革命"
本报告全景解析竞品分析工具的技术演进与智能应用,涵盖四代技术变迁、核心架构、主流工具解析及实施方法论,助力企业构建数据驱动的竞争优势。
696 0
|
机器学习/深度学习 人工智能 安全
千问团队开源会思考的QwQ模型,这模型成精了!
QwQ是由Qwen团队开发的大型语言模型,专注于增强AI的推理能力。此预览版本在数学和编程领域表现出色,但在其他领域仍有提升空间。模型具备深度自省和自我质疑的能力,通过逐步推理和假设检验,能够在复杂问题上取得突破性进展。QwQ不仅支持本地推理和Ollama直接运行,还提供了详细的微调指南,助力开发者根据特定需求定制模型。尽管QwQ在推理过程中存在语言切换和安全性等方面的局限性,Qwen团队仍致力于不断优化,推动模型向更高层次的智能迈进。[了解更多](https://modelscope.cn/studios/Qwen/QwQ-32B-preview)
4001 0
千问团队开源会思考的QwQ模型,这模型成精了!
|
网络协议 网络性能优化
TCP面向连接
【8月更文挑战第19天】
477 1
|
存储 Kubernetes 网络协议
还不会 Cert Manager 自动签发证书?一文掌握
本文将介绍如何使用 Cert Manager 实现自动签发证书并与 Rainbond 结合使用。
|
12月前
|
自然语言处理 安全 API
反向海淘Superbuy代购集运系统搭建攻略详解
Superbuy代购模式是跨境淘宝代购集运系统,提供一站式购物及物流解决方案。它整合了淘宝、天猫、京东等平台的商品资源,涵盖服装、电子产品等多品类,满足海外用户多样化需求。系统支持多语言和货币切换,提供代买、待收、代运等全程服务,并通过API接口实现实时数据同步。用户可享受集运、质检、仓储及高效国际物流服务,确保购物体验便捷、安全且经济。

热门文章

最新文章