数据设计:通过微调来优化SLM(小模型)的性能

2024-05-03 03:52

本文主要是介绍数据设计:通过微调来优化SLM(小模型)的性能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文地址:data-design-for-fine-tuning-to-improve-small-language-model-behaviour

2024 年 4 月 17 日

通过使用创造性的数据格式来微调数据,教授小语言模型进行自我纠正和推理。通过提示删除和部分答案屏蔽。

小语言模型通常缺乏自我意识,并且往往对其生成的响应表现出更大的信心。采用提示擦除和部分答案屏蔽 (PAM) 方法可显着提高 SLM 响应的质量

介绍

似乎在最近的过去,当谈到语言模型(LLM 和 SLM)时,焦点一直集中在数据交付部分。换句话说,如何在推理时将专有数据引入语言模型。

数据传输过程可以分为两种主要方法:梯度方法和非梯度方法。非梯度方法因其透明而不是像梯度/微调方法那样不透明而受到广泛关注。

到目前为止,最流行的非梯度数据传输方法是 RAG 及其所有变体。

我发现有趣的是,一些微调/梯度方法的主要目的并不是将企业或领域特定数据注入语言模型。而是通过微调数据的结构、特定任务来改变模型的行为并教授模型。这些任务包括推理和自我纠正等功能。

数据设计

重点从数据交付转向数据设计,其中数据格式的设计方式是为模型赋予特定的行为能力

推理

微软研究院训练 Orca-2 的主要重点是创建一个擅长推理的开源小语言模型 (SLM) 。这是通过分解问题并逐步解决它来实现的,这增加了可观察性和可解释性。

为了实现这一目标,必须创建细致入微的培训数据,向LLMs提出复杂的提示,其设计目的是引出策略推理模式,从而产生更准确的结果。

此外,在训练阶段,较小的模型会接受任务以及LLMs的后续输出。LLMs的输出数据定义了LLMs如何解决问题。

但这里有一个问题,原始提示不会显示给 SLM。这种“即时擦除”方法是一种将 Orca-2 变成谨慎推理机的技术,因为它不仅学习如何执行特定的推理步骤,还学习如何在更高层次上制定如何完成特定任务的策略。

LLMs不是天真地模仿强大的LLMs,而是被用作行为的储存库,从中为当前任务的方法做出明智的选择。

自我修正

最近的一项研究通过提出一种称为部分答案屏蔽(PAM)的方法,提出了构建自校正训练数据的管道,旨在通过微调使模型具有内在的自校正能力。

部分答案屏蔽的目标是指示语言模型进行自我纠正。

答案屏蔽

本研究通过在两项任务中使用参数大小从 60 亿到 130 亿不等的语言模型进行实验。

该研究引入了一种增强小语言模型自我纠正能力的方法,提出了内在自我纠正(ISC),这是一种依赖两种基本能力的机制:自我验证自我修改

在微调阶段,该过程引入部分答案屏蔽(PAM),为模型注入自我验证功能。

结果首次证明,即使是只有 60 亿个参数的小型语言模型,在响应生成过程中也具有固有的自我校正能力,与地面事实的依赖无关。

所提出的内在自我纠正努力将自我纠正作为一种固有模式嵌入到语言模型中。它需要一个自主且自发的自我修正过程,与现有的即时工程方法不同。

为了使小语言模型具有自纠错能力,设计了一种用于构建自纠错数据的管道并建立了可普遍应用于生成自纠错任务的数据的数据格式。

综上所述

这两项研究提出了一种方法,即创建细致入微的训练数据,为小语言模型 (SLM) 灌输特定的推理和自我纠正技能。

微调通常与向模型添加知识、增强模型的知识相关。然而,这种特定的数据设计方法侧重于微调,以增强语言模型的功能和行为,而不是添加用于检索的知识。

我很确定,一定会有更多设计训练数据以更新模型行为的创造性方法的例子。

这篇关于数据设计:通过微调来优化SLM(小模型)的性能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/955780

相关文章

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言