LIMO:上海交大推出高效推理方法,仅需817条训练样本就能激活大语言模型的复杂推理能力

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介: LIMO 是由上海交通大学推出的一种高效推理方法,通过极少量的高质量训练样本激活大语言模型的复杂推理能力。

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

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


大家好,我是蚝油菜花,今天跟大家分享一下 LIMO 这个由上海交通大学推出的高效推理方法,仅需817条训练样本就能激活大语言模型的复杂推理能力。

🚀 快速阅读

LIMO 是一种高效的推理方法,旨在通过极少量的高质量训练样本激活大语言模型的复杂推理能力。

  1. 核心功能:仅使用817个精心策划的训练样本,在多个数学推理基准测试中取得显著性能提升。
  2. 技术原理:基于“少即是多推理假设”,利用预训练阶段已编码的领域知识,通过最少但精确组织的认知过程示例来激活复杂的推理能力。

LIMO 是什么

LIMO

LIMO(Less Is More for Reasoning)是上海交通大学研究团队提出的一种高效推理方法。它通过极少量高质量的训练样本激活大语言模型(LLM)的复杂推理能力。核心假设是在预训练阶段已经具备丰富知识基础的模型中,复杂的推理能力可以通过少量但精心设计的训练样本被有效激活。LIMO仅使用817个训练样本,在多个数学推理基准测试中取得了显著的性能提升。

LIMO挑战了传统观点,认为复杂的推理任务需要大量训练数据。相反,LIMO证明了通过极少量但高质量的训练样本,可以实现优越的推理性能。这一发现为未来的推理模型开发提供了新的思路和方向。

LIMO 的主要功能

  • 高效推理激活:LIMO仅使用817个精心策划的训练样本,在多个数学推理基准测试中取得了显著的性能提升。在AIME基准测试中,LIMO的准确率达到了57.1%,在MATH基准测试中达到了94.8%,相比之前的模型分别提升了50.6个百分点和35.6个百分点。
  • 出色的泛化能力:LIMO在10个不同的基准测试中展现了卓越的分布外泛化能力,平均准确率达到了72.8%,相比使用100倍数据训练的模型,LIMO实现了40.5%的绝对性能提升。
  • 验证“少即是多”假设:LIMO的研究提出了“少即是多推理假设”(LIMO Hypothesis),即在基础模型中,当领域知识在预训练阶段已被全面编码时,复杂的推理能力可以通过最少但精确编排的认知过程示范出现。
  • 数据高效性:LIMO仅使用了之前方法所需训练数据的1%,挑战了传统观点认为复杂的推理任务需要大量训练数据的假设。

LIMO 的技术原理

  • 核心假设:LIMO的核心假设是“少即是多推理假设”(LIMO Hypothesis):在基础模型中,当领域知识在预训练中已被全面编码时,可以通过对认知过程的最小但精确组织的示例而出现。假设认为,复杂推理的引发门槛并不固有地受到目标推理任务复杂性的限制,而是由两个关键因素决定:
    • 模型在预训练期间编码的知识基础的完整性:现代基础模型在预训练过程中整合了前所未有数量的数学内容。例如,Llama 2和Llama 3在数学推理方面的训练数据分别达到了1.8T和3.7T代币。
    • 训练后的范例的有效性:这些范例作为“认知模板”展示了模型如何有效运用现有的知识基础来解决复杂的推理任务。
  • 问题定义:LIMO关注于具有可验证答案的推理任务,目标是生成一个答案和一个推理链。
  • 问题选择:选择能促进复杂推理链、多样化思考过程和知识整合的挑战性问题。
  • 推理链构建:收集官方解决方案,补充人类专家和AI专家撰写的解决方案,基于最先进的推理模型生成多样化的解决方法。
  • 训练协议:使用监督微调在LIMO数据集上对大型语言模型进行微调,采用完整参数微调,使用DeepSpeed ZeRO-3优化和FlashAttention-2。

如何运行 LIMO

1. 环境准备

确保安装了所需的依赖库,并配置好环境。可以使用以下命令安装必要的包:

pip install transformers vllm

2. 使用 Hugging Face Transformers

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# 初始化模型和分词器
model = AutoModelForCausalLM.from_pretrained(
    "GAIR/LIMO",
    torch_dtype="auto",
    trust_remote_code=True,
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("GAIR/LIMO", trust_remote_code=True)

# 准备输入消息
messages = [
    {
   "role": "system", "content": "Please reason step by step, and put your final answer within \\boxed{}."},
    {
   "role": "user", "content": "What is the result of 1+1?"}
]

# 格式化输入
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)

# 分词
inputs = tokenizer(text, return_tensors="pt").to(model.device)

# 生成响应
outputs = model.generate(
    **inputs,
    max_new_tokens=32768,
    temperature=0.7,
    top_p=0.95,
    do_sample=True
)

# 解码并打印响应
response = tokenizer.decode(outputs[0][inputs['input_ids'].shape[1]:], skip_special_tokens=True)
print(response)

3. 使用 VLLM

from vllm import LLM, SamplingParams
from transformers import AutoTokenizer

# 初始化模型
llm = LLM(
    model="GAIR/LIMO",
    tensor_parallel_size=4,  # 根据可用GPU调整
    trust_remote_code=True,
    swap_space=60,
    gpu_memory_utilization=0.96,
)

# 准备输入消息
messages = [
    {
   "role": "system", "content": "Please reason step by step, and put your final answer within \\boxed{}."},
    {
   "role": "user", "content": "What is the result of 1+1?"}
]

# 设置分词器
tokenizer = AutoTokenizer.from_pretrained("GAIR/LIMO", trust_remote_code=True)
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)

# 配置生成参数
sampling_params = SamplingParams(
    temperature=0.7,
    max_tokens=32768,
    top_p=0.95,
)

# 生成响应
output = llm.generate(text, sampling_params)
print(output[0].outputs[0].text)

资源


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

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

相关文章
|
10月前
|
人工智能 自然语言处理 算法
谷歌推出”自我发现“框架,极大增强GPT-4等大模型推理能力
【4月更文挑战第20天】谷歌DeepMind团队推出了SELF-DISCOVER框架,让大型语言模型能自我发现并构建推理结构,提升在复杂任务中的性能。该框架模仿人类解决问题方式,分两阶段选择和适应原子推理模块,以解决挑战。在多任务测试中,SELF-DISCOVER相比传统方法表现出色,性能提升42%,计算量减少10至40倍。它具有跨模型应用的普适性,并与人类思维方式相通。然而,它在某些任务类型上仍有优化空间,且需解决计算成本问题。论文链接:https://arxiv.org/abs/2402.03620
144 1
|
10月前
|
物联网 机器人 Swift
|
21天前
|
人工智能 自然语言处理 并行计算
MeteoRA:多任务AI框架革新!动态切换+MoE架构,推理效率提升200%
MeteoRA 是南京大学推出的多任务嵌入框架,基于 LoRA 和 MoE 架构,支持动态任务切换与高效推理。
62 3
|
2月前
|
存储 人工智能 图计算
MiniRAG:迷你 RAG 系统加成小型语言模型,爆发出与大型语言模型相当的性能
MiniRAG 是香港大学推出的新型 RAG 系统,专为资源受限场景设计,支持高效知识检索与推理,适用于多种应用场景。
218 12
MiniRAG:迷你 RAG 系统加成小型语言模型,爆发出与大型语言模型相当的性能
|
2月前
|
人工智能 供应链 安全
面向高效大模型推理的软硬协同加速技术 多元化 AI 硬件引入评测体系
本文介绍了AI硬件评测体系的三大核心方面:统一评测标准、平台化与工具化、多维度数据消费链路。通过标准化评测流程,涵盖硬件性能、模型推理和训练性能,确保评测结果客观透明。平台化实现资源管理与任务调度,支持大规模周期性评测;工具化则应对紧急场景,快速适配并生成报告。最后,多维度数据消费链路将评测数据结构化保存,服务于综合通用、特定业务及专业性能分析等场景,帮助用户更好地理解和使用AI硬件。
|
3月前
|
自然语言处理 资源调度 并行计算
从本地部署到企业级服务:十种主流LLM推理框架的技术介绍与对比
本文深入探讨了十种主流的大语言模型(LLM)服务引擎和工具,涵盖从轻量级本地部署到高性能企业级解决方案,详细分析了它们的技术特点、优势及局限性,旨在为研究人员和工程团队提供适合不同应用场景的技术方案。内容涉及WebLLM、LM Studio、Ollama、vLLM、LightLLM、OpenLLM、HuggingFace TGI、GPT4ALL、llama.cpp及Triton Inference Server与TensorRT-LLM等。
619 7
|
5月前
|
存储 安全 机器人
MemoryScope:为LLM聊天机器人配备的长期记忆系统
如何选择合适的方法构建自己的智能体助理呢?这里向您介绍强大、低延迟、安全可控的MemoryScope开源项目。
|
8月前
|
存储 人工智能 自然语言处理
打造专业高效的AI客服:从基础准备到深度训练的全面指南
【7月更文第14天】在数字化转型的浪潮中,人工智能客服(AI Customer Service)已成为提升企业服务质量和效率的关键。一个训练有素的AI客服不仅能提供24/7不间断服务,还能精准理解客户需求,有效提升客户满意度。本文将深入探讨如何构建这样一个系统,包括必备的硬性条件、训练流程及成本考量,辅以实际代码示例,为您的企业开启智能客服新时代。
2466 1
|
9月前
|
机器人
北大推出全新机器人多模态大模型!面向通用和机器人场景的高效推理和操作
【6月更文挑战第29天】北京大学研发的RoboMamba是新型机器人多模态大模型,融合Mamba SSM的高效推理与视觉编码器,提升复杂任务处理能力。通过微调策略,仅用少量参数即可快速习得操作技能,实现在通用及机器人场景的高效运行,推理速度提升7倍。尽管面临泛化和可解释性挑战,RoboMamba展示了多模态模型的新潜力。[论文链接:](https://arxiv.org/abs/2406.04339)
167 1
|
10月前
|
人工智能 自然语言处理 安全
【大模型】 基于AI和全球化进程的权衡:开源大模型与闭源大模型
【大模型】 基于AI和全球化进程的权衡:开源大模型与闭源大模型
203 0

热门文章

最新文章