微调这件小事:训练集中的输入数据该作为instruction还是input?从LLaMA-Factory的源码中寻找答案吧~

在之前的博文中,我们已经了解了LLaMA-Factory框架执行各类任务的流程。今天,我们将深入探讨SFT微调过程中关于数据集的两个关键问题:

  1. 数据集中的instruction和input是如何结合起来生成大模型可以理解的输入的?instruction是不是就是system prompt呢?(之所以会问这个问题,是因为我发现有的数据集将输入作为instruction,有的作为input,而它们在效果上基本没有区别)
  2. 模板(template)是如何起作用的?它如何将文本数据转换为模型可以理解的格式?

这两个问题其实在处理流程上是一体的,由于篇幅限制,我们这里先聚焦于第一个问题。

文章目录

    • SFT微调整体流程
      • 主要流程概括
      • 数据集与微调参数准备
      • SFT入参调试
    • 数据生成源码解析
      • 数据集准备
        • 数据集加载部分
          • 读取单个文件
          • 格式转换(解开谜题的钥匙)
          • 多数据集合并
        • 数据集后处理部分
    • 结论


🎉进入大模型应用与实战专栏 | 🚀查看更多专栏内容


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73239.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nacos-actuator漏洞

1、nacos配置文件添加以下配置 vim application.properties# 添加以下配置项 management.endpoints.enabled-by-defaultfalse management.server.port-12、重启Nacos systemctl restart nacos3、验证 打开地址http://ip:port/nacos/actuator查看是否有敏感信息输出&#xff0…

extern关键字的用法

目录 总述 一、声明外部变量 二、声明外部函数 三、实现模块化编程 四、与"C" 连用,实现C和C的混合编程 五、注意事项 六、疑点补充(你可能会有和我一样的疑问?) 总述 在C和C中,extern关键字用于声明外…

Jboss漏洞再现

一、CVE-2015-7501 1、开环境 2、访问地址 / invoker/JMXInvokerServlet 出现了让下载的页面,说明有漏洞 3、下载ysoserial工具进行漏洞利用 4、在cmd运行 看到可以成功运行,接下来去base64编码我们反弹shell的命令 5、执行命令 java -jar ysoserial-…

Android平台毫秒级低延迟HTTP-FLV直播播放器技术探究与实现

一、前言 在移动互联网蓬勃发展的今天,视频播放功能已成为众多Android应用的核心特性之一。面对多样化的视频格式和传输协议,开发一款高效、稳定的视频播放器是许多开发者追求的目标。FLV(Flash Video)格式,尽管随着H…

BUAA XCPC 2025 Spring Training 2

C \color{green}{\texttt{C}} C [Problem Discription] \color{blue}{\texttt{[Problem Discription]}} [Problem Discription] 给定一棵以 1 1 1 为根的树,记 a i a_{i} ai​ 表示节点 i i i 的权值, lca( i , j ) \text{lca(}i,j) lca(i,j) 表示节…

MySQL 中,分库分表机制和分表分库策略

在 MySQL 中,分库分表是一种常见的数据库水平扩展方案,用于解决单库单表数据量过大导致的性能瓶颈问题。通过将数据分散到多个数据库或表中,可以提高系统的并发处理能力、降低单点故障风险,并提升查询性能。 一、分库分表的作用 提升性能: 分散数据存储和查询压力,避免单…

组件日志——etcd

目录 一、简介 二、安装【Ubuntu】 安装etcd 安装CAPI 三、写一个示例 3.0写一个示例代码 3.1获取一个etcd服务 3.2获取租约(写端操作) 3.3使用租约(写端操作) 3.4销毁租约(写端操作) 3.5获取etcd服务中的服务列表(读端操作) 3.6监听状态变化(读端操作) 一、简介 Et…

python网络爬虫开发实战之网页数据的解析提取

目录 1 XPath的使用 1.1 XPath概览 1.2 XPath常用规则 1.3 准备工作 1.4 实例引入 1.5 所有节点 1.6 节点 1.7 父节点 1.8 属性匹配 1.9 文本获取 1.10 属性获取 1.11 属性多值匹配 1.12 多属性匹配 1.13 按序选择 1.14 节点轴选择 2 Beautiful Soup 2.1 简介…

理解操作系统(一)冯诺依曼结构和什么是操作系统

认识冯诺依曼系统 操作系统概念与定位 深⼊理解进程概念,了解PCB 学习进程状态,学会创建进程,掌握僵⼫进程和孤⼉进程,及其形成原因和危害 1. 冯诺依曼体系结构 我们常⻅的计算机,如笔记本。我们不常⻅的计算机&am…

Tomcat常见漏洞攻略

一、CVE-2017-12615 漏洞原理:当在Tomcat的conf(配置⽬录下)/web.xml配置⽂件中添加readonly设置为false时,将导致该漏洞产 生,(需要允许put请求) , 攻击者可以利⽤PUT方法通过精心构造的数据包…

快速求出质数

要快速判断一个数是否为质数,可以采用以下优化后的试除法,结合数学规律大幅减少计算量: 步骤说明 处理特殊情况: 若 ( n \leq 1 ),不是质数。若 ( n 2 ) 或 ( n 3 ),是质数。若 ( n ) 能被 2 或 3 整除&…

Linux上位机开发实战(camera视频读取)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 关于linux camera,一般都是认为是mipi camera,或者是usb camera。当然不管是哪一种,底层的逻辑都是v4l2&#x…

高性能缓存:使用 Redis 和本地内存缓存实战示例

在现代高并发系统中,缓存技术是提升性能和降低数据库压力的关键手段。无论是分布式系统中的Redis缓存,还是本地高效的本地内存缓存,合理使用都能让你的应用如虎添翼。今天,我们将基于go-dev-frame/sponge/pkg/cache库的代码示例&a…

Python实现deepseek接口的调用

简介:DeepSeek 是一个强大的大语言模型,提供 API 接口供开发者调用。在 Python 中,可以使用 requests 或 httpx 库向 DeepSeek API 发送请求,实现文本生成、代码补全,知识问答等功能。本文将介绍如何在 Python 中调用 …

山东大学数据结构课程设计

题目:全国交通咨询模拟系统 问题描述 处于不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能地短,出门旅游的旅客则期望旅费尽可能省,而老年旅客则要求中转次数最少。编织一个全国城市间的交…

深入理解倒排索引原理:从 BitSet 到实际应用

倒排索引是一种极为重要的数据结构,它能够高效地支持大规模数据的快速查询,本文将深入探讨倒排索引的原理,借助 BitSet 这种数据结构来理解其实现机制,并通过具体的JSF请求条件示例来展示其在实际应用中的运算过程。 BitSet&#…

Unity网络开发快速回顾

知识点来源:总结人间自有韬哥在, 唐老狮,豆包 目录 1.网络通信-通信必备知识-IP地址和端口类2.网络通信中序列化和反序列化2进制数据3.Socket类4.TCP同步服务端和客户端基础实现4.1.服务端基本实现4.2.客户端实现: 5.区分消息类型…

内网渗透技术 Docker逃逸技术(提权)研究 CSMSF

目录 如何通过上传的webshell判断当前环境是否是物理环境还是Docker环境 方法一:检查文件系统 方法二:查看进程 方法三:检查网络配置 方法四:检查环境变量 方法五:检查挂载点 总结 2. 如果是Docker环境&#x…

动态规划:从暴力递归到多维优化的算法进化论(C++实现)

动态规划:从暴力递归到多维优化的算法进化论 一、动态规划的本质突破 动态规划(Dynamic Programming)不是简单的递归优化,而是计算思维范式的革命性转变。其核心价值在于通过状态定义和决策过程形式化,将指数复杂度问…

数据结构与算法-数据结构-树状数组

概念 树状数组,也叫二叉索引树(Binary Indexed Tree,BIT),它是用数组来模拟树形结构。树状数组的每个节点存储的是数组中某一段的和(或其他可合并的信息),通过巧妙的索引方式和树形…