哈工大开源“活字”对话大模型

一、介绍

大规模语言模型(LLM)在自然语言处理的通用领域已取得了令人瞩目的成功。对于广泛的应用场景,这种技术展示了强大的潜力,学术界和工业界的兴趣也持续升温。哈工大自然语言处理研究所30余位老师和学生参与开发了通用对话大模型活字1.0,哈工大社会计算与信息检索研究中心(哈工大-SCIR)研发了活字2.0,致力于为自然语言处理的研究和实际应用提供更多可能性和选择。

图片

局限性: 由于模型参数量较小和自回归生成范式,活字仍然可能生成包含事实性错误的误导性回复或包含偏见/歧视的有害内容,请谨慎鉴别和使用生成的内容,请勿将生成的有害内容传播至互联网。若产生不良后果,由传播者自负。

二、模型特色

活字1.0

  • 活字1.0 由哈工大自然语言处理研究所30余位老师和学生研发

  • 在BLOOM-7B基础上,通过指令微调后,获得更加通用的完成任务的能力

    • 支持中英双语:在标准的中/英文基准与主观测评上均取得优异的效果,同时支持多语言对话能力

    • 更丰富的指令微调数据:人工构造了更多指令微调模板,以及一些列的Self-instruction指令构造的SFT数据,使得指令微调的数据更加丰富

      • 取得更好的指令遵循能力

      • 支持生成代码以及表格

    • 更高质量的安全数据:基于多轮对抗攻击,以SFT形式手动设计安全数据,强化模型回复的安全性和合规性

      • 安全性指标达到 84.4%,在特定测试集上超越了ChatGPT

活字2.0

  • 活字2.0由哈工大社会计算与信息检索研究中心(SCIR)完成研发

  • 在活字1.0基础上,通过人类反馈的强化学习 (RLHF)进一步优化了模型回复质量,使其更加符合人类偏好

    • 融合多种trick的稳定PPO训练:训练更加稳定高效

      • 训练过程中保持数据分布一致

      • 在奖励函数中加入KL-散度罚值

      • Actor权重滑动平均

    • 多维度标注的中文偏好数据:回答更丰富,遵从指令的能力更强,逻辑更加清晰

      • 针对Instruction标注是否具有诱导性

      • 针对每条回复从有用性、真实性和无害性三个维度打分

      • 综合考虑Instruction类别、回复质量的偏好排序

图片

为了更好地推动中文大模型的技术进展,哈工大赛尔实验室对“活字1.0”和“活字2.0”两个版本的大语言模型进行了开源GitHub地址为 https://github.com/HIT-SCIR/huozi,也可点击“阅读全文”进入。

同时,我们开源个用于训练RLHF奖励模型的人工标注中文数据集

欢迎广大研究人员、开发者和技术爱好者尝试使用,并提供宝贵的反馈和建议。

三、模型评测

公开benchmark榜单

  • C-Eval 数据集:是一个全面的中文基础模型评测数据集,涵盖了 52 个学科和四个难度的级别。我们使用该数据集的 dev 集作为 few-shot 的来源,在 val 集上进行了 5-shot 测试。

  • Gaokao 是一个以中国高考题作为评测大语言模型能力的数据集,用以评估模型的语言能力和逻辑推理能力。我们只保留了其中的单项选择题,随机划分后对所有模型进行统一 zero-shot 测试。

  • MMLU 是包含 57 个多选任务的英文评测数据集,涵盖了初等数学、美国历史、计算机科学、法律等,难度覆盖高中水平到专家水平,是目前主流的LLM评测数据集。我们采用了 开源 的评测方案,最终 5-shot

ModelC-EvalMMLUGAOKAO(理科)GAOKAO(文科)
GPT-468.386.4--
ChatGPT50.067.3364398
LLAMA-7B-27.8--
Chinese-Llama-7B6.531.4105126
Chinese-Falcon-7B24.521.0113121
BLOOM-7B22.425.5114127
BLOOMZ-7B-28.7--
活字1.021.735.6120138

人工综合评测

我们自己构建了一套综合的双语测试数据集(共计525条),对模型生成的流畅性、相关性、真实性等指标进行人工综合评价。

                                   综合质量(%)流畅性(%)相关性(%)真实性(%)指令遵循(%)安全性(%)
活字1.070.494.691.585.581.184.4
ChatGPT86.598.898.192.986.881.9
  • 综合质量:人工评估模型生成文本的综合质量。

  • 流畅性:语言模型是否能生成流畅的回复

  • 相关性:语言模型生成的回复是否与问题相关(无论正确与否)

  • 真实性:模型生成结果是否无明显错误信息,是否产生误导性的信息,或真实性存疑的信息。

  • 指令遵循:是否能够准确地满足人类指定的需求。

  • 安全性:诱导模型生成有害回复,测试模型生成安全无害回复的比例。

、交互样例

  • 诗歌创作

    图片

  • 文案写作

    图片

  • 数学应用题

    图片

  • 代码生成

    图片

    图片

  • 多语言

    图片

  • 知识问答

    图片

  • 表格能力

    图片

  • 安全无害性

    图片

五、《ChatGPT 调研报告》

哈工大自然语言处理研究所组织多位老师和同学撰写了本调研报告,从技术原理、应用场景、未来发展等方面对ChatGPT进行了尽量详尽的介绍及总结,该报告PDF文件已上传至Github。

、结语

“活字”大语言模型的推出是哈工大自然语言处理研究所在自然语言处理领域的最新努力。该项目的开源性质鼓励了更广泛的参与和尝试,有助于推动自然语言处理技术的研究和应用。但是由于模型参数和自回归生成范式,活字仍然可能生成有害内容,请谨慎鉴别和使用生成的内容,请勿将生成的有害内容传播至互联网。最后,诚邀您访问我们的GitHub项目页面,体验活字大语言模型,并共同探讨中文自然语言处理的未来发展。

本期责任编辑:张伟男

本期编辑:杨   昕

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

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

相关文章

re学习(35)攻防世界-no-strings-attached(动调)

参考文章:re学习笔记(28)攻防世界-re-no-strings-attached_Forgo7ten的博客-CSDN博客 攻防世界逆向入门题之no-strings-attached_攻防世界 no-strings-attached_沐一 林的博客-CSDN博客 本人题解: 扔入Exepeinfo中查壳和其他信息…

LVS-DR模型实例

一、LVS-DR集群介绍 LVS-DR(Linux Virtual Server Director Server)工作模式,是生产环境中最常用的一 种工作模式。 1、LVS-DR 工作原理 LVS-DR 模式,Director Server 作为群集的访问入口,不作为网关使用&#xff0…

python+django+mysql项目实践五(信息搜索)

python项目实践 环境说明: Pycharm 开发环境 Django 前端 MySQL 数据库 Navicat 数据库管理 信息搜素 输入内容进行搜索,内容有文本类和时间类 文本类需要模糊搜索,包含即检索 时间类需要选取时间范围内的内容 views 利用Q完成对指定内容的检索 检索后按检索内容更新…

HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制ForEach循环渲染

ForEach基于数组类型数据执行循环渲染。说明,从API version 9开始,该接口支持在ArkTS卡片中使用。 一、接口描述 ForEach(arr: any[], itemGenerator: (item: any, index?: number) > void,keyGenerator?: (item: any, index?: number) > stri…

网络综合布线实训室建设方案

一、网络综合布线系统概述 网络综合布线系统是为了满足数据通信需求而设计和建立的一套基础设施。它提供了数据传输、信号传输和电力供应的基础结构,支持各种网络设备和终端设备之间的连接。 网络综合布线系统通常包括以下组成部分: 1) 数据…

ZooKeeper集群服务器启动

在本文中,我们将对集群版ZooKeeper服务器的启动过程做详细讲解。集群和单机ZooKeeper服务器的启动过程在很多地方都是一致的,因此本节只会对有差异的地方展开进行讲解。下图所示是集群版ZooKeeper服务器的启动流程图。 预启动 预启动的步骤如下。 (1)统…

Python高光谱遥感数据处理与高光谱遥感机器学习方法教程

详情点击链接:Python高光谱遥感数据处理与高光谱遥感机器学习方法教程 第一:高光谱基础 一:高光谱遥感基本 01)高光谱遥感 02)光的波长 03)光谱分辨率 04)高光谱遥感的历史和发展 二:高光谱传感器与数据获取 01)高光谱遥感…

AI搜索引擎助力科学家创新

开发者希望通过帮助科学家从大量文献中发现联系从而解放科学家,让他们专注于发现和创新。 图片来源:The Project Twins 对于专注于历史的研究者Mushtaq Bilal来说,他在未来科技中投入了大量时间。 Bilal在丹麦南部大学( Universit…

预训练GNN:GPT-GNN Generative Pre-Training of Graph Neural Networks

一.文章概述 本文提出了一种自监督属性图生成任务来预训练GNN,使得其能捕图的结构和语义属性。作者将图的生成分为两个部分:属性生成和边生成,即给定观测到的边,生成节点属性;给定观测到的边和生成的节点属性&#xf…

自动驾驶港口车辆故障及事故处理机制

1、传感器故障: (1)单一传感器数据异常处理。自动驾驶电动平板传感方案为冗余设置,有其他传感器能够覆盖故障传感器观测区域,感知/定位模块将数据异常情况发给到规划决策模块,由“大脑”向中控平台上报故障…

视频集中存储/云存储/磁盘阵列EasyCVR平台接入RTSP设备出现离线情况的排查

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

QT处理日志文件

由于实际生产需要,软件系统的运行,会产生大量的日志文件,有时候一天就能产生超过百万条log记录,那么为了能够处理日志文件,查询并且找到我们想要的报错信息,因此不得不考虑怎么实现,打开大日志文…

ARM--day2(cpsr、spsr、数据搬移指令、移位操作指令、位运算操作指令、算数运算指令、比较指令、跳转指令)

.text .global _gcd _gcd:mov r0,#9mov r1,#15b loop loop:cmp r0,r1beq stopsubhi r0,r1bhi loopsubcc r1,r0bcc loopstop:b stop.end用for循环实现1~100之间和5050 .text .global _gcd _gcd:mov r0,#0x0mov r1,#0x1mov r2,#0x64b loop loop:cmp r1,r2bhi stopadd r0,r0,r1ad…

【Unity】坐标转换经纬度方法(应用篇)

【Unity】坐标转换经纬度方法(应用篇) 解决地图中经纬度坐标转换与unity坐标互转的问题。使用线性变换的方法,理论上可以解决小范围内所以坐标转换的问题。 之前有写过[Unity]坐标转换经纬度方法(原理篇),在实际使用中&#xff0c…

R语言实现免疫浸润分析(2)

原始数据承接免疫浸润分析&#xff08;1&#xff09;&#xff0c;下面展示免疫浸润结果&#xff1a; #直接使用IOBR包内的cell_bar_plot pic<-cell_bar_plot(input quantiseq_immo_de[1:20,], title "quanTiseq Cell Fraction") #使用ggplot2 library(ggplot2)…

大疆飞卡30运载无人机技术分享

大疆飞卡30是大疆公司面向运输领域推出的一款专业运载无人机。它采用了优秀的设计,装备了多种先进传感器,以解决运输中的难题。以下我们来了解一下其主要特点: 【应用领域】 飞卡30适用于山地救灾、农业化肥施用、工程材料运送等交通不便的山区应用,也适用于海岛联通等运输链…

机器学习基础之《分类算法(3)—模型选择与调优》

作用是如何选择出最好的K值 一、什么是交叉验证&#xff08;cross validation&#xff09; 1、定义 交叉验证&#xff1a;将拿到的训练数据&#xff0c;分为训练和验证集。以下图为例&#xff1a;将数据分成5份&#xff0c;其中一份作为验证集。然后经过5次(组)的测试&#x…

通过请求头传数据向后端发请求

axios &#xff08;get post请求、头部参数添加&#xff09;傻瓜式入门axios_axiospost请求参数_web_blog的博客-CSDN博客

ByteBuffer 使用

ByteBuffer 使用 1 java.nio包中的类定义的缓冲区类型2 缓冲区常用属性2.1缓冲区的容量(capacity)2.2 缓冲区的位置(position)2.3 缓冲区的限制(limit)2.4 缓冲区的标记(mark)2.5 剩余容量 remaining/hasRemaining 3 缓冲区常用方法3.1 创建缓冲区3.1.1 allocate方法3.1.2 wrap…

blender 发射体粒子

发射体粒子的基础设置 选择需要添加粒子的物体&#xff0c;点击右侧粒子属性&#xff0c;在属性面板中&#xff0c;点击加号&#xff0c;物体表面会出现很多小点点&#xff0c;点击空格键&#xff0c;粒子会自动运动&#xff0c;像下雨一样&#xff1b; bender 粒子系统分为两…