小模型,大用途!用于结构化输出的小型语言模型

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 小型语言模型(SLM)通常被用于端侧推理,搜索推荐query改写这类对于资源要求低,大规模并发时延要求高的场景

01.引言

小型语言模型(SLM)通常被用于端侧推理,搜索推荐query改写这类对于资源要求低,大规模并发时延要求高的场景。

Osmosis-Structure-0.6B探索了新的场景,基于Qwen3-0.6B,专门设计了一个用于生成结构化输出的小型语言模型(SLM)。尽管其参数规模仅为0.6B,在该模型在于支持框架配合使用时,在提取结构化信息方面表现出色。

该模型的训练方法为在训练的过程中利用结构化输出,迫使模型仅关注推理引擎声明的每个键的值,显著提升了模型在各种领域(尤其是数学推理和复杂问题解决中)生成良好的,结构化回复的能力。

https://live.csdn.net/v/483284

 

 

02.模型效果

研究团队评估了 osmosis 增强的结构化生成在具有挑战性的数学推理基准测试中的有效性。以下结果展示了通过 osmosis 增强的结构化输出在不同模型家族中实现的显著性能提升 Osmosis-Structure-0.6B

Math DAPO 17K 数据集

模型

结构化输出

结构化 w/ Osmosis

性能提升

Claude 4 Sonnet

15.52%

69.40%

+347%

Claude 4 Opus

15.28%

69.91%

+357%

GPT-4.1

10.53%

70.03%

+565%

OpenAI o3

91.14%

94.05%

+2.9%

表 1: 在 Math DAPO 17K 上的表现

 

AIME 1983-2024 数据集

模型

结构化输出

结构化 w/ Osmosis

性能提升

Claude 4 Sonnet

16.29%

62.59%

+284%

Claude 4 Opus

22.94%

65.06%

+184%

GPT-4.1

2.79%

39.66%

+1322%

OpenAI o3

92.05%

93.24%

+1.3%

表 2: 在 AIME 1983-2024 上的表现

 

这些评估表明,thinking模式下的模型,会提升模型的效果,而且我们使用SLM,可以保持thinking模型的输出转化为标准的结构化。

03.模型训练

Osmosis-Structure-0.6B 是基于 Qwen3-0.6B 构建的。开发团队首先使用随机生成文本及其 JSON 解释的 10 个样本来建立基线格式。然后,我们将强化学习应用于大约 500,000 个 JSON 到自然语言对的例子,这些例子包括带有最终输出的推理轨迹或带有预期结构化格式的自然语言输出。

 

开发团队使用了 verl(https://github.com/volcengine/verl) 作为训练模型的框架,并使用 SGLang(https://github.com/sgl-project/sglang) 作为 rollout 后端。为了实现结构化训练,修改了 verl 代码库的部分内容,以便将 每个样本的 schema 传递到训练数据中。

模型链接:

https://modelscope.cn/models/osmosis-ai/Osmosis-Structure-0.6B

04.使用方式

从魔搭社区下载模型:

modelscope download osmosis-ai/Osmosis-Structure-0.6B --local_dir ./Osmosis-Structure-0.6B

image.gif

推荐使用像 SGLang 这样的引擎来服务模型。要启动服务,请运行以下命令:

import json
from openai import OpenAI
api_key = "osmosis"
api_base_url = "http://0.0.0.0:30000/v1"
client = OpenAI(
    api_key=api_key,
    base_url=api_base_url,
)
# Schema for extracting structured output from reasoning traces
json_schema = json.dumps(
    {
        "type": "object",
        "properties": {
            "answer": {"type": "string"}
        },
        "required": ["answer"]
    }
)
# You can also dump pydantic models to json schema as well
# Example reasoning trace input
reasoning_trace = """
Problem: Solve for x in the equation 2x + 5 = 13
Let me work through this step by step:
First, I need to isolate the term with x. I'll subtract 5 from both sides:
2x + 5 - 5 = 13 - 5
2x = 8
Next, I'll divide both sides by 2 to solve for x:
2x ÷ 2 = 8 ÷ 2
x = 4
Let me verify this answer by substituting back into the original equation:
2(4) + 5 = 8 + 5 = 13 ✓
Ok, which means I got the correct answer, and I'm confident about my answer.
"""
response = client.chat.completions.create(
    model="osmosis-ai/Osmosis-Structure-0.6B",
    messages=[
        {
            "role": "system",
            "content": f"You are a helpful assistant that understands and translates text to JSON format according to the following schema. {json_schema}"
        },
        {
            "role": "user", 
            "content": reasoning_trace,
        },
    ],
    temperature=0,
    max_tokens=512,
    response_format={
        "type": "json_schema",
        "json_schema": {"name": "reasoning_extraction", "schema": json.loads(json_schema)},
    },
)
print(json.dumps(response.choices[0].message.content, indent=2))

image.gif

Ollama

ollama运行

ollama run modelscope.cn/osmosis-ai/Osmosis-Structure-0.6B

image.gif

注:ollama直接推理,不设置system prompt,结构化输出不稳定,也会有非常精简的输出。

或者使用ollama的推理代码

from ollama import chat
from modelscope import snapshot_download
from pydantic import BaseModel
class Answer(BaseModel):
  answer: int
reasoning_trace = """
Problem: Solve for x in the equation 2x + 5 = 13
Let me work through this step by step:
First, I need to isolate the term with x. I'll subtract 5 from both sides:
2x + 5 - 5 = 13 - 5
2x = 8
Next, I'll divide both sides by 2 to solve for x:
2x ÷ 2 = 8 ÷ 2
x = 4
Let me verify this answer by substituting back into the original equation:
2(4) + 5 = 8 + 5 = 13 ✓
Ok, which means I got the correct answer, and I'm confident about my answer.
"""
response = chat(
  messages=[
    {
        "role": "system",
        "content": f"You are a helpful assistant that understands and translates text to JSON format according to the following schema. {Answer.model_json_schema()}"
    },
    {
      'role': 'user',
      'content': reasoning_trace,
    }
  ],
  model=snapshot_download("osmosis-ai/Osmosis-Structure-0.6B"),
  format=Answer.model_json_schema(),
)
answer = Answer.model_validate_json(response.message.content)
print(answer)

image.gif

 

点击 链接,即可跳转链接~

https://modelscope.cn/models/osmosis-ai/Osmosis-Structure-0.6B

目录
相关文章
|
机器学习/深度学习 运维 前端开发
集成学习方法:Bagging与Boosting的应用与优势
集成学习方法:Bagging与Boosting的应用与优势
509 0
|
9月前
|
人工智能 自然语言处理 API
研究大模型门槛太高?不妨看看小模型SLM,知识点都在这
大型语言模型(LLM)在文本生成、问答等领域表现出色,但也面临资源受限环境应用难、领域知识不足及隐私问题等挑战。为此,小型语言模型(SLM)逐渐受到关注,其具备低延迟、成本效益高、易于定制等优点,适合资源受限环境和领域知识获取。SLM可通过预训练、微调和知识蒸馏等技术增强性能,在自然语言处理、计算机视觉等领域有广泛应用潜力。然而,SLM也存在复杂任务表现有限等问题,未来研究将进一步提升其性能与可靠性。 论文链接:https://arxiv.org/abs/2411.03350
356 5
|
2月前
|
人工智能 安全 Devops
AI 驱动的 DevOps:通过智能命令执行实现基础设施自动化
本文探讨了如何利用能够根据自然语言提示执行命令、管理基础设施和自动部署的 AI 技术,来革新 DevOps 流程。通过模型上下文协议(MCP),AI 助手不仅能回答问题,还能直接操作终端、编辑文件并管理开发环境,从而简化复杂的 DevOps 任务,提高效率并降低错误率。
313 3
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
AI Agent
本文介绍了AI Agent的概念及其在云计算3.0时代的焦点地位,强调了其与大语言模型(LLM)的紧密联系。AI Agent由控制端(Brain)、感知端(Perception)和行动端(Action)组成,能够通过LLMs实现复杂的任务分解、记忆管理及工具使用。文章探讨了单代理、多代理及人机交互的应用场景,并分析了钢铁侠中贾维斯的现实版——微软开源JARVIS项目。此外,还提及了国内外多个开源平台及Python在AI领域的核心地位,同时提出了关于智能代理发展的开放问题,如安全性、群体智能演化及代理服务化等。最后提供了丰富的参考资料以供深入研究。
1186 16
AI Agent
|
6月前
|
人工智能 数据可视化 物联网
Reasoning模型蒸馏实践:用大模型提升小模型能力
DeepSeek-R1的爆火让更多开发者注意到模型蒸馏技术——这种让小模型也能"开小灶"习得大模型知识精华的秘诀。今天我们就用Qwen2.5-1.5B小模型(相当于AI界的初中生)来进行实践!
569 5
|
8月前
|
人工智能 边缘计算 自然语言处理
DistilQwen2.5-R1:蒸馏黑科技!32B推理能力塞进3B小模型,推理速度狂飙300%
阿里巴巴最新发布的DistilQwen2.5-R1系列模型通过知识蒸馏技术,在保持高性能的同时大幅降低计算资源需求,7B模型性能甚至可媲美32B大模型。
279 11
DistilQwen2.5-R1:蒸馏黑科技!32B推理能力塞进3B小模型,推理速度狂飙300%
|
安全
SFX的妙用——如何在不安装软件的情况下打开自定义格式文件?
【8月更文挑战第31天】SFX(自解压文件)能在无需安装特定软件的情况下打开自定义格式文件。通过将所需程序与资源打包进 SFX 文件,用户可轻松解压并运行文件。此方法需确定所需程序、创建 SFX 文件并分发给用户,同时需注意合法性、兼容性和安全性问题,以确保文件正常且安全地运行。这为用户提供了便捷的解决方案。
772 7

热门文章

最新文章