An Empirical Study of Instruction-tuning Large Language Models in Chinese
本文是LLM系列文章,针对《An Empirical Study of Instruction-tuning Large Language Models in Chinese》的翻译。
汉语大语言模型指令调整的实证研究
- 摘要
- 1 引言
- 2 指令调整三元组
- 3 其他重要因素
- 4 迈向更好的中文LLM
- 5 结论
- 局限性
摘要
ChatGPT的成功验证了大型语言模型(LLM)在通用人工智能(AGI)中的潜力。随后,LLM的发布引发了开源社区对指令调优的兴趣,这被认为加速了ChatGPT的复制过程。然而,对世界上最常用的语言——汉语的指令调整LLM的研究仍处于早期阶段。因此,本文对汉语指令调整LLM进行了深入的实证研究,可以作为一本食谱,为有效定制能够更好地响应汉语指令的LLM提供有价值的发现。具体来说,我们系统地探讨了LLM基础、参数有效方法和指令数据类型的影响,这是指令调优的三个最重要的元素。此外,我们还进行了实验来研究其他因素的影响,如思维链数据和人类价值取向。我们希望这一实证研究能够为ChatGPT的中文公开版做出微薄的贡献。本文将发布一个强大的中国LLM,可与ChatGLM相媲美。代码和数据可在https://github.com/PhoebusSi/Alpaca-CoT上找到。
1 引言
2 指令调整三元组
3 其他重要因素
4 迈向更好的中文LLM
5 结论
本文首次对汉语开放式大语言模型的指令调整进行了深入的实证研究,详细讨论了一系列大语言模型、参数有效方法和汉语指令数据集。此外,我们还探讨了其他几个重要因素,包括CoT、词汇、提示语言和人类价值取向。在实证探索的基础上,我们公开发布了一个LLM,它是ChatGLM的竞争对手,并提供了详细的实现细节。
局限性
大多数实验结果都是基于参数有效的方法,这可能与全参数微调的结果不同。然而,我们相信本文的发现和结论仍然适用于全参数微调。此外,基于参数高效方法的指令调优具有更广泛的应用和研究场景。
相关文章:
An Empirical Study of Instruction-tuning Large Language Models in Chinese
本文是LLM系列文章,针对《An Empirical Study of Instruction-tuning Large Language Models in Chinese》的翻译。 汉语大语言模型指令调整的实证研究 摘要1 引言2 指令调整三元组3 其他重要因素4 迈向更好的中文LLM5 结论局限性 摘要 ChatGPT的成功验证了大型语…...
[MICROSAR Adaptive] --- 开发环境准备
Ubuntu 20.04/22.04版本默认的cmake版本不超过3.19,gcc/g++为9.x版本 而ap开发要求cmake版本大于3.19,gcc/g++版本为gcc-7 1 安装高版本cmake cmake源码下载路径 https://cmake.org/files/tar zxvf cmake-3.19.2.tar.gz cd cmake-3.19.2 ./bootstrap --prefix=/usr/local …...
Yolov5 batch 推理
前言 想要就有了 代码 import shutil import time import traceback import torchimport os import cv2 class PeopleDetect(object):def __init__(self, repo_or_dir, weight_path, confidence) -> None:self.model torch.hub.load(repo_or_dir, "custom", p…...
【ARFoundation学习笔记】ARFoundation基础(下)
写在前面的话 本系列笔记旨在记录作者在学习Unity中的AR开发过程中需要记录的问题和知识点。难免出现纰漏,更多详细内容请阅读原文。 文章目录 TrackablesTrackableManager可跟踪对象事件管理可跟踪对象 Session管理 Trackables 在AR Foundation中,平面…...
《UML和模式应用(原书第3版)》2024新修订译本部分截图
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 机械工业出版社即将在2024春节前后推出《UML和模式应用(原书第3版)》的典藏版。 受出版社委托,UMLChina审校了原中译本并做了一些修订。同比来说&a…...
JSP 学生成绩查询管理系统eclipse开发sql数据库serlvet框架bs模式java编程MVC结构
一、源码特点 JSP 学生成绩查询管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,比较流行的servlet框架系统具有完整的源代码和数据库,eclipse开发系统主要采用B/S模式 开发。 java 学生成绩查询管理系统 代码下载链接…...
技术分享 | app自动化测试(Android)-- 属性获取与断言
断言是 UI 自动化测试的三要素之一,是 UI 自动化不可或缺的部分。在使用定位器定位到元素后,通过脚本进行业务操作的交互,想要验证交互过程中的正确性就需要用到断言。 常规的UI自动化断言 分析正确的输出结果,常规的断言一般包…...
flutter实现上拉到底部加载更多数据
实现上拉加载数据,效果如下: flutter滚动列表加载数据 使用的库主要是infinite_scroll_pagination , 安装请查看官网 接口用的是https://reqres.in/提供的接口 请求接口用到的库是dio 下面主要是介绍如何使用infinite_scroll_pagination实现上拉加载…...
UE4 Niagara Module Script 初次使用笔记
这里可以创建一个Niagara模块脚本 创建出来长这样 点击号,输出staticmesh,点击它 这样就可以拿到对应的一些模型信息 这里的RandomnTriCoord是模型的坐标信息 根据坐标信息拿到位置信息 最后的Position也是通过Map Set的号,选择Particles的P…...
【Spring Boot 源码学习】JedisConnectionConfiguration 详解
Spring Boot 源码学习系列 JedisConnectionConfiguration 详解 引言往期内容主要内容1. RedisConnectionFactory1.1 单机连接1.2 集群连接1.3 哨兵连接 2. JedisConnectionConfiguration2.1 RedisConnectionConfiguration2.2 导入自动配置2.3 相关注解介绍2.4 redisConnectionF…...
联想服务器-HTTP boot安装Linux系统
HTTP boot与传统PXE的主要差异 HTTP不再需要使用UDP协议的tftp服务(连接不可靠、不支持大文件)了,只需要dhcp 和http 两个服务即可,支持较稳定的大文件传输。 实验环境 ThinkSystem服务器SR650V2 SR660V2 通过HTTP boot安装Cen…...
容器滚动更新过程中流量无损
应用在发布或重启的期间会出现少量的 5xx 异常,应该如何解决? 我们发现导致流量有损的原因有很多,比如: 上线时,应用在就绪前收到流量,导致请求无法被处理; 下线时,应用没有做优雅…...
深入理解JS中的this
1、浅谈this 1.1、调用位置 在学习this的绑定过程之前,首先要理解调用位置,即函数在代码中被调用的位置,因此我们需要分析调用栈,看以下代码 function baz(){// 当前调用栈是baz// 因此调用位置就是全局作用域console。log(&qu…...
rust 基础数据类型
默认类型 大部分情况下,rust 可以基于上下文自动推导出变量的类型。下面代码中,变量 x 没有显式,rust 默认是 i32 类型。 fn main() {let x 5; }但也有一些例外情况,比如,字符串类型的转换中变量 x 的类型ÿ…...
ELK极简上手
目录 引言 首先,下载相关的包 其次,安装启动elasticsearch 下一步,安装并启动logstash 最后,安装并启动kibana 进一步的,测试数据的流动 引言 最近整理电脑发现之前的一篇ELK极简入门笔记,现整理发出…...
在 JavaScript 中,变量的作用域是如何确定的?
在 JavaScript 中,变量的作用域是由作用域链(Scope Chain)来确定的。作用域链是指变量在执行期间访问的作用域的链式结构。 JavaScript 中的作用域分为全局作用域和局部作用域(函数作用域和块级作用域)。 全局作用域…...
常见面试题-TCP三次握手四次挥手
TCP 三次握手/四次挥手 参数用途SYN用于启动和建立连接时,同步设备之间的序列号。0到2^32 - 1的随机数。ACK向另一端确认已经收到 SYN,数值为收到 SYN 增一。SYN-ACK确认之前收到了 SYN,数值为自定义值。FIN终止连接。RST重置连接。 三次握…...
前端框架Vue学习 ——(六)Vue组件库Element
文章目录 Element 介绍快速入门常见组件表格分页Dialog 对话框组件表单 Container 布局容器 Element 介绍 Element:是饿了么团队研发的,一套为开发者、 设计师和产品经理准备的基于Vue 2.0的桌面端组件库。 组件:组成网页的部件,…...
第六章:Property-based Testing and Test Oracles
文章目录 Test OraclesActive and Passive Test OraclesTypes of Test OraclesFormal, executable specificationsSolved examplesMetamorphic oraclesAlternative implementations (备用实现)Heuristic oracles (启发式)The Golden Program!Oracle Deviation (Oracle偏差)T…...
react生命周期函数
React 组件的生命周期可分为三大阶段:挂载阶段(Mounting)、更新阶段(Updating)和卸载阶段(Unmounting)。 1.挂载阶段(Mounting) 在组件被插入到 DOM 中后,会…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...
阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...
