投机解码论文阅读:Falcon

题目:Falcon: Faster and Parallel Inference of Large Language Models through Enhanced Semi-Autoregressive Drafting and Custom-Designed Decoding Tree

地址:https://arxiv.org/pdf/2412.12639

一看它的架构图,可以发现它是基于EAGLE做的改进。falcon是猎鹰的意思,也可以看出来它是从eagle改进来的。

了解EAGLE,可以参考这篇文章:投机解码EAGLE精读_eagle: speculative sampling requires rethinking fe-CSDN博客

半自回归SAR:draft 同时生成多个 token,然而SAR draft 的一个重要局限是它无法完全捕捉相同 block 内 draft tokens 之间的相互依赖关系,可能导致生成的 token 接受率较低

简单来说,相当于是在EAGLE的基础上,把它和Medusa这种半自回归预测方式融合起来。

为了提高半自回归的预测准确性,Falcon提出了一种叫做耦合顺序扫视蒸馏(CSGD)的方法。

CSGD方法是怎么做的:

  • 如下图,在训练过程中,草稿模型预测得到对下面几个token以及其特征的预测之后,会根据正确的预测(也就是LLM自回归生成的token以及特征)对草稿模型输出进行替换

  • 具体替换的比例是根据训练所处的阶段和预测结果和正确结果之间的汉明距离决定的,当前训练轮次越小、汉明距离越大,则替换的比例越高

  • 在将预测结果进行 部分替换 之后,接下来的步骤是重新输入替换后的序列 到drafter中,并计算 训练损失,从而更新模型参数

CSGD方法的理论依据:

  • SAR方法同时预测多个token(例如 k=2时,同时预测 X 和 Y)。

  • 它的目标是同时最小化 H(X)+H(Y),即同时预测两个token的不确定性。

  • 同时预测两个token X 和 Y,其总熵为:H(X)+H(Y) = H(Y∣X) + 2I(X;Y) + H(X∣Y);I(X;Y)表示的是X与Y之间的互信息

  • 传统的半自回归方式,只关注H(Y∣X),而忽略I(X;Y) 和 H(X∣Y),导致模型无法有效学习token之间的依赖关系,从而影响生成质量。

除了这些改动,本文将EAGLE在embedding之后用于降维的MLP换成了一个LSTM,相当于是能够学习到草稿模型输入的时序关系,也就是掌握了一些tokens之间的依赖关系

在实验方面,选用的模型是vicuna-7B/vicuna-13B和llama2-chat-7B和llama2-chat-13B,这是为了和eagle进行对比;对比的方法有标准投机解码、PLD、lookahead、medusa和eagle。

除了加速比的对比实验,还有对草稿序列的接受率和接收长度的对比,被对比的方法是medusa和eagle。

性能试验的评测数据集是MT-bench、HumanEval和GSM8K:

  • MT-bench,用于评估语言模型在多任务场景下的性能

    • 包含80个多轮对话,每个对话有两个问题,这些对话总共有八类,分别是:writing、roleplay、extraction、reasoning、math、coding、stem、humanities。

    • 评价指标有两种,一种是把一个模型的生成结果给gpt-4打分,给出一个1-10的得分;一种是比较两个模型的回答,由 GPT-4 判断哪个更好

    • 问答数据以及评估的代码:https://github.com/lm-sys/FastChat/tree/main/fastchat/llm_judge

    • 在线链接:https://huggingface.co/spaces/lmsys/mt-bench

  • HumanEval,用于评估代码生成模型的性能,评估指标是通过率(Pass@k),即生成的代码通过测试用例的比例

    • 链接:https://github.com/openai/human-eval

  • GSM8K,全称 Grade School Math 8K,包含 8,500 个小学水平的数学问题,目标是测试模型的数学推理能力

    • 链接:https://github.com/openai/grade-school-math

    • 根据每个题,模型得到一个solution,再得到一个answer,也就是一个数,作为结果

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

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

相关文章

鸿蒙UI(ArkUI-方舟UI框架)

参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/arkts-layout-development-overview-V13 ArkUI简介 ArkUI(方舟UI框架)为应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能&#xff…

TensorFlow Quantum快速编程(基本篇)

一、TensorFlow Quantum 概述 1.1 简介 TensorFlow Quantum(TFQ)是由 Google 开发的一款具有开创性意义的开源库,它宛如一座桥梁,巧妙地将量子计算与 TensorFlow 强大的机器学习功能紧密融合。在当今科技飞速发展的时代,传统机器学习虽已取得诸多瞩目成就,然而面对日益…

Qt天气预报系统获取天气数据

Qt天气预报系统获取天气数据 1、获取天气数据1.1添加天气类头文件1.2定义今天和未来几天天气数据类1.3定义一个解析JSON数据的函数1.4在mainwindow中添加weatherData.h1.5创建今天天气数据和未来几天天气数据对象1.6添加parseJson定义1.7把解析JSON数据添加进去1.8添加错误1.9解…

国产编辑器EverEdit - 扩展脚本:关闭所有未修改文档

1 扩展脚本:关闭所有未修改文档 1.1 应用场景 当用户打开过多文档时,部分文档已经修改,而大部分没有修改,为了减少在众多已打开文档中来回跳转的不便,可以将没有修改的文档全部关闭,但目前提供的快速关闭窗…

高斯函数Gaussian绘制matlab

高斯 约翰卡尔弗里德里希高斯,(德语:Johann Carl Friedrich Gau,英语:Gauss,拉丁语:Carolus Fridericus Gauss)1777年4月30日–1855年2月23日,德国著名数学家、物理学家…

dolphinscheduler2.0.9升级3.1.9版本问题记录

相关版本说明 JDK:JDK (1.8) DolphinScheduler :3.1.9 数据库:MySQL (8),驱动:MySQL JDBC Driver 8.0.16 注册中心:ZooKeeper (3.8.4) 问题一:dolphinscheduler2.0.9对应zk版本使用…

Sqoop1.4.7安装

环境说明 准备三台服务器,分别为:bigdata141(hadoop 主节点)、bigdata142、bigdata143确保 hadoop 集群先启动好,hadoop 版本为 3.2.0如果只安装不使用的话,以上可以暂时不用管另准备一台服务器&#xff0…

每日学习30分轻松掌握CursorAI:初识Cursor AI

初识Cursor AI 一、什么是Cursor AI? Cursor AI是一款革命性的AI驱动型代码编辑器,它将传统的代码编辑功能与先进的人工智能技术相结合。它不仅是一个编辑器,更是一个智能编程助手,能够帮助开发者提高编码效率,解决编…

小米路由器IPv6 功能使用指南

本文不限于多层路由使用IPv6 的情况,提供解决IPv6 无法获取的更硬核的方法,需要有ssh 工具。(无安卓设备,测试环境win、mac、ios) 首先明确一点,就是如果想让你的设备得到GUA 地址,即访问 6.i…

云商城--业务+架构学习和环境准备

云商城业务架构学习和环境准备 B2B:Business to Business,交易双方的身份都是商家,也就是商家将商品卖给商家,类似采购、批发类购物,国内代表性网站阿里巴巴批发网 C2C:Customer to Customer,…

机器视觉系统中的重要配件--棱镜

在一套机器视觉系统中,人们一直比较注中工业相机、工业镜头及光源等重要的视觉器件,而小配件通常被忽视,虽然只是配角,但是却起着重要作用。以下以茉丽特镜头为例。 在构建视觉系统当中,遇到某个方向空间不足时&#x…

软件系统安全逆向分析-混淆对抗

1. 概述 在一般的软件中,我们逆向分析时候通常都不能直接看到软件的明文源代码,或多或少存在着混淆对抗的操作。下面,我会实践操作一个例子从无从下手到攻破目标。 花指令对抗虚函数表RC4 2. 实战-donntyousee 题目载体为具有漏洞的小型软…

#渗透测试#网络安全# 一文了解什么是跨域CROS!!!

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…

ClickHouse vs StarRocks 选型对比

一、面向列存的 DBMS 新的选择 Hadoop 从诞生已经十三年了,Hadoop 的供应商争先恐后的为 Hadoop 贡献各种开源插件,发明各种的解决方案技术栈,一方面确实帮助很多用户解决了问题,但另一方面因为繁杂的技术栈与高昂的维护成本&…

Win11家庭版转专业版

Win11家庭版转专业版(亲测有效) 第一步 【断网】输入这个密钥: R8NJ8-9X7PV-C7RCR-F3J9X-KQBP6 第二步 点击下一步会自动重启 第三步 【联网】输入这个密钥: F3NWX-VFMFC-MHYYF-BCJ3K-QV66Y 注意 两次输入密钥的地方一致 …

IP 地址与蜜罐技术

基于IP的地址的蜜罐技术是一种主动防御策略,它能够通过在网络上布置的一些看似正常没问题的IP地址来吸引恶意者的注意,将恶意者引导到预先布置好的伪装的目标之中。 如何实现蜜罐技术 当恶意攻击者在网络中四处扫描,寻找可入侵的目标时&…

【Word_笔记】Word的修订模式内容改为颜色标记

需求如下:请把修改后的部分直接在原文标出来,不要采用修订模式 步骤1:打开需要转换的word后,同时按住alt和F11 进入(Microsoft Visual Basic for Appliations) 步骤2:插入 ---- 模块 步骤3&…

[0405].第05节:搭建Redis主从架构

Redis学习大纲 一、3主3从的集群配置: 1.1.集群规划 1.分片集群需要的节点数量较多,这里我们搭建一个最小的分片集群,包含3个master节点,每个master包含一个slave节点,结构如下: 2.每组是一主一从&#x…

科研绘图系列:R语言绘制分组箱线图(boxplot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据数据预处理画图输出系统信息介绍 科研绘图系列:R语言绘制分组箱线图(boxplot) 加载R包 library(ggpubr) library(ggplot2) library(tidyverse) # dev…

Hadoop - MapReduce编程

文章目录 前言一、创建mapreduce-demo项目1. 在idea上创建maven项目2. 导入hadoop相关依赖 二、MapReduce编程1. 相关介绍1.1 驱动类(Driver Class)1.1.1 驱动类的定义1.1.2 驱动类的功能1.1.3 驱动类的作用 1.2 Mapper1.2.1 Mapper 的定义1.2.2 Mapper …