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

一、介绍

大规模语言模型(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.rhkb.cn/news/96062.html

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

相关文章

小米分享 | 解密面试题:网易面试如何回答“创建线程有哪几种方式?”

大家好,我是你们的小米!今天要和大家一起探讨一个在技术面试中常见的问题:创建线程有哪几种方式?这可是个经典面试题哦!不过别担心,小米在这里为你详细解析,帮你轻松应对,让你在面试…

stm32控制蜂鸣器源代码(附带proteus线路图)

说明: 1 PB0输出0时,蜂鸣器发生; 2 蜂鸣器电阻值如果太大会导致电流太小,发不出声音; 3蜂鸣器额定电压需要设置得低一点,可以是2V,但不能高于3V,这更右上角的电阻值有关系&#x…

【Linux】make/makefile自动化构建工具

文章目录 前言一、什么是make/makefile?二、依赖关系和依赖方法2.1 makefile中创建文件2.2 makefile中删除文件2.3 stat指令查看文件的三种时间(ACM)2.4 伪目标文件(.PHONY) 三、Makefile中的一些特殊符号3.1 $ 和 $^3…

【深入理解ES6】字符串和正则表达式

概念 字符串(String)是JavaScript6大原始数据类型。其他几个分别是Boolean、Null、Undefined、Number、Symbol(es6新增)。 更好的Unicode支持 1. UTF-16码位 字符串里的字符有两种: 前 个码位均以16位的编码单元…

尚硅谷大数据项目《在线教育之离线数仓》笔记002

视频地址:尚硅谷大数据项目《在线教育之离线数仓》_哔哩哔哩_bilibili 目录 P025 P026 P027 P028 P029 P030 P031 P032 P033 P034 P035 P036 P037 P038 P025 在Hive所在节点部署Spark P026 3)Hive on Spark测试 (1)…

深度剖析数据在内存中的存储

目录 一、数据类型介绍 类型的基本归类 1.整形家族 2.浮点数家族 3.构造类型 (自定义类型) 4.指针类型 5.空类型 二、整形在内存中的存储 1.原码、反码、补码 1.1原码 1.2反码 1.3补码 1.4计算规则 2 .大小端介绍 三、浮点型在内存中的存…

C++函数模板和类模板

C另一种编程思想称为泛型编程,主要利用的技术是模板 C提供两种模板机制:函数模板和类模板 C提供了模板(template)编程的概念。所谓模板,实际上是建立一个通用函数或类, 其类内部的类型和函数的形参类型不具体指定, 用…

算法与数据结构(七)--堆

一.堆 1.堆的定义 堆是计算机科学中一类特殊的数据结构的通常,堆通常可以被看做是一颗完全二叉树的数组对象。 堆的特性 1.它是完全二叉树,除了树的最后一层结点不需要是满的,其他的每一层从左到右都是满的,如果最后一层结点不…

WordPress更换域名后-后台无法进入,网站模版错乱,css失效,网页中图片不显示。完整解决方案(含宝塔设置)

我在实际解决问题时用到了 【简单暴力解决方案】的《方法一:修改wp-config.php》 和 【简单暴力-且特别粗暴-的解决方案】 更换域名时经常遇到的几个问题: 1、更换域名后,后台无法进入 2、更换域名后,网站模版错乱,c…

基于物理场的动态模式分解(piDMD)研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

stm32红绿灯源代码示例(附带Proteus电路图)

本代码不能直接用于红路灯,只是提供一个思路 #include "main.h" #include "gpio.h" void SystemClock_Config(void); void MX_GPIO_Init(void) {GPIO_InitTypeDef GPIO_InitStruct {0};/* GPIO Ports Clock Enable */__HAL_RCC_GPIOB_CLK_ENAB…

九耶丨阁瑞钛伦特-在项目中找到的经典BUG是什么?

在项目中找到的经典BUG有很多种,以下是其中一些常见的例子: 空指针异常(NullPointerException):当程序试图访问一个空对象或未初始化的变量时,会抛出空指针异常。这通常是由于缺少对变量的正确初始化或检查…

RabbitMq-发布确认高级(避坑指南版)

在初学rabbitMq的时候,伙伴们肯定已经接触到了“发布确认”的概念,但是到了后期学习中,会接触到“springboot”中使用“发布确认”高级的概念。后者主要是解决什么问题呢?或者是什么样的场景引出这样的概念呢? 在生产环…

第1天----验证一个字符串是否是另一个字符串的子串

本文我们将学习如何去验证一个字符串是否是另一个字符串的子串。 一、小试牛刀: 题目描述 输入两个字符串,验证其中一个串是否为另一个串的子串。 输入格式 两行,每行一个字符串。 输出格式 若第一个串 s 1 是第二个串 s 2 的子串&#xff0c…

[Machine Learning] decision tree 决策树

(为了节约时间,后面关于机器学习和有关内容哦就是用中文进行书写了,如果有需要的话,我在目前手头项目交工以后,用英文重写一遍) (祝,本文同时用于比赛学习笔记和机器学习基础课程&a…

【java安全】Log4j反序列化漏洞

文章目录 【java安全】Log4j反序列化漏洞关于Apache Log4j漏洞成因CVE-2017-5645漏洞版本复现环境漏洞复现漏洞分析 CVE-2019-17571漏洞版本漏洞复现漏洞分析 参考 【java安全】Log4j反序列化漏洞 关于Apache Log4j Log4j是Apache的开源项目,可以实现对System.out…

SQL Server2019安装后使用SQL Server身份验证登录失败

错误情况 今天在电脑安装SQL Server2019和SMMS,安装过程一切顺利,但是在使用SMMS连接数据库时出现了异常。使用"Window 身份验证"登录时正常,但是如果改为使用"SQL Server 身份验证"登录时却连接失败! 解决方…

VS2022远程Linux使用cmake开发c++工程配置方法

文章目录 远程连接CMakePresets.json的配置Task.vs.json配置launch.vs.json配置最近使用别人在VS2015上使用visualgdb搭建的linux开发环境,各种不顺手,一会代码不能调转了,一会行号没了,调试的时候断不到正确的位置,取消的断点仍然会进。因此重新摸索了一套使用vs的远程开…

js判断用户当前网络状态和判断网速

前端判断用户当前网络状态和判断网速 一、第一种是通过 HTML5 提供的 navigator 去检测网络(1)、原理介绍:(2)、兼容性 二、监听window.ononline和window.onoffline事件:三、通过ajax进行请求判断(兼容性好-推荐)(1)、原理介绍:(2)、注意: 四、navigator.connection方法监听网络…

13---内嵌HTML和React

虽然Markdown本身不支持内嵌HTML和React&#xff0c;但可以在Markdown文档中直接插入HTML代码和React组件。 一、在markdown中内嵌HTML 在Markdown中&#xff0c;你可以使用HTML标签来实现更复杂的样式和布局。例如&#xff0c;你可以使用<div>标签来创建一个容器&#…