全新的训练算法:Reflection 70B进入大众的视野
在2024年9月6日,大模型的圈子迎来了一位新成员——Reflection 70B,它横扫了MMLU、MATH、IFEval、GSM8K等知名的模型基准测试,完美超越了GPT-4o,同时也超越了Claude3.5 Sonnet成为了新的大模型之王,Reflection 70B到底是什么来头?它为什么能超越GPT-4o呢?
首先是官宣推文:

其次是这个模型成为了HuggingFace上最热门的项目:

Hugging Face:https://huggingface.co/mattshumer/Reflection-70B
体验网址:https://reflection-playground-production.up.railway.app/
看了上面官宣推文中给出的测试结果,大家肯定会认为这是由一个公司做出来的,但是并不是,出人意料的是,这个大模型是由两位开发者用三周的时间手搓出来的。一位是发帖的 HyperWrite CEO Matt Shumer,另一位是 AI 创业公司 Glaive AI 的创始人 Sahil Chaudhary。他们表示,Reflection 70B 的底层模型建立在 Meta 的 Llama 3.1 70B Instruct 上,并使用原始的 Llama Chat 格式,确保了与现有工具和 pipeline 的兼容性。
技术细节
首先看一条推文:

推文中说这个模型使用了一个数据回收方法——Reflection-Tuning,在下文我会详细讲一下这种技术:
以下是对Reflection-Tuning技术细节的中文翻译:
1. 动机:
-
训练数据的质量对指令微调的效果至关重要,因为低质量的数据会导致大型语言模型(LLM)输出不一致或误导性的结果。Reflection-Tuning旨在通过改进数据集中的指令-响应对来解决这个问题。
-
该方法利用一个"神谕"模型(例如ChatGPT)对指令和响应进行自我反思和优化,生成高质量的数据,从而提高LLM的训练效果,而不需要额外的模型或大量的人工干预。
2. 方法论:
Reflection-Tuning由两个主要阶段组成:指令反思和响应反思。
2.1 指令反思:
-
过程:使用神谕模型(如ChatGPT)根据预定的标准对原始数据集中的指令-响应对进行评估,并对指令进行改进。
-
改进标准:
-
话题的复杂性
-
对响应细节的要求
-
响应所需的知识
-
指令的模糊性
-
是否涉及逻辑推理或问题解决
-
-
关键反思:模型基于这些标准生成反馈或反思,并根据这些反思产生修改后的指令-响应对。链式思维(或树式思维)提示被用来确保改进的逻辑性和一致性。
2.2 响应反思:
-
过程:在改进指令后,使用类似的方法对响应进行优化。神谕模型根据新标准对响应进行反思,并生成与改进后的指令更匹配的响应。
-
响应反思的标准:
-
有效性
-
相关性
-
准确性
-
细节程度
-
-
最终输出的是一个回收的指令-响应对,用于目标LLM的训练。
3. 建模细节:
-
符号表示:
-
设 ( f_\theta ) 为目标LLM,其参数为 ( \theta ),而 ( g ) 为神谕模型(如ChatGPT)。
-
指令 ( x ) 和响应 ( y ) 组成的数据对为 ((x_0, y_0)),来自数据集 ( D_0 ),模型通过反思生成新的指令-响应对 ((x{\text{ins}}, y{\text{ins}}))。
-
通过基于关键反思的反馈引导生成新的改进后的指令-响应对。
-
4. 实验设置:
-
数据集:该方法在Alpaca数据集(52,000个指令样本)和WizardLM数据集(250,000个指令样本)上进行测试,这些数据集是指令微调的基准数据集。
-
训练细节:
-
方法应用于Llama2-7b等模型,使用Adam优化器,批量大小为128,学习率为(2 \times 10^{-5})。
-
训练持续三轮,每个序列的最大长度为2048个标记。
-
5. 评估指标:
-
成对比较:GPT-4和ChatGPT作为评估者,比较不同模型生成的输出。每个响应根据相关性、准确性等标准进行评分,并与人类偏好对齐。
-
排行榜:回收后的模型在Alpaca-Eval和Huggingface Open LLM排行榜上进行评估,取得了较高的胜率,超越了其他经过指令微调的模型。
6. 实验结果:
-
性能:Reflection-Tuning显著提高了模型在指令遵从性和响应质量方面的表现。回收后的模型在同等规模的模型中始终表现优越,有时甚至超过了参数量更大的模型。
-
数据质量改进:反思过程增加了Alpaca数据集中指令的复杂性,提升了响应的细节水平,生成的指令-响应对更加连贯、质量更高。
7. 讨论:
-
统计分析:该方法显著增加了Alpaca数据集中指令的长度,同时简化了WizardLM数据集中过于复杂的指令。它还提高了指令与响应之间的连贯性。
-
在更大模型上的表现:在13B参数规模的模型上进一步验证了Reflection-Tuning的有效性。即使使用较小的数据集进行训练,回收后的模型依然在多个排行榜上取得了高胜率。
8. 结论:
-
Reflection-Tuning证明了数据回收在指令微调中的重要性,显著提升了指令遵从数据集的质量。通过利用LLM的自我改进能力,这一方法在不需要大规模重新训练的情况下提升了模型的可靠性和性能。
总结来说,Reflection-Tuning是通过改进训练数据,提高大型语言模型指令遵从性的一种先进方法。这种方法有效地增强了模型在多个基准上的表现。
网络上的测试
目前,不少网友已经开始测试 Reflection 70B,并反馈了一些积极结果。比如面对一个关于杯子和硬币的问题(先把硬币放入杯子,再把杯子放到床上,然后把杯子翻转过来,硬币会在哪里?),模型会反复反思自己的答案,并给出一个考虑到各种特殊情况的最终答案。


但是也有人表示模型的能力被夸大了:



但是该公司还有更大的405B模型

相关文章:
全新的训练算法:Reflection 70B进入大众的视野
在2024年9月6日,大模型的圈子迎来了一位新成员——Reflection 70B,它横扫了MMLU、MATH、IFEval、GSM8K等知名的模型基准测试,完美超越了GPT-4o,同时也超越了Claude3.5 Sonnet成为了新的大模型之王,Reflection 70B到底是…...
静态标注rtk文件参数解析
目录 在静态标注中,rtk(Real-Time Kinematic)文件的主要作用 rtk文件包含几种类型数据 具体作用 具体示例 %RAWIMUSA #INSPVAXA $GPRMC 背景: 最近工作中涉及到静态标注 slam相关,因为初入门,对于rtk文件中有很多参数&…...
TensorFlow和PyTorch小知识
TensorFlow和PyTorch是当前最流行的两个开源机器学习库,它们都广泛用于研究和工业界的深度学习项目。下面是对它们的介绍: 1,TensorFlow - **开发背景:** TensorFlow最初由Google Brain Team开发,并于2015年11月开源…...
Java证书信息收集
1.Java二级 【NCRE 二级Java语言程序设计02】考试流程及二级Java大纲_java语言程序设计计算机二级-CSDN博客...
flink写入hudi MOR表
第一步:创建flink内存表从kafka读取数据: DROP TABLE IF EXISTS HUDI_KAFKA_DEBEZIUM_ZHANG; CREATE TABLE IF NOT EXISTS HUDI_KAFKA_DEBEZIUM_ZHANG( ID STRING comment 编码 ,NAME STRING comment 名称 ,PRIMARY KEY(RCLNT,RLDNR,RRCTY,RVERS,RYEAR,…...
智能工厂程序设计 之-2 (Substrate) :三个世界--“存在的意义”-“‘我’的价值的实现” 之2
Q13、我刚看了一下前门前面的讨论。有一段文字您的重新 理解一下。那就是: 对题目 的另一角度( “智能工厂的程序设计”的三个层次词 分别关注的问题 及其 解决 思路的描述)的解释: 三个不同层次(深度)&…...
概要设计例题
答案:A 知识点: 概要设计 设计软件系统的总体结构:采用某种方法,将一个复杂的系统按照功能划分成模块;确定每个模块的功能;确定模块之间的调用关系;确定模块之间的接口,即模块之间…...
注册表模式:使用注册表和装饰器函数的模块化设计
在现代软件开发中,模块化设计是提高代码可维护性和可扩展性的关键技术之一。本文将探讨如何使用注册表(Registry)和装饰器函数(Decorator Function)来实现模块化设计,提升代码的灵活性和可扩展性。 什么是…...
怎样将vue项目 部署在ngixn的子目录下
如果同一服务器的80端口下,需要部署两个或以上数量的vue项目,那么就需要将其中一个vue项目部署在根目录下,其他的项目部署在子目录下. 像这样的配置 访问根目录 / 访问灭火器后台管理,访问 /mall/ 访问商城的后台管理 那么商场的vue项目,这样配置,才能在/mall/下正常访问? 1…...
FPGA开发:Verilog数字设计基础
EDA技术 EDA指Electronic Design Automation,翻译为:电子设计自动化,最早发源于美国的影像技术,主要应用于集成电路设计、FPGA应用、IC设计制造、PCB设计上面。 而EDA技术就是指以计算机为工具,设计者在EDA软件平台上…...
哈希表,算法
一.什么是哈希表 哈希表是一种用于快速数据存取的数据结构。它通过哈希函数将键(key)映射到表中的一个位置,从而实现高效的插入、删除和查找操作。 二.哈希冲突 哈希冲突发生在多个键通过哈希函数映射到哈希表的同一位置时。由于哈希表的大…...
Java数组的定义及遍历
数组的声明 长度不能超过定义的长度。超过则会报错通过下标来访问 数组的遍历 最常用最简单的方法是增强for循环。...
【电路笔记】-反相运算放大器
反相运算放大器 文章目录 反相运算放大器1、概述2、理想反相运算放大器3、实际反相运算放大器3.1 闭环增益3.2 输入阻抗3.3 输出阻抗4、反相运算放大器示例5、总结1、概述 上一篇关于同相运算放大器的文章中已介绍了该运算放大器配置的所有细节,该配置在同相引脚 (+) 上获取输…...
【电子通识】半导体工艺——刻蚀工艺
在文章【电子通识】半导体工艺——光刻工艺中我们讲到人们经常将 Photo Lithography(光刻)缩写成 Photo。光刻工艺是在晶圆上利用光线来照射带有电路图形的光罩,从而绘制电路。光刻工艺类似于洗印黑白照片,将在胶片上形成的图像印…...
vue-router 之如何在模版(template)中获取路由配置信息?
vue-router 之如何在模版(template)中获取路由配置信息? 获取当前路由信息 在vue3 中,route通常使用useRoute()钩子获取的,**代表当前激活的路由信息。**它包含了与当前路由相关的数据,比如路径、参数、查…...
HPL 源码结构分析
文件夹结构: $ cd /home/hipper/ex_hpl_hpcg/ $ pwd $ mkdir ./openmpi $mkdir ./openblas $mkdir ./hpl $ tree 1. 安装openmpi 1.1.1 使用Makefile下载配置编译安装 openmpi Makefile: all:wget https://download.open-mpi.org/release/open-m…...
Java代码审计篇 | ofcms系统审计思路讲解 - 篇3 | 文件上传漏洞审计
文章目录 0. 前言1. 文件上传代码审计【有1处】1.1 可疑点1【无漏洞】1.1.1 直接搜索upload关键字1.1.2 选择第一个,点进去分析一下1.1.3 分析this.getFile()方法1.1.4 分析new MultipartRequest(request, uploadPath)1.1.5 分析isSafeFile()方法1.1.6 分析request.…...
【Kubernetes】常见面试题汇总(五)
目录 13.简述 Kubernetes Replica Set 和 Replication Controller 之间有什么区别? 14.简述 kube-proxy 作用? 15.简述 kube-proxy iptables 原理? 16.简述 kube-proxy ipvs 原理? 13.简述 Kubernetes Replica Set 和 Replicat…...
MySQL 解决时区相关问题
在使用 MySQL 的过程中,你可能会遇到时区相关问题,比如说时间显示错误、时区不是东八 区、程序取得的时间和数据库存储的时间不一致等等问题。其实,这些问题都与数据库时区设 置有关。 MySQL Server 中有 2 个环境变量和时区有关,…...
SpringSecurity Context 中 获取 和 更改 当前用户信息的问题
SpringSecurity Context 获取和更改用户信息的问题 SecurityContext 异步线程中获取用户信息 今天在做项目时遇到了一个问题,我需要获取当前用户的 ID。之前,前端并没有存储用户信息,我一直是在后端的 service 中通过 SecurityContext 来获…...
ai辅助开发comfyui:让快马ai成为你构建复杂工作流的智能编程伙伴
最近在折腾ComfyUI时,发现构建复杂工作流特别容易卡在细节问题上。比如想同时用Canny边缘检测和Openpose控制生成效果,光是调试节点连接和参数就花了大半天。后来尝试用InsCode(快马)平台的AI辅助功能,发现能省下不少重复劳动。这里分享下用A…...
SketchUp STL插件:从数字设计到3D打印的无缝桥梁
SketchUp STL插件:从数字设计到3D打印的无缝桥梁 【免费下载链接】sketchup-stl A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export. 项目地址: https://gitcode.com/gh_mirrors/sk/sketchup-stl SketchUp STL插件…...
从数据采集到模型部署:用Lerobot+本地数据集训练一个会抓积木的机械臂(避坑指南)
从数据采集到模型部署:用Lerobot本地数据集训练一个会抓积木的机械臂(避坑指南) 当机械臂第一次准确抓取乐高积木并放入指定盒子时,那种成就感远超单纯调通代码的快感。Lerobot框架的出现,让机器人学习从实验室走向个人…...
uniapp定位踩坑记:腾讯地图误差1km?高德地图精准配置全攻略
Uniapp定位精度优化实战:从腾讯地图1km误差到高德厘米级精准配置 最近在开发一款外卖配送类应用时,我被定位精度问题折磨得够呛。原本以为接入腾讯地图SDK就能轻松搞定,结果实测发现定位偏差经常达到800米以上——这对于需要精确到楼栋的外卖…...
CREST:如何用5分钟开启分子构象探索之旅?
CREST:如何用5分钟开启分子构象探索之旅? 【免费下载链接】crest Conformer-Rotamer Ensemble Sampling Tool based on the xtb Semiempirical Extended Tight-Binding Program Package 项目地址: https://gitcode.com/gh_mirrors/crest/crest 在…...
解锁光猫配置自由:中兴ONT解密工具完全指南
解锁光猫配置自由:中兴ONT解密工具完全指南 【免费下载链接】ZET-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/ze/ZET-Optical-Network-Terminal-Decoder 你是否曾经因为无法修改光猫设置而感到束手无策?当运营…...
3KW无线充电系统设计:开环控制与闭环控制的MATLAB Simulink仿真模型,采用双边L...
3KW无线充电系统设计(MATLAB simulink仿真模型) 控制方式:开环控制闭环控制 拓扑结构:双边LCC拓扑结构 输入电压:750V 输出电压:400V 传输功率:3KW 最近在折腾一个3KW无线充电系统的仿真项目&am…...
Android开发职位深度解析与面试指南
引言 Android开发作为移动应用开发的核心领域,近年来随着智能手机的普及和技术的迭代,已成为IT行业的热门职业方向。本文基于一份典型的Android开发职位描述展开,深入探讨其核心技能要求、经验门槛、工具使用等关键要素。职位描述强调了对Flutter、多线程、Framework、Andr…...
开源动作捕捉新纪元:FreeMoCap低成本解决方案全解析
开源动作捕捉新纪元:FreeMoCap低成本解决方案全解析 【免费下载链接】freemocap Free Motion Capture for Everyone 💀✨ 项目地址: https://gitcode.com/GitHub_Trending/fr/freemocap 问题:动作捕捉技术的高门槛困境 在数字内容创作…...
洛谷 P1507:NASA的食物计划 ← 二维费用0/1背包问题
【题目来源】 https://www.luogu.com.cn/problem/P1507 【题目背景】 NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安全技术问题一直大伤脑筋,因此在各方压力下终止了航天飞机的历史,但是此类事情会不会在以后发生࿰…...
