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

简介: 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技术!

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

相关文章
|
自然语言处理 数据可视化 物联网
Qwen1.5-MoE开源,魔搭社区推理训练最佳实践教程来啦
通义千问团队推出Qwen系列的首个MoE模型,Qwen1.5-MoE-A2.7B。
|
9月前
|
Swift
DeepSeek开源Janus-Pro多模态理解生成模型,魔搭社区推理、微调最佳实践
Janus-Pro是DeepSeek最新开源的多模态模型,是一种新颖的自回归框架,统一了多模态理解和生成。
860 19
DeepSeek开源Janus-Pro多模态理解生成模型,魔搭社区推理、微调最佳实践
|
9月前
|
人工智能 资源调度 API
AnythingLLM:34K Star!一键上传文件轻松打造个人知识库,构建只属于你的AI助手,附详细部署教程
AnythingLLM 是一个全栈应用程序,能够将文档、资源转换为上下文,支持多种大语言模型和向量数据库,提供智能聊天功能。
6591 76
|
10月前
|
机器学习/深度学习 自然语言处理
Deepseek开源R1系列模型,纯RL助力推理能力大跃升!
近期Deepseek正式发布 DeepSeek-R1,并同步开源模型权重。DeepSeek-R1 遵循 MIT License,允许用户通过蒸馏技术借助 R1 训练其他模型。
2819 25
|
9月前
|
存储 人工智能 缓存
DiffSplat:输入文本或图像,2秒内生成3D建模!北大联合字节开源3D建模生成框架
DiffSplat 是由北京大学和字节跳动联合推出的一个高效 3D 生成框架,能够在 1-2 秒内从文本提示或单视图图像生成高质量的 3D 高斯点阵,并确保多视图下的一致性。
472 19
DiffSplat:输入文本或图像,2秒内生成3D建模!北大联合字节开源3D建模生成框架
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
JoyGen:用音频生成3D说话人脸视频,快速生成逼真的唇部同步视频
JoyGen 是京东和香港大学联合推出的音频驱动的3D说话人脸视频生成框架,支持多语言、高质量视觉效果和精确的唇部与音频同步。
495 14
JoyGen:用音频生成3D说话人脸视频,快速生成逼真的唇部同步视频
|
9月前
|
人工智能 开发框架 机器人
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。
5143 38
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
|
9月前
|
人工智能 搜索推荐 Docker
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
DeepSeek R1 + LobeChat + Ollama:快速本地部署模型,创建个性化 AI 助手
5978 119
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
|
9月前
|
人工智能 算法 云计算
0元!使用魔搭免费算力,基于Qwen基座模型,复现DeepSeek-R1
近期,随着DeepSeek-R1爆火,学术界掀起一股复现DeepSeek-R1的浪潮,李飞飞等斯坦福大学和华盛顿大学的研究人员以不到50美元的云计算费用,成功训练出了一个名为s1的人工智能推理模型。
727 5
|
9月前
|
人工智能 自然语言处理 API
快速使用 DeepSeek-R1 满血版
DeepSeek是一款基于Transformer架构的先进大语言模型,以其强大的自然语言处理能力和高效的推理速度著称。近年来,DeepSeek不断迭代,从DeepSeek-V2到参数达6710亿的DeepSeek-V3,再到性能比肩GPT-4的DeepSeek-R1,每次都带来重大技术突破。其开源策略降低了AI应用门槛,推动了AI普惠化。通过阿里云百炼调用满血版API,用户可以快速部署DeepSeek,享受高效、低成本的云端服务,最快10分钟完成部署,且提供免费token,极大简化了开发流程。
191687 31
快速使用 DeepSeek-R1 满血版

热门文章

最新文章

下一篇