Satori:快速体验MIT与哈佛推出7B参数的推理专家模型,具备自回归搜索和自我纠错能力

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介: Satori 是由 MIT 和哈佛大学等机构联合推出的 7B 参数大型语言模型,专注于提升推理能力,具备强大的自回归搜索和自我纠错功能。

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

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


大家好,我是蚝油菜花,今天跟大家分享一下 Satori 这个由 MIT、哈佛大学等机构联合推出的大语言推理模型。

🚀 快速阅读

Satori 是一个 7B 参数的大型语言模型,专注于提升推理能力。

  1. 核心功能:具备自回归搜索和自我纠错能力,能够在数学推理和跨领域任务中表现出色。
  2. 技术原理:采用行动-思维链(COAT)机制和两阶段训练框架,通过强化学习优化模型性能。

Satori 是什么

Satori-7B-Gradio

Satori 是由 MIT、哈佛大学等机构研究者推出的 7B 参数大型语言模型,专注于提升推理能力。基于 Qwen-2.5-Math-7B,Satori 通过小规模的格式微调和大规模的增强学习实现了先进的推理性能。

该模型引入了行动-思维链(COAT)机制,通过特殊的元动作标记引导模型进行推理。Satori 在数学推理和跨领域任务中表现出色,展现了优异的泛化能力。Satori 的代码、数据和模型均已开源,为研究人员和开发者提供了宝贵资源。

Satori 的主要功能

  • 自回归搜索能力:Satori 通过自我反思和探索新策略,能进行自回归搜索,无需外部指导即可完成复杂的推理任务。
  • 数学推理:Satori 在数学推理基准测试中取得了最佳成绩,展现出卓越的推理能力。
  • 跨领域任务:除了数学领域,Satori 在逻辑推理、代码推理、常识推理和表格推理等跨领域任务中也表现出色,具有很强的泛化能力。
  • 自我反思与纠错能力:Satori 在推理过程中能自我反思并进行自我纠错,提升了推理的准确率。
  • 强化学习优化:采用行动-思维链(COAT)机制和两阶段训练框架,包括小规模格式调优和大规模自我优化,主要依靠强化学习(RL)实现先进的推理性能。

Satori 的技术原理

Satori

  • 行动-思维链(COAT)推理

    • 继续推理(<|continue|>):鼓励模型生成下一个中间步骤。
    • 反思(<|reflect|>):验证之前的推理步骤是否正确。
    • 探索替代方案(<|explore|>):识别推理中的漏洞并探索新的解决方案。
  • 两阶段训练框架

    • 小规模格式调优阶段:在少量推理轨迹示例的小数据集上进行微调,使模型熟悉 COAT 推理格式。
    • 大规模自我优化阶段:通过强化学习(RL)优化模型性能,采用重启与探索(RAE)技术,提升模型的自回归搜索能力。

如何运行 Satori-7B-Round2

快速部署(WebUI)

1. 克隆项目到本地

首先,您需要从 GitHub 克隆项目到本地。执行以下命令:

git clone https://github.com/Airmomo/satori-7b-round2-webui.git
cd satori-7b-round2-webui

2. 创建虚拟环境

为了确保项目的依赖项不会影响您的系统环境,建议创建一个虚拟环境。执行以下命令来创建虚拟环境:

python -m venv myenv

3. 激活虚拟环境

根据您的操作系统,使用不同的命令来激活虚拟环境:

3.1 Windows

myenv\Scripts\activate

3.2 macOS/Linux

source myenv/bin/activate

4. 安装依赖包

激活虚拟环境后,安装项目所需的依赖包。执行以下命令:

pip install torch vllm gradio tqdm

5. 运行程序

安装完成后,您可以运行程序。执行以下命令启动 WebUI:

python gradio_app.py

程序会自动下载模型文件并启动推理引擎和 Gradio App。下载完成后,您将看到类似以下的输出,显示 Gradio App 的访问地址:

* Running on local URL:  http://127.0.0.1:7860
* Running on public URL: https://62c32ff6bbd7ca4d2f.gradio.live

手动部署

1. 准备环境

通过以下命令安装所需的库:

pip install torch vllm tqdm

2. 加载模型

Satori-7B-Round2 是基于 Qwen-2.5-Math-7B 模型训练的,因此你需要下载并加载该模型。你可以从 Hugging Face 或其他模型仓库中获取模型文件。假设你已经下载了模型文件并存储在本地路径 Satori-reasoning/Satori-7B-Round2,接下来可以加载模型。

from vllm import LLM, SamplingParams

def load_model(model_path):
    llm = LLM(
        model=model_path,
        trust_remote_code=True,
        tensor_parallel_size=1,
    )
    return llm

3. 配置推理参数

为了生成高质量的推理结果,你可以通过 SamplingParams 来配置推理参数。以下是推荐的参数设置:

  • max_tokens=4096:限制生成的最大 token 数量。
  • temperature=0.0:使用贪婪搜索(greedy sampling),确保生成的结果更加稳定。
  • n=1:每次生成一条推理路径。
  • skip_special_tokens=True:隐藏特殊 token,如 <|continue|><|reflect|><|explore|>,这些 token 用于内部推理控制,但不希望出现在最终输出中。
def configure_sampling_params():
    sampling_params = SamplingParams(
        max_tokens=4096,
        temperature=0.0,
        n=1,
        skip_special_tokens=True
    )
    return sampling_params

4. 构建提示

Satori-7B-Round2 采用了 Chain-of-Action-Thought (COAT) 推理框架,因此在构建提示时,建议使用清晰的指令来引导模型进行逐步推理。以下是一个示例提示格式:

def prepare_prompt(question):
    prompt = f"Solve the following math problem efficiently and clearly.\nPlease reason step by step, and put your final answer within \\boxed{
   {}}.\nProblem: {question}"
    return prompt

5. 生成推理结果

接下来,你可以编写一个函数来生成推理结果。该函数会加载模型、配置推理参数,并为给定的问题生成推理路径。

def generate(question_list, model_path):
    llm = load_model(model_path)
    sampling_params = configure_sampling_params()
    outputs = llm.generate(question_list, sampling_params, use_tqdm=True)
    completions = [[output.text for output in output_item.outputs] for output_item in outputs]
    return completions

6. 运行示例

以下是一个完整的示例代码,展示了如何使用 Satori-7B-Round2 来解决一个简单的数学问题:

def run():
    model_path = "Satori-reasoning/Satori-7B-Round2"
    all_problems = [
        "which number is larger? 9.11 or 9.9?",
    ]
    completions = generate(
        [prepare_prompt(problem) for problem in all_problems],
        model_path
    )

    for completion in completions:
        print(completion[0])

if __name__ == "__main__":
    run()

7. 输出结果

运行上述代码后,Satori-7B-Round2 将会输出一个逐步推理的过程,并给出最终答案。例如,对于问题 "which number is larger? 9.11 or 9.9?",输出可能如下所示:

To determine which number is larger, we compare 9.11 and 9.9.
1. Compare the integer parts: both numbers have the same integer part, which is 9.
2. Compare the decimal parts: 9.11 has a decimal part of 0.11, while 9.9 has a decimal part of 0.9.
3. Since 0.9 is greater than 0.11, 9.9 is the larger number.
Therefore, the larger number is \boxed{9.9}.

资源


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

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

相关文章
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
PAI Model Gallery 支持云上一键部署 DeepSeek-V3、DeepSeek-R1 系列模型
DeepSeek 系列模型以其卓越性能在全球范围内备受瞩目,多次评测中表现优异,性能接近甚至超越国际顶尖闭源模型(如OpenAI的GPT-4、Claude-3.5-Sonnet等)。企业用户和开发者可使用 PAI 平台一键部署 DeepSeek 系列模型,实现 DeepSeek 系列模型与现有业务的高效融合。
|
7天前
|
人工智能 搜索推荐 Docker
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
DeepSeek R1 + LobeChat + Ollama:快速本地部署模型,创建个性化 AI 助手
2576 111
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
|
2天前
|
云安全 边缘计算 人工智能
对话|ESA如何助力企业高效安全开展在线业务?
ESA如何助力企业安全开展在线业务
1014 7
|
4天前
|
人工智能 自然语言处理 JavaScript
宜搭上新,DeepSeek 插件来了!
钉钉宜搭近日上线了DeepSeek插件,无需编写复杂代码,普通用户也能轻松调用强大的AI大模型能力。安装后,平台新增「AI生成」组件,支持创意内容生成、JS代码编译、工作汇报等场景,大幅提升工作效率。快来体验这一高效智能的办公方式吧!
1301 5
|
14天前
|
Linux iOS开发 MacOS
deepseek部署的详细步骤和方法,基于Ollama获取顶级推理能力!
DeepSeek基于Ollama部署教程,助你免费获取顶级推理能力。首先访问ollama.com下载并安装适用于macOS、Linux或Windows的Ollama版本。运行Ollama后,在官网搜索“deepseek”,选择适合你电脑配置的模型大小(如1.5b、7b等)。通过终端命令(如ollama run deepseek-r1:1.5b)启动模型,等待下载完成即可开始使用。退出模型时输入/bye。详细步骤如下图所示,轻松打造你的最强大脑。
9349 86
|
2天前
|
人工智能 自然语言处理 API
DeepSeek全尺寸模型上线阿里云百炼!
阿里云百炼平台近日上线了DeepSeek-V3、DeepSeek-R1及其蒸馏版本等六款全尺寸AI模型,参数量达671B,提供高达100万免费tokens。这些模型在数学、代码、自然语言推理等任务上表现出色,支持灵活调用和经济高效的解决方案,助力开发者和企业加速创新与数字化转型。示例代码展示了如何通过API使用DeepSeek-R1模型进行推理,用户可轻松获取思考过程和最终答案。
|
6天前
|
API 开发工具 Python
阿里云PAI部署DeepSeek及调用
本文介绍如何在阿里云PAI EAS上部署DeepSeek模型,涵盖7B模型的部署、SDK和API调用。7B模型只需一张A10显卡,部署时间约10分钟。文章详细展示了模型信息查看、在线调试及通过OpenAI SDK和Python Requests进行调用的步骤,并附有测试结果和参考文档链接。
1243 7
阿里云PAI部署DeepSeek及调用
|
1月前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
阿里云与企业共筑容器供应链安全
171375 18
|
1月前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
随着云计算和DevOps的兴起,容器技术和自动化在软件开发中扮演着愈发重要的角色,但也带来了新的安全挑战。阿里云针对这些挑战,组织了一场关于云上安全的深度访谈,邀请了内部专家穆寰、匡大虎和黄竹刚,深入探讨了容器安全与软件供应链安全的关系,分析了当前的安全隐患及应对策略,并介绍了阿里云提供的安全解决方案,包括容器镜像服务ACR、容器服务ACK、网格服务ASM等,旨在帮助企业构建涵盖整个软件开发生命周期的安全防护体系。通过加强基础设施安全性、技术创新以及倡导协同安全理念,阿里云致力于与客户共同建设更加安全可靠的软件供应链环境。
150313 32
|
5天前
|
缓存 自然语言处理 安全
快速调用 Deepseek API!【超详细教程】
Deepseek 强大的功能,在本教程中,将指导您如何获取 DeepSeek API 密钥,并演示如何使用该密钥调用 DeepSeek API 以进行调试。

热门文章

最新文章