IBM也下场LLM了,自对齐、高效率的单峰驼Dromedary来了

2023-11-18

近期IBM Research发布了dromedary,并指出这个模型通过一种称为自对齐(SELF-ALIGN)的新方法,结合了原则驱动(principle-driven)的推理和LLM的生成能力,用于AI代理的自我对齐,使人类的监督最少化。

资料及参考:

官网:Dromedary

代码:GitHub - IBM/Dromedary: Dromedary is a helpful, ethical, reliable LLM.

论文:[2305.03047] Principle-Driven Self-Alignment of Language Models from Scratch with Minimal Human Supervision (arxiv.org)

模型:zhiqings/dromedary-65b-lora-delta-v0 · Hugging Face

技术细节:

技术细节部分主要来自论文:Principle-Driven Self-Alignment of Language Models

from Scratch with Minimal Human Supervision 。

问题简介:

最近的人工智能助手(AI-assistant agents),如 ChatGPT,主要依靠对人工注释的监督微调和从人类反馈中进行强化学习,以使大型语言模型 (LLM) 的输出与人类意图保持一致,确保它们是有用的、合乎道德的和可靠的。然而,由于获得人工监督的高成本以及质量、可靠性、多样性、自洽性和不良偏见的相关问题,这种依赖性会严重限制人工智能助手(AI-assistant agents)的真正潜力。为了应对这些挑战,研究者们提出了一种称为SELF-ALIGN的新方法,该方法结合了原则驱动(principle-driven)的推理和LLM的生成能力,用于AI代理的自我对齐,使人类的监督最少化。

SELF-ALIGN

应用SELF-ALIGN到LLaMA-65b基本语言模型, 研究者开发了一个名为Dromedary的AI模型。使用少于300行人工注释(包括200个种子提示,16个通用原则和5个上下文学习的示例),Dromedary的性能显著超过几个最先进的AI系统,包括Text-Davinci-003和Alpaca,在各种设置的基准数据集上。研究者开源了代码、Dromedary的LoRA权重以及他们的合成训练数据,以鼓励进一步研究提高监督效率、减少偏差和改善LLM基础的AI代理的可控性。

实现SELF-ALIGN的4个步骤

1.(由主题引导的红队策略)自指示(Topic-Guided Red-Teaming Self-Instruct) :

研究者采用自我教学机制,使用175个种子提示生成合成指令,再加上20个专题特定的提示,以确保指令的话题范围多样化。这样的指令可以确保AI系统学习的上下文/场景范围全面,从而减少潜在的偏差。

2. 原则驱动式自对齐(Principle-Driven Self-Alignment):

研究者开发了16条人工编写的英文原则的小集合,关于系统生成的响应的期望质量,或者AI模型在产生答案时的行为规则。这些原则起到了生成有帮助,合乎道德和可靠响应的指导作用。

研究者进行上下文学习(ICL、in-context learning),通过几个示例(演示)说明AI系统在不同情况下制定响应时如何遵守规则。对于每个新查询,在响应生成过程中使用相同的示例集(same set of exemplars ),而不是为每个查询要求不同的(人工注释)示例。从人工编写的原则、ICL 示例(ICL exemplars,)和传入的自我指导提示(self-instructed prompts)中,LLM 可以触发匹配规则并生成拒绝答案的解释,如果查询被检测为有害或格式不正确。

3. 原则刻画(Principle Engraving):

在第三阶段,研究者对原始的LLM(基础模型)进行微调,使用LLM本身通过提示生成的自我对齐响应,同时为微调后的模型修剪原则和演示。微调过程( fine-tuning process)使他们的系统能够直接为广泛的问题生成与有帮助,合乎道德和可靠原则高度对齐的响应,这是由于共享的模型参数。请注意,微调后的LLM可以直接为新查询生成高质量的响应,而无需显式使用原则集(principle set)和ICL示例(ICL exemplars)。

4.冗长克隆(Verbose Cloning):

最后,研究者采用上下文蒸馏来增强系统产生比过于简短或间接的响应更全面和详细的响应的能力。

模型效果:

将 SELF-ALIGN 应用于 LLaMA-65b 基本语言模型,研究者开发了一个名为 Dromedary 的 AI 助手。使用少于300行人工注释(包括<200个种子提示,16个通用原则和5个上下文学习的范例),在各种设置的基准数据集上, Dromedary 的性能远超过几个最先进的 AI 系统,包括 Text-Davinci-003 和 Alpaca。

这是在TruthfulQA进行生成任务得到的数据。

这是在HHH Eval数据集上的多选题(MC)准确度。

这是由GPT-4评估的在Vicuna基准问题上得到的答案比较数据

以及这是在Vicuna基准问题上得到的答案质量,也是由GPT-4进行评估。

可以看到效果非常不错。

模型部署:

部署说明:https://github.com/IBM/Dromedary#model-weights

模型下载:zhiqings/dromedary-65b-lora-delta-v0 · Hugging Face

部署步骤

需要注意的使现在在Hungingface上的这个 "delta 模型"不能直接使用。用户需要把它叠加到原 LLaMA weights 得到真正的 Dromedary weights。具体步骤如下

1. 按照这里的说明获取LLaMA模型在huggingface格式的原始权重

2. 从我们的Hugging Face模型中心下载LoRA增量权重

3. 遵循我们的inference guide了解如何使用模型并行在您自己的机器上部署Dromedary/LLaMA,使用model parallel

Quick Start

假设你有 2个 A100-80GB GPUs 并且将 Dromedary/LLaMA checkpoints 分成了 2个 shards.

bash scripts/demo_dromedary_2shards.sh

Or 假设你有 6个 V100-32GB GPUs 并且将 Dromedary/LLaMA checkpoints 分成了 6个 shards.

bash scripts/demo_dromedary_6shards.sh

感觉有帮助的朋友,欢迎赞同、关注、分享三连。^-^

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IBM也下场LLM了,自对齐、高效率的单峰驼Dromedary来了 的相关文章

随机推荐

  • 图像紫边消除(depurple)

    图像紫边广泛存在于目前的手机摄像头 数码相机 监控摄像头等数字成像系统所得图像中 当我们使用这些设备在逆光 大光圈等条件下拍摄时 所得图像的局部区域 特别是高反差区域 亮暗对比反差很大的图像区域 比如天空 灯管与物体相接的边缘 会比较容易观
  • 通过h5页面上传视频到Linux服务器

    1 上传视频到本地 https www jb51 net article 132531 htm 2 上传视频到Linux服务器 建立ftp连接 保证服务器已经安装ftp及对应端口 帐号有权限 上传视频 https blog csdn net
  • 基于实数编码的遗传算法搜寻多元函数最值

    遗传算法介绍 遗传算法于20世纪70年代由美国的John holland提出 是一种通过模仿达尔文生物进化理论和遗传机制以寻求问题最优解的启发式算法 算法的运作主要依赖于三大算子 选择 交叉 变异 其算法流程如图1所示 图1 遗传算法流程图
  • 作为一枚python小白如何提升项目实战——Python茅台抢购脚本详细教程

    今天给大家推荐的GitHub开源项目就是一款京东抢茅台的脚本 当然推荐的脚本也是仅用于测试和学习研究 禁止用于商业用途 不能保证其合法性 准确性 完整性和有效性 请根据情况自行判断 主要功能 预约茅台 定时自动预约 秒杀预约后等待抢购 定时
  • Python IO编程详解

    一 文件系统操作 1 os os path和pathlib的对比 Python中处理文件路径和文件系统操作的传统方式 是通过os和os path模块中的函数来完成的 这些函数完全能够胜任需求 但往往会使得代码过于冗长 自Python 3 5
  • java随机生成6位数

    生成6位随机数 仅只有6位 int Math random 9 1 100000 Math Random 函数能够返回带正号的double值 该值大于等于0 0且小于1 0 即取值范围是 0 0 1 0 的左闭右开区间
  • 理解 __declspec(dllexport)和__declspec(dllimport)

    这段时间要把tinyxml从静态库弄成动态库 要用到 declspec dllexport 和 declspec dllimport 来导出dll和lib文件 终于弄明白了export和import的作用 下面从使用的角度来说明一下他们的功
  • 2020北京邮电大学计算机学院复试经验分享

    初试组内第4 复试组内第1 综合第2 已成功上岸 最近大家问我复试的比较多 趁还热乎 在这里给大家分享一下吧 仅供参考 然后初试经验贴在这里 不要因为初试成绩不好就放弃复试或者不认真对待 复试是干嘛的就是用来翻盘的 都坚持了一年了 也不差这
  • C# 获取计算机信息

    文章目录 一 本机信息 1 本机名 2 获得本机MAC地址 3 获得计算机名 4 显示器分辨率 5 主显示器分辨率 6 系统路径 二 操作系统信息 1 操作系统类型 2 获得操作系统位数 3 获得操作系统版本 三 处理器信息 1 处理器个数
  • Sublime Text3设置文本的自动换行

    1 点击Preferences Settings 然后出现以下页面 2 点击保存即可 如果想要修改其他属性 可以直接在Default里面找就可以
  • Java正则表达式验证电话号码

    在注册会员时 经常需要输入电话号码 电话号码是指手机号码或者固定电话 如果输入的内容不合法 则会向用户输出提示 本实例模拟实现电话号码的验证功能 接收用户在控制台输入的电话号码 然后进行判断 并将结果输出 在这里使用 Java正则表达式 一
  • linux改变文件所属用户和组

    1 改变文件所属用户 chown 用户名 文件名 2 改变文件所属组 chgrp 用户名 文件名
  • 狂神说-Mybatis笔记(总)

    环境 JDK1 8 MySQL 8 0 23 maven 3 6 1 IDEA2020 3 框架 需要配置文件 官方中文文档 https mybatis org mybatis 3 zh index html 一 简介 1 什么是Mybat
  • 通俗易懂权限管理模块设计-Java

    最近一直在做CMS系统 发现一些内容其实都是重复出现的 例如权限管理模块 权限管理模块就是为了管理用户是否有权利访问某个权限 如果不能则拒绝访问 其实Java中已经有很成熟的权限管理框架 例如 Shiro Spring Security等
  • 怎么让人物脚贴地 模型_Unity利用FinalIK实现角色脚掌贴着地面行走工具

    using System Collections Generic using UnityEditor using UnityEngine public class FootBones public GameObject Bone1 publ
  • 设计原则学习之里氏替换原则

    以下内容均来自抖音号 it楠老师教java 的设计模式课程 1 原理概述 子类对象 objectofsubtype derivedclass 能够替换程序 program 中父类对象 objectofbase parentclass 出现的
  • C语言程序的undefined,c语言中undefined reference to ""怎么解决

    2 gcc c test c gcc c main c 得到两个 o 文件 一个是 main o 一个是 test o 然后我们链接 o 得到可执行程序 3 gcc o main main o这时 你会发现 报错了 4 main o In
  • python安装pandas失败问题

    开始使用pip install pandas报错 后来将pip语句更换为 pip default time 100 install pandas 成功安装pandas
  • 朋友拿下字节27K的offer,实名羡慕了....

    最近有朋友去字节面试 面试前后进行了20天左右 包含4轮电话面试 1轮笔试 1轮主管视频面试 1轮hr视频面试 据他所说 80 的人都会栽在第一轮面试 要不是他面试前做足准备 估计都坚持不完后面几轮面试 其实 第一轮的电话面试除了一些常规的
  • IBM也下场LLM了,自对齐、高效率的单峰驼Dromedary来了

    近期IBM Research发布了dromedary 并指出这个模型通过一种称为自对齐 SELF ALIGN 的新方法 结合了原则驱动 principle driven 的推理和LLM的生成能力 用于AI代理的自我对齐 使人类的监督最少化