超全推理语言模型蓝图来了!揭开o1、o3、DeepSeek-V3神秘面纱

2025-01-28 发布 · 浏览37次 · 点赞0次 · 收藏0次

ETH Zurich等机构提出了推理语言模型(RLM)蓝图,超越LLM局限,更接近AGI,有望人人可用o3这类强推理模型。

推理语言模型(Reasoning Language Models,RLM)是AI领域的革命性突破,它们的出现可以与ChatGPT的出现相提并论。

RLM已成为迈向通用人工智能(AGI)的新的里程碑。

然而,最先进的RLM因其高昂的成本和专有特性,引发了关于可访问性和公平性的重大担忧。

无法负担这些先进系统的企业和个人面临日益严重的劣势,可能抑制创新并加剧系统性不平等。

针对这一问题,近日联邦理工联合其他机构的研究人员,在arxiv发表了论文,基于对RLM研究工作的调查和分析,提出了全面的蓝图,将RLM组件组织为模块化框架,包含了不同的推理结构、推理策略和监督方案。


论文链接:https://arxiv.org/pdf/2501.11223

主要内容如下:

  1. 推理语言模型(RLM)与LLM的联系与区别:LLM像内插,RLM可以外推;LLM是「系统1思维」,RLM是「系统2思维」。

  2. 整个RLM架构由三大主要流程组成:推理、训练和数据生成。

  3. 推理语言模型可以分为显示推理和隐式推理,而且显示推理经过训练可以转化为隐式推理。

  4. 蓝图提供了一套工具箱组件,用于构建不同的RLM。

  5. 不同的操作符可操作推理结构的各组件,以推进推理过程。

  6. RLM模型常见的训练范式包括监督微调、拒绝采样以及强化学习方法。

  7. 基于过程的评估,已被证明比其他方法更为可靠。

  8. 监督微调和强化学习,分开进行,在多种情况下中行之有效。

  9. 在熟悉的数据分布上进行训练,能够显著影响模型的初步表现和后续的改进。

  10. 单纯依赖提示,通常会导致大模型不稳定。

  11. 蓝图提出了模块化框架,对现有的推理语言模型进行了分类。

  12. 设计了新架构验证蓝图,并为不同推理,提出了不同测试基准。

什么是推理语言模型(RLM)

推理语言模型(Reasoning Language Models,RLM)的演变与基础为理解其发展路径提供了关键视角。

RLM的发展,融合了三个重要的关键方向:

(1)LLM,直接将世界知识编码于其权重中,如GPT-4;

(2)强化学习(RL),通过试错来学习最佳策略,在环境中进行决策和探索,如AlphaZero;

(3)高性能计算(HPC),利用GPU、TPU和AI加速器的并行处理,如异构计算。

这三者共同塑造了能够实现高效「系统2思维」的模型——结合明确推理与创新问题解决能力的推理水平,区别于「系统1思维」的直觉性、快速且自动化的启发式方法。

图1概述了这些模型发展的历史过程。


图1:LLM、强化学习、高性能计算和RLM的演化历史

标准的大语言模型(LLM),依靠自回归的token预测机制,主要在搜索空间中执行插值。

它们擅长生成符合训练数据模式的响应,有效地综合已知上下文中的知识。

然而,这将它们的输出限制在训练分布的边界内。

相比之下,推理语言模型(RLM)则突破了这些边界,结合结构化探索,在解决方案空间中探索未知领域,生成超越训练数据限制的新见解和新方案。

这种能力实现了从简单模式补全到主动问题解决的转变。

图2对这些支柱中的示例设计进行了比较,而下图进一步讨论了这些支柱的细节。


图2:推理语言模型的三大支柱语言模型的等级

RLM的发展可被视为一个层次化的演进过程,早期模型(如GPT-4o)的推理能力相对较弱,而o1类架构则展现出更复杂、更明确的推理能力。

这一层次结构反映了系统1(LLM)与系统2(RLM)思维的结合。

RLM根据推理实现方式,进一步分为隐式RLM和显式RLM;具体分类可参见下图。


隐式推理模型:推理结构完全嵌入于模型权重中,推理是隐式的,无法明确解读或操控。

尽管相比标准LLM,这些模型展现出更强的推理能力,但其推理过程是不可见的,依赖于训练时学习的内部化模式。

显式推理模型:在核心权重之外加入了显式推理机制。

例如,LLaMA-Berry、Marco-o1以及可能存在的OpenAI的o3模型,结合蒙特卡洛树搜索(MCTS)与强化学习(RL)进行决策。

通过将推理与权重中编码的静态知识分离,这些模型在推理过程中具有更大的灵活性和解释性。需要注意的是,这种显式推理可以通过训练被内化,最终转变为隐式推理。

推理的本质

现在描述RLM的通用架构,其总结见图4。


图4:RLM的通用架构

从总体上看(见下图),整个RLM架构由三大流程组成:推理、训练和数据生成


推理流程用于响应用户请求,采用训练流程提供的模型(例如价值或策略模型)。

数据生成流程在内部设计上与推理流程类似;主要区别在于它独立于用户请求运行,生成的数据随后用于重新训练模型。

结合来自不同领域的数据生成和训练 ,可以提供自学习能力,与AlphaZero的自对弈设置类似。

推理

推理过程从用户输入提示开始,该提示描述了模型需要解决的问题或回答的内容。

输入提示构成推理过程的根节点,并启动推理结构的构建,该结构以树状形式组织模型的推理进展。

根节点表示用户的输入,后续节点用于探索搜索空间——即可能的推理路径或解决方案域。

推理结构旨在系统地研究解决方案,逐步优化推理路径,直至得出最佳或令人满意的答案。

推理结构中的每个节点代表一个推理步骤,作为推进解决方案的基本单元。

推理步骤可以通过探索问题新分支或在现有进展基础上推进解决方案。

推理结构的演变由蒙特卡洛树搜索(MCTS)控制,并辅以策略和价值模型。

策略模型生成新的推理步骤,预测下一步最有可能且合理的扩展;价值模型则评估推理路径的质量,帮助优先选择高潜力的步骤。

此外,奖励模型也可能被用来评估特定节点及其推理步骤的质量。

迭代搜索过程持续到达终端步骤,即推理链的最终完成,这代表了问题的答案。

训练

模型的训练方式取决于训练目标。

通常,需要微调某些模型(如Llama)。

在此过程中,首先利用监督数据,这些数据通常来源于现有数据集,例如PRM800K。

这些数据成为框架中监督训练数据的一部分,并在监督训练管道中,用于训练蓝图中涉及的部分或全部模型。

无监督(或自学习)训练管道,是RLM(强化学习模型)的整体训练框架的第二部分,其中数据会被不断生成并用于改进模型。

这些数据可以通过推理过程获取,在此过程中需要控制质量;也可以模拟推理,利用专门的管道生成合成数据。

为了收集数据,需要针对给定的输入任务,执行相应的RLM管道并收集结果。

所有这些数据最终会成为重放缓冲区(replay buffer)的一部分,并用于无监督训练方案。

或者,它们也可以用于训练一个模型,而该模型可能成为隐式RLM(Implicit RLM)。

集成LLM智能体

推理语言模型(Reasoning Language Models, RLM)可以集成到LLM智能体生态系统中,在执行过程中,可以用这些模型与外部工具、数据库和资源进行动态交互。

这种交互,可以发生在推理阶段或数据生成管道中,通过访问检索增强生成(RAG)、网络查询以及专用工具,利用价值模型或策略模型扩展推理过程。

例如,在推理任务中,价值模型或奖励模型可以查询数据库以验证中间步骤,从而确保事实的准确性,或检索额外的上下文信息以优化其推理过程。

同样,这些模型还可以借助计算工具进行数学或符号计算,从而扩展其推理的范围和准确性。

推理语言模型蓝图

现在开始介绍RLM的蓝图,该蓝图可以用于开发新型推理模型,并为此类设计的分析、评估和比较提供基础。

图5概述了这一蓝图。


图5:推理语言模型蓝图

蓝图提供了一套工具箱组件,用于构建任意RLM。核心组件包括:

  • 推理方案:指定推理结构(例如树)及推理策略(例如MCTS),决定如何演变结构以解决输入任务。

  • 操作符:用于作用于推理结构以推进其演变的工具(如Refine)。

  • 模型与训练范式:支撑操作符实现的神经模型(如策略模型)及其训练框架。

  • 流程:定义操作的细 节规范,用于协调推理方案与操作符的交互以实现特定目标(如训练、推理或数据生成)。

通过这些组件的组合,RLM的定义得以实现。

推理方案

推理方案描述了解决方案中的推理步骤、它们之间的连接方式以及推理结构如何在任务解决过程中演变。

推理步骤是推理结构的基本单元,可以是一个token或一整段文本,灵活适应不同问题领域。其定义决定了推理的粒度大小,能够在精细与粗略之间灵活调整。

推理结构定义推理步骤如何组织,包括链(线性序列)、树(层次分支)和图(任意连接)。

推理策略规定如何扩展推理结构,包括MCTS、束搜索(beam search)及集成方法等,确保推理过程的高效性和精确性。

操作符

操作符定义了可应用于推理结构各部分的操作,以推进推理过程。

  • 结构操作符通过对推理结构进行修改。这些操作符可以帮助探索新的推理路径或改进现有路径,包括生成(Generate)、优化(Refine)、聚合(Aggregate)、修剪(Prune)重组(Restructure)。

  • 遍历操作符定义了推理过程,如何在现有推理结构中导航,决定了应当追求哪些路径。包括选择操作符(Select)回溯操作符(Backtrack)。

  • 更新操作符能够在保持推理结构本身不变的前提下,对其特定部分进行增强,比如蒙特卡洛树搜索(MCTS)的反向传播阶段。

  • 评估操作符接受推理结构的一个部分作为输入,输出一个值,而不修改结构本身。

模型用于实现各种类型的操作符。

最常见的是值模型(实现值评估操作符)和策略模型(实现生成操作符)。

训练

每个模型都必须根据特定的训练范式进行训练,该范式概述了优化模型性能的方法。

范式定义了训练的关键组件,包括损失函数、数据生成和标注程序,以及其他重要的训练细节。

RLM模型有多种训练方案,支持LLM推理任务的需求。常见的训练范式包括:

  • 监督微调(SFT),其中模型在带有Q值的推理序列上进行训练;

  • 拒绝采样,根据质量标准过滤生成的输出;

  • 以及强化学习方法,如近端策略优化(PPO),直接偏好优化(DPO),以及推理特定的变体,如推理策略优化(RPO)。

另外一些训练范式包括自我学习,其中模型通过生成和评估自身的推理序列进行迭代改进,从而模拟竞争或合作的推理场景。

在捕获推理结构的程度上,RLM的训练数据可能存在显著差异。

常见的方法主要有:基于输出的监督(OBS)和基于过程的监督(PBS)。

PBS通常提供更好的性能,但也伴随着数据复杂性的增加。

基于追踪的监督(TBS)是扩展PBS的一种方式,它通过将详细的操作符应用序列(包括遍历操作符)整合进推理结构,捕捉推理步骤生成、精炼或回溯的全过程。

这种方法能够指导模型学习更强大的隐式RLM,模仿显式结构的推理动态,从而提升其灵活且高效的推理能力。

流水线

流水线是操作的详细规范,负责协调推理方案、操作符和模型之间的交互,以实现特定目标。

通常,RLM在推理中使用单一流水线,而用于RLM的模型训练则哟单独的流水线。

此外,还可能有用于生成合成数据的流水线,这些数据用于模型训练。

还可以区分训练隐式RLM和显式RLM的流水线。

流水线的具体细节依赖于设计选择。

特别地,推理流程具体见算法1。


统一现有方案

现在展示蓝图的表达能力,说明它如何对现有RLM及其他相关工作建模。

在表1中总结了分析结果。


表1:在蓝图下的RLM的比较

显式RLM

最广泛的RLM,如TS-LLM、AlphaLLM、MCTSDPO等,通常采用显式树形结构,其中一个节点表示一个独立的推理步骤。

推理策略基于MCTS,并专注于对树中的节点进行迭代探索、扩展和评估。

通过整合价值机制——如基于提示的评估或专用价值模型,系统可以识别并优先考虑有前景的分支,从而促进更有信息的决策和推理过程的改进。

所有基于MCTS的推理模型,至少实现了下一个步骤生成操作符评估操作符和用于反向传播值的更新操作符

此外,ReST-MCTS*、LLaMA-Berry和Marco-o1支持进一步改进推理步骤的优化操作符

隐式RLM

QwQ体现了完全隐式的推理模型,其特点是通过模型权重自回归地直接生成隐式推理结构。

QwQ中的推理策略——如模型输出所示——利用了下一个步骤生成、回溯、总结和批评生成来推导出最终的解决方案。

在每一步中,模型使用隐式生成操作符,来隐式地生成链中的新节点,推测这些操作符是通过特殊的token实现的。


图源:https://qwenlm.github.io/blog/qwq-32b-preview/

结构化提示方案

最后,先进的结构化提示方案,如CoT、ToT和GoT,构成了一个完全显式的RLM结构,没有任何隐式推理,除了原本在所使用的LLM中呈现的部分,即没有模型、训练或数据生成流水线。

CoT(Chain-of-Thought,思维链)中采用的推理策略,围绕构建单一连贯的推理链展开,最终只要一个解决方案,因此仅需使用生成操作符(Generate operator)。

CoT是一系列高级推理策略的基础框架,包括提示方法如自一致性(Self-Consistency)和自精炼(Self-Refinement)等。

ToT使用分层的树状显式推理结构,其中每个节点对应一个独立的推理步骤,而分支则帮助探索多个推理路径(即生成操作符,Generate operator)。

此外,专门的提示词和大语言模型(LLM)实现的评估操作符还对树的分支进行评估。

GoT采用了一种更复杂的推理结构,通过显式的基于图的表示实现。

在该框架中,节点代表单独的推理步骤,而图的架构,支持这些步骤之间的非线性和相互依赖关系。GoT中的推理策略,由一个外部控制器协调,该控制器由一个单独的大语言模型实现,负责指导图中节点的探索、精炼和聚合。

如何使用蓝图

第1部分:定义推理方案

使用蓝图的第一步是定义推理方案,推理方案指定了RLM的基础结构和策略。

首先选择推理结构。

链式结构在token成本上是最经济的。

树形结构尽管成本较高,但提供了丰富的分支,有助于增强探索性推理。

图形结构比树形结构稍便宜,但在实现上带来了额外的挑战,但由于其灵活性,能带来显著的准确性提升。

接下来,决定推理步骤的粒度

粗粒度的步骤,如思想或句子,由于其简单性和易于扩展,广泛使用。

然而,基于token的粒度,即在单个token级别操作,具有更高的精度潜力和未开发的准确性改进空间。

这种方法虽然前景广阔,但需要显著更多的计算资源和精心设计。

这一决策定义了动作空间(可能的操作)和状态空间(推理结构的配置)。

另一个决策是选择推理策略来决定推理结构如何演变。

结合一些策略和价值模型的MCTS仍然是最广泛采用的方法,因为它平衡了探索与利用。

最后,确定所选策略的具体细节,包括探索系数、解码策略、评分函数和步骤评估方法等参数。这些选择将对模型的推理动态、可扩展性和整体效果产生重大影响。

第2部分:定义操作符

下一步是指定一组操作符,用以控制推理过程。

对于基于MCTS的设计,最简单的方法是实现核心操作符:生成(通常称为扩展操作,Expand)、选择和反向传播。

这些基本操作足以应对许多场景,提供一个简洁的推理框架。

除了基本操作,还可以考虑是否要引入一些较为冷门的操作符,如回溯(Backtrack)。

通过明确地引入回溯操作,可以更清晰地跟踪搜索树中的进展,使得回顾和改进早期推理步骤变得更加容易。

这种方法还促进了高级训练方案,如基于轨迹的监督(Trace-based Supervision),通过生成更丰富和更结构化的数据。

还需要确定每个操作符的实现细节。

决定哪些操作符将作为神经网络模型实现,哪些则依赖于非神经方法。

这一选择将影响计算复杂性和系统的灵活性,因此将决策与推理方案和性能目标对齐是非常重要的。

第3部分:确定训练细节

在此阶段,需要概述操作符所进行的训练细节

对于基于MCTS的设计,考虑使用策略模型来实现生成(扩展)操作,使用价值模型进行模拟。

如果需要,还可以训练一个独立的模型来计算每个节点的奖励,从而提高奖励信号的精度。

确定应用领域或训练领域,以满足泛化需求。

定义模型,包括其架构和选择合适的基础模型。

考虑这些模型的设计——例如基于Transformer的架构或更专门化的设计——如何与推理结构和整体目标对齐。

为策略模型和价值模型收集训练数据。

对于策略模型,可以考虑使用流水线自动生成数据或使用CoT提示词等方案,并包括一个特殊的结束标记token,以确保清晰的分割。

对于价值模型,通过MCTS完整模拟生成数据,这将提供有关推理路径和结果的丰富、结构化信息。

根据需要对模型进行微调。

使用初始化的模型运行MCTS收集更多数据。您可以过滤这些数据,仅保留高质量的推理路径(终态)或强信号(高绝对优势)以进行进一步训练。

最后,通过额外的SFT轮次或使用强化学习方法,如近端策略优化(PPO),训练两个模型。这确保了模型不仅在准确性上得到优化,还具备在复杂推理任务中所需的效率和鲁棒性。

Framework X1:设计与实现

使用蓝图,构造了可扩展且简约的Framework x1,作为设计和实验RLM的基础。

框架的概述如图6所示。


图6:x1框架概述,重点介绍其两阶段的训练过程

x1框架采用树形推理结构,并结合MCTS作为推理策略。操作符

通过向选定节点添加新子节点,生成操作符在扩展树时起着至关重要的作用。

推理树的遍历由选择操作符管理,该操作符使用PUCT函数来确定下一个扩展的节点。

从根节点开始,遍历机制确保系统可以动态探索替代路径,并通过回溯和选择新分支来从次优决策中恢复。

反向传播更新操作符精炼Q值,可用作选择操作符的指导,从扩展节点沿路径返回到根节点。

框架实现了两种不同的评估操作符。

首先,推理路径评估操作符预测从根节点到特定节点的链的折扣预期未来奖励。这个预测来源于Q值模型,提供了路径质量的定量衡量。

其次,当有地面真值可用时,基于地面真值的奖励操作符直接评估叶节点的正确性,为验证的解决方案分配固定奖励。这些奖励被纳入上游节点的Q值中,确保推理过程同时受到模型预测和客观验证的影响。

模型与训练范式

x1中的价值模型和策略模型是LLM的微调版本,不依赖于提示词,这是许多RLM架构中常见的设计。

这一设计决策旨在最大化结果质量。

策略模型同样利用LLM在MCTS中生成新节点。

它被微调为输出单一的推理步骤,而不是整个推理链(这是LLM通常完成的任务)。

通过引入新的token,即中间步骤结束(eois)token,来实现这一目标,表示每个推理步骤的完成。

结合eois token,框架使得能够明确识别中间推理步骤,从而提高可解释性,并准确判断推理过程是已完成还是正在进行。

双token策略增强了LLM将复杂问题分解为可管理的子步骤的能力,同时确保模型识别何时达到了解决方案。

价值模型的设计目的是估计一系列推理步骤和新提出的推理步骤的预期折扣未来奖励的总和,量化节点中表示该步骤的价值。

对于MCTS树中的给定节点,它的价值(在MCTS文献中称为状态动作值或Q值)被定义为通过所需步骤数折扣的期望累积奖励。

形式地,Q值是奖励的期望:


其中γ是折扣因子,T表示最后一步推理。

选择将奖励建模为稀疏的,只有最后一步推理收到非零奖励,因为对于大多数推理任务,只有最终答案能够与真实解决方案进行比较。

因此,只有在最后一步到达时才能获得奖励信号。

可以通过采样N条推理链直到终端状态,如公式(2)所示,并平均通过深度折扣的终端奖励来近似Q值。

Q值模型使用来自完成MCTS搜索的数据进行训练。

最初,当Q值模型不可用时,会执行N次模拟(完整回放),并使用平均折扣奖励来初始化每个节点的Q值。

可扩展性和效率

为了进一步提高可扩展性和计算效率,改进了架构和操作。

其中一项决策是将价值模型和策略模型解耦。

部署专用的价值和策略服务器带来了可扩展性、批处理、资源优化以及复制与分布等优势。

在框架中,整合了批处理、量化和KV缓存等标准优化方法。

推理调用在策略模型中被批量处理,能够同时处理多个查询。

为了加速推理过程,框架在节点扩展阶段并行创建多个子节点。

Token分析

新框架使得可以对生成和选择细粒度基于token的推理步骤的策略进行详细分析。

作者考虑了方差、熵、方差熵和基尼系数作为分析token概率分布的度量指标。

词汇表中概率分布的方差可以作为不确定性的度量。低方差意味着值较为相似,表示平坦的分布。然而,方差并不能很好地捕捉分布的形式。

传统上,熵用于度量概率分布中的不确定性。高熵意味着需要大量信息来量化系统。如果所有位置的概率大致相同,则表示平坦的分布。高峰值分布则具有较低的熵。熵的定义为:

其中pi是第i个token的概率。

方差熵通常仅应用于信息论,并定义为熵的方差,衡量其变化。高方差熵和低熵意味着系统有少数几个非常可能的结果,而低方差熵和高熵则表示分布较为平坦。方差熵的定义为:

基尼系数是一个传统的度量系统不平等程度的方法。完美平等的分布,即平坦分布,基尼系数为0。高不平等则特征为接近1的值。

示例结果分析

图7和图8展示了示例模型输出及其各自的token概率分布。

通过分析概率最高的token、次高概率的token以及其余概率的总和,能够深入了解底层的token分布,并通过不确定性指标对其进行量化。


图7:突出显示的Token示例模型输出

输出按以下方式进行着色:当最高概率低于0.8时为紫色(不确定但没有争议),当第二高的概率高于0.1时为蓝色(非常确定,但可能有另一个),当两者都为真时为红色(不确定)。通过检查最高概率、第二高概率和其余概率的总和,可以对潜在的分布形式有一个初步的印象,之后可以通过度量来量化这些分布。有些区域,最高的两项概率非常接近,而其他所有值明显较小。

图8中展示了的token概率,基于图7中的模型输出。


图8:示例模型输出的前64个token的概率分布

RLM的示例见解

基于过程的评估

通过全面评估推理结构,基于过程的评估,已被证明比结果导向奖励模型(ORM)等替代方法更为可靠。

通过检查推理步骤及其在结构中的关系,基于过程的评估提供了更丰富的信号,帮助模型优化其推理路径,并提高整体准确性。

这种方法确保每个中间步骤对最终结果作出积极贡献,从而实现更强大的推理能力,并提高跨任务的泛化能力。

两阶段训练

采用两阶段的训练策略——分开进行SFT(监督微调)和RL(强化学习)——在多个情境中证明是有效的。

这种分阶段的方法使得模型可以首先在第一阶段学习坚实的推理模式基础,然后在第二阶段通过更复杂、适应性更强的条件进行微调。

例如,关于通过隐式奖励进行过程强化的研究表明,经过专门的SFT阶段训练的模型能够在标准基准测试中保持较好的表现,同时在RL阶段提升推理能力。这样的分离也有助于减轻不稳定性,确保每个阶段针对特定的学习目标,从而导致更强大的RLM。

在熟悉的分布上训练

在熟悉的数据分布上进行训练,能够显著影响模型的初步表现和后续的改进。

例如,PRIME显示,在精心策划的Token序列上进行训练(例如eoisToken方法)能够避免性能退化。

类似地,在像rStar-Math这样的任务中,在明确、熟悉的分布上训练的模型通常会更快稳定并产生更高质量的推理输出。

通过专注于熟悉的分布,研究人员可以确保模型有效地内化基本的推理模式,然后再转向更复杂或具有挑战性的任务。

小心带提示的LLM

单纯依赖提示,促使大语言模型批判和评估其自身输出,通常会导致不稳定性。

研究表明,模型在提示其自行修正推理时,往往难以可靠地进行自我纠错。

研究结果突显了结构化训练方法和精心设计的操作员在实现RLM自我改进能力时的重要性。

相关基准测试

现在概述与RLM(推理语言模型)相关的基准测试。针对不同类型的推理,包括数学推理、逻辑推理、因果推理和常识推理,列出每个类别的代表性基准测试。


参考资料:

https://arxiv.org/pdf/2501.11223

超全推理语言模型蓝图来了!揭开o1、o3、DeepSeek-V3神秘面纱 - AI 资讯 - 资讯 - AI 中文社区

声明:本文转载自新智元,转载目的在于传递更多信息,并不代表本社区赞同其观点和对其真实性负责,本文只提供参考并不构成任何建议,若有版权等问题,点击这里。本站拥有对此声明的最终解释权。如涉及作品内容、版权和其它问题,请联系我们删除,我方收到通知后第一时间删除内容。

点赞(0) 收藏(0)
0条评论
珍惜第一个评论,它能得到比较好的回应。
评论

游客
登录后再评论
  • 鸟过留鸣,人过留评。
  • 和谐社区,和谐点评。