Category: AGI

  • Embroid: 无标签纠正和改进语言模型预测

    在最近的研究中,一项名为”Embroid”的新技术引起了广泛关注。这项技术可以在没有标签的情况下,对大型语言模型(LLM)的预测进行纠正和改进。通过使用这种技术,我们可以提高LLM在各种自然语言处理任务中的性能,而无需依赖于标注数据。本文将逐步思考并详细解析Embroid技术的原理和应用。

    Embroid技术的原理

    Embroid技术的核心思想是利用嵌入空间的平滑性质来改进LLM的预测。嵌入空间是指模型如BERT中的向量表示空间,其中相似的样本在空间中的距离较近。Embroid利用这种平滑性质,通过比较LLM预测与其邻居预测的差异,来识别预测不一致的情况。然后,通过调整这些预测,使其与邻居的预测一致,从而提高整体的预测准确性。

    Embroid技术的应用

    Embroid技术在各种任务中都能够改进LLM的预测性能。例如,在GPT-JT模型上,Embroid技术在89.1%的情况下改进了预测结果,平均提升了7.3个F1分数。类似的改进效果也在GPT-3.5等API访问模型中观察到。

    此外,Embroid技术可以与不同的提示策略相结合,如AMA、chain-of-thought和demonstration-selection engineering,进一步提高性能。同时,通过选择适当的嵌入模型,Embroid技术可以定制到特定领域,例如使用HuggingFace上提供的法律嵌入模型,可以改进通用领域LLM的性能。

    总结

    Embroid技术是一种无标签纠正和改进LLM预测的新方法。通过利用嵌入空间的平滑性质,Embroid技术能够识别并纠正LLM预测中的不一致之处,从而提高预测的准确性。该技术在各种任务中都表现出良好的性能,并且可以与不同的提示策略和嵌入模型相结合,进一步提升性能。Embroid技术的出现为无标签数据的利用提供了新的可能性,为语言模型的发展带来了新的机遇。

  • Embroid: 无标签纠正和改进LLM预测

    近年来,人工智能领域取得了巨大的进展,其中包括了语言模型的发展。语言模型是一种能够理解和生成自然语言的模型,如BERT和GPT。然而,这些模型在进行预测时通常需要大量的标记数据来训练,这对于一些特定任务来说可能是一项耗时且昂贵的工作。

    幸运的是,研究人员提出了一种名为Embroid的方法,可以在没有标签数据的情况下改进和纠正语言模型的预测性能。Embroid利用了语言模型的嵌入空间的平滑性质,即在嵌入空间中相似的样本通常具有相同的标签。这意味着,如果一个样本的预测与其在嵌入空间中的最近邻的预测不一致,那么它很可能是错误的。

    那么,Embroid是如何工作的呢?首先,它使用语言模型作为分类器,通过提示来进行预测。这样,领域专家只需要花费时间编写提示,而不需要手动标记大量的数据。然而,设计有效的提示并不容易,微小的更改可能会对预测结果产生显著影响。

    接下来,Embroid利用嵌入空间的平滑性来检查语言模型的预测是否正确。如果一个样本的预测与其最近邻的预测不一致,那么它很可能是错误的。通过调整这些预测,使其与邻居的预测相匹配,Embroid可以提高整体的预测准确性。

    为了避免过度依赖单个嵌入空间,Embroid还进行了多个嵌入空间的比较。这样可以在不同模型的嵌入空间中找到更准确的预测结果。通过使用弱监督的方法,将多个嵌入空间的预测结果结合起来,Embroid生成了最终的纠正预测,而无需标记数据。

    研究人员进行了一系列实验证明,Embroid在各种任务上都能够改善原始提示的预测结果。无论是在GPT-JT还是GPT-3.5上,Embroid都能够显著提高预测的准确性。这项研究的结果为我们提供了一种无需标签数据就能改进和纠正语言模型预测的方法,为未来的研究和应用提供了新的思路。

    总之,Embroid是一种创新的方法,通过利用嵌入空间的平滑性来改进和纠正语言模型的预测性能。它不仅减少了手动标记数据的工作量,还提高了预测的准确性。这项研究的成果对于推动自然语言处理领域的发展具有重要意义,为我们在实际应用中更好地利用语言模型提供了新的可能性。

  • Embroid:无需标签纠正和改进LLM预测

    导语:
    在人工智能领域,研究人员一直在探索如何提高预测模型的准确性。最近,斯坦福大学、Anthropic和威斯康星大学麦迪逊分校的研究人员开发了一种名为Embroid的方法,可以在不使用标签的情况下纠正和改进LLM(语言模型)的预测。本文将详细解析Embroid方法的原理和应用。

    1. Embroid方法的原理:
      Embroid方法基于一种名为嵌入函数的计算方法,通过计算数据集在不同嵌入函数下的多个表示,并利用LLM的预测一致性来识别错误预测[1]。具体而言,Embroid方法通过将数据集输入LLM,得到预测结果。然后,通过计算不同嵌入函数下的数据集表示,可以得到多个表示。最后,利用LLM的预测一致性来识别错误预测,并进行纠正和改进。
    2. Embroid方法的应用:
      Embroid方法在不同任务上的性能提高了7.3个百分点至GPT-JT和4.9个百分点至GPT-3.5[1]。这意味着Embroid方法可以帮助改进LLM在各种任务中的预测准确性,从而提高人工智能系统的性能。例如,在自然语言处理任务中,Embroid方法可以帮助纠正和改进LLM对文本的情感分析、命名实体识别等预测。
    3. Embroid方法的优势:
      Embroid方法的优势在于不需要使用标签来进行训练和纠正。传统的方法通常需要大量标记好的数据集来训练模型,而Embroid方法可以通过利用LLM的预测一致性来纠正错误预测,从而避免了标签数据集的依赖。
    4. Embroid方法的意义:
      Embroid方法的出现对于解决标注数据集困难的问题具有重要意义。标注数据集的构建通常需要大量的时间和人力成本,而Embroid方法可以通过利用LLM的预测一致性来提高预测准确性,从而减少对标注数据集的依赖。这将为人工智能技术的发展提供更多的可能性。

    总结:
    Embroid方法是一种无需标签纠正和改进LLM预测的方法。通过计算不同嵌入函数下的数据集表示,并利用LLM的预测一致性来识别错误预测,Embroid方法可以提高人工智能系统在各种任务中的预测准确性。这一方法的出现对于解决标注数据集困难的问题具有重要意义,并为人工智能技术的发展带来更多的可能性。

    参考文献:
    [1] AI前沿速报0817:OpenAI首次公开收购 – 知乎
    [1] 研究人员开发出一种AI方法,可以自动纠正预测错误 – 知乎


    Learn more:

    1. ​AI前沿速报0817:OpenAI首次公开收购 – 知乎
  • FlashFFTConv:使用张量核心进行长序列高效卷积

    导语:本文将详细解析FlashFFTConv,一种使用张量核心进行长序列高效卷积的算法。我们将介绍FlashFFTConv的原理、优势以及应用领域。

    1. 引言

    卷积模型在处理长序列任务时展现出了出色的推理能力,例如长文本建模、音频分析和DNA建模等。然而,与经过优化的Transformer相比,卷积模型在计算时间上仍存在瓶颈。其中一个主要瓶颈是快速傅里叶变换(FFT)算法,该算法可以在O(NlogN)的时间复杂度内计算长卷积,但硬件利用率较低。为了解决这个问题,我们提出了FlashFFTConv算法,一种在GPU上高效计算FFT卷积的新算法[2]

    2. FlashFFTConv算法原理

    FlashFFTConv算法通过Monarch分解将FFT卷积的步骤融合在一起,并利用现代GPU上的张量核心进行计算。该算法的主要思想是将FFT分解为矩阵乘法操作,并在长序列情况下实现步骤的融合。具体而言,FlashFFTConv算法通过以下两个方面解决了FFT卷积的瓶颈[2]

    • 使用Monarch分解将FFT分解为矩阵乘法操作,从而可以利用张量核心进行计算。
    • 将多个FFT卷积步骤融合在一起,即使对于长序列也能高效计算。

    3. FlashFFTConv的优势

    FlashFFTConv算法相较于传统的FFT算法具有以下优势[2]

    • 高效利用现代GPU上的张量核心,加速卷积计算。
    • 在序列长度为2K时,FlashFFTConv开始与FlashAttention-v2性能相匹配,并在更长的序列上表现出色,最高可达到62%的MFU。
    • 相较于最优化的Transformer,FlashFFTConv在长序列卷积任务上具有更高的计算效率。

    4. FlashFFTConv的应用领域

    FlashFFTConv算法在以下领域具有广泛的应用前景[2]

    • 长文本建模:FlashFFTConv可以用于处理长文本序列,例如自然语言处理任务。
    • 音频分析:FlashFFTConv可以用于处理音频序列,例如语音识别和音乐生成等任务。
    • DNA建模:FlashFFTConv可以用于处理DNA序列,例如基因组学研究和生物信息学分析等任务。

    5. 结论

    FlashFFTConv是一种高效的卷积算法,通过利用张量核心和Monarch分解,可以加速长序列的卷积计算。该算法在长序列任务中具有广泛的应用前景,并在性能上超越了传统的FFT算法和优化的Transformer。我们期待看到FlashFFTConv在各个领域的进一步应用和发展。

    参考文献

    1. GitHub – HazyResearch/flash-fft-conv: FlashFFTConv
    2. FlashFFTConv: Efficient Convolutions for Long Sequences with Tensor Cores · Hazy Research

    Learn more:

    1. GitHub – HazyResearch/flash-fft-conv: FlashFFTConv
    2. FlashFFTConv: Efficient Convolutions for Long Sequences with Tensor Cores · Hazy Research
    3. FlashFFTConv: Efficient Convolutions for Long Sequences with Tensor Cores | OpenReview
  • 简单长卷积用于序列建模的详细解析

    在序列建模中,我们一直在研究如何获得良好的性能,并开发了新的系统技术和深度学习架构。今天,我们将介绍一个简单的基准线方法,它可以取得出人意料的好效果:只需使用与输入序列相同大小的长卷积!事实证明,我们只需要简单的正则化,卷积就可以与复杂的序列模型(如S4)在Long Range Arena和文本建模等基准测试中相媲美。[1]

    长卷积的正则化:
    我们首先提出了一个问题:如果将SSMs(State Space Models)替换为长卷积,会发生什么?代码非常简单,我们可以使用FFT卷积以O(NlogN)的时间复杂度计算长卷积(而不是PyTorch的Conv1D中的O(N^2))。然而,如果在Long Range Arena等基准测试上尝试这种方法,你会发现性能落后于SSMs。[1]

    为什么会这样呢?如果你可视化学习到的卷积核,你会发现一个潜在的答案:长卷积核非常不平滑和嘈杂!为了解决这个问题,我们发现只需应用一个简单的正则化操作——Squash操作——到卷积核权重上即可。这个操作非常简单,只需要一个超参数λ。如果在训练过程中应用这个操作,你会得到在时间域上更稀疏、在频率域上更平滑的卷积核。在Long Range Arena基准测试上,这个小改变就足以与SSMs的性能相匹配。[1]

    长卷积的应用:
    我们进一步评估了长卷积在图像分类、文本建模和脑fMRI分析等领域的性能,并发现长卷积在所有这些领域都表现出色。特别是在文本建模中,我们将H3层中的SSMs替换为卷积,发现这个新的H3-Conv模型在PILE数据集上的性能与H3相当,并且优于Transformers。[1]

    未来展望:
    我们的论文中还包括更多关于长卷积在其他领域的评估,例如图像分类和脑fMRI分析等有趣的应用。我们还开发了一些新的系统优化方法,以提高长卷积的运行时性能。此外,我们还发现了长卷积与Monarch矩阵理论之间的有趣联系,这使得我们可以在卷积中插入额外的参数,从而获得更好的质量。[1]

    结论:
    简单的长卷积在序列建模中表现出色,并且只需添加简单的正则化操作就可以与复杂的序列模型相媲美。这种方法在多个领域都取得了良好的结果,并且具有较高的运行时性能。我们对这些方向非常感兴趣,并且希望能够在开放的环境中进一步发展这些方法。[1]


    Learn more:

    1. Simple Long Convolutions for Sequence Modeling · Hazy Research
    2. Simple Hardware-Efficient Long Convolutions for Sequence Modeling | OpenReview
    3. GitHub – HazyResearch/safari: Convolutions for Sequence Modeling
  • RWKV-5详细解析:理解并行训练的RNN网络

    RWKV-5是一种可以并行训练的RNN网络,相较于基于Transformer的模型,它具有更低的自回归解码复杂度。本文将从多个角度详细解析RWKV-5模型,帮助读者更好地理解该模型的原理和应用

    一、RWKV-5模型的背景和意义
    1.1 Transformer模型的挑战 [1]

    • Transformer模型是一种革命性的神经网络架构,但在处理长序列时面临内存和计算复杂度的问题。
    • 复杂度与序列长度呈二次关系,限制了其在大语言模型中的应用。

    1.2 RWKV-5模型的优势 [1]

    • RWKV-5利用了循环神经网络的思想,重新构造了注意力机制,使得复杂度与序列长度之间呈线性关系。
    • 可以并行训练,提高了训练效率。
    • 更适应大语言模型的自回归解码推理。

    二、RWKV-5模型的核心思想
    2.1 注意力机制和循环神经网络的核心思想 [1]

    • 注意力机制:通过全局建模和并行计算,提高模型对长距离依赖关系的建模能力。
    • 循环神经网络:将时刻t的输出作为时刻t+1的输入,适用于自回归解码推理。

    2.2 RWKV-5模型中的AFT注意力机制 [1]

    • 将点积转化为张量积,带来了并行性。
    • 张量积建模相互作用,提高了模型的表达能力。

    三、RWKV-5模型的架构和设计
    3.1 RWKV-5的整体架构 [1]

    • 包括Time-Mix模块和Channel-Mix模块。
    • Time-Mix模块将循环神经网络思想融入AFT的注意力机制中。
    • Channel-Mix模块用于处理通道之间的信息交互。

    3.2 RWKV-5的位置编码设计 [1]

    • 位置编码用于表示输入序列中单词的位置信息。
    • RWKV-5采用了一种特殊的位置编码设计,具体细节可参考原论文。

    四、RWKV-5模型的应用领域

    • RWKV-5模型在大语言模型的自回归解码推理中具有广泛的应用前景。
    • 可以用于文本生成、机器翻译、语音识别等任务。

    结语:
    通过对RWKV-5模型的详细解析,我们了解到它是一种可以并行训练的RNN网络,相较于基于Transformer的模型具有更低的自回归解码复杂度。RWKV-5模型的核心思想是将循环神经网络和AFT注意力机制相结合,通过张量积建模相互作用,提高了模型的表达能力。该模型在大语言模型的自回归解码推理中具有广泛的应用前景。

    参考文献:
    [1] 小白视角解读RWKV论文模型 – 知乎
    [2] RWKV的RNN CNN二象性 – 知乎


    Learn more:

    1. 小白视角解读RWKV论文模型 – 知乎
    2. RWKV的RNN CNN二象性 – 知乎
    3. RWKV–一种具有Transformer级别LLM性能的RNN-腾讯云开发者社区-腾讯云

    RWKV:将循环神经网络的思想融入大语言模型

    近年来,Transformer 模型凭借其强大的自注意力机制在自然语言处理领域取得了巨大成功。然而,Transformer 的二次复杂度也带来了挑战,尤其是在处理长序列时,内存和计算成本会大幅增加。为了解决这个问题,RWKV 提出了一种新颖的架构,它将循环神经网络的思想融入到 Transformer 的注意力机制中,并实现了线性复杂度。

    一、引言:自回归任务与模型架构

    大语言模型的核心任务之一是自回归解码推理,即根据已有的文本序列预测下一个词语。传统的自回归模型主要分为两种架构:注意力机制和循环神经网络。注意力机制通过全局建模和并行计算,能够有效地捕捉长距离依赖关系,但其二次复杂度限制了其在长序列上的应用。循环神经网络则擅长处理序列信息,并具有线性复杂度,但其并行性较差,难以充分利用现代硬件资源。

    RWKV 旨在结合两种架构的优势,将循环神经网络的思想融入到 Transformer 的注意力机制中,从而实现高效的并行计算和对长距离依赖关系的有效建模。

    二、详解注意力机制:非自主提示与自主提示

    注意力机制源于生物学中的注意力现象,可以分为非自主性提示和自主性提示。非自主性提示是指外部刺激的特性和属性,例如明亮的颜色、突然的动作或突出的形状,它们会自动地吸引我们的注意力。自主性提示则指个体内部的因素,例如我们的意图、期望和目标,它们会引导我们的注意力。

    在注意力机制中,Query 代表自主性提示,Key 代表非自主性提示,Value 代表实际信息。注意力机制的过程可以理解为:根据 Query 与 Key 的相似度计算权重,并根据权重聚合 Value,从而选择性地关注重要的信息。

    经典的注意力机制公式如下:

    $$
    A^{t}{e^{n}tion}(q, K, V) = \frac{\sum{i=1}^{n}exp(q^{T}k_{i})v_{i}}{\sum_{i=1}^{n}exp(q^{T}k_{i})}
    $$

    其中,q 代表 Query,K 代表 Key,V 代表 Value,n 代表序列长度。公式表明,注意力机制通过计算 Query 与每个 Key 的内积,得到相似度分数,并将其作为权重来聚合 Value。

    三、详解循环神经网络:自回归模型与门控循环单元

    自回归模型是另一种处理序列信息的方法,它根据过去的信息预测当前的信息。门控循环单元 (GRU) 是循环神经网络的一种变体,它通过一系列门控单元来控制信息的流动和存储,能够选择性地更新隐藏状态,保留历史信息并捕捉长期依赖关系。

    GRU 单元包含两个关键的门控:更新门 (Update Gate) 和重置门 (Reset Gate)。更新门决定了隐藏状态的更新程度,重置门决定了之前的隐藏状态对当前时间步的影响程度。GRU 单元的公式如下:

    • 更新门:
      $$
      z_{t} = \sigma(W_{z} \cdot [h_{t-1}, x_{t}])
      $$
    • 重置门:
      $$
      r_{t} = \sigma(W_{r} \cdot [h_{t-1}, x_{t}])
      $$
    • 候选隐藏状态:
      $$
      \tilde{h}{t} = tanh(W{h} \cdot [r_{t} \odot h_{t-1}, x_{t}])
      $$
    • 最终的隐藏状态:
      $$
      h_{t} = (1-z_{t}) \odot h_{t-1} + z_{t} \odot \tilde{h}_{t}
      $$

    其中,$x_{t}$ 代表当前时间步的输入,$h_{t-1}$ 代表前一个时间步的隐藏状态,$W_{z}$、$W_{r}$ 和 $W_{h}$ 代表权重矩阵,$\sigma$ 代表 sigmoid 激活函数,$\odot$ 代表逐元素乘法。

    四、详解AFT中的注意力机制:张量积与并行性

    传统的注意力机制需要计算相似度矩阵,其复杂度与序列长度呈二次关系。AFT (Attention with Forget-Token) 提出了一种新的注意力机制,它将点积操作替换为张量积操作,从而降低了复杂度,并提高了并行性。

    AFT 的注意力机制公式如下:

    $$
    A^{t}{e^{n}tion}(q, K, V) = \sigma(q{n}) \odot g(K, V) = \sigma(q_{n}) \odot \sum_{i=1}^{n}exp(k_{i}) \odot v_{i}
    $$

    其中,$g(K, V)$ 代表对 Key 和 Value 进行加权聚合的结果,$\sigma$ 代表 sigmoid 激活函数。AFT 通过将 Key 和 Value 的加权聚合操作与 Query 的张量积操作分离,实现了线性复杂度,并提高了并行性。

    五、详解RWKV:融合循环神经网络思想的注意力机制

    RWKV 结合了注意力机制和循环神经网络的优势,它在 AFT 的基础上,引入了循环神经网络的思想,并实现了线性复杂度。RWKV 的核心思想是将每个时间步的隐藏状态作为下一个时间步的输入,从而实现对过去信息的有效利用。

    RWKV 的架构主要包含两个模块:Time-Mix 和 Channel-Mix。Time-Mix 模块根据当前时间步的输入和前一个时间步的隐藏状态,生成一个新的隐藏状态,并将其作为下一个时间步的输入。Channel-Mix 模块则将不同时间步的隐藏状态进行融合,得到最终的预测结果。

    5.1 详解RWKV架构:标记偏移与递归嵌套

    RWKV 的架构如图4所示,它包含多个 Time-Mix 模块和一个 Channel-Mix 模块。每个 Time-Mix 模块接收当前时间步的输入和前一个时间步的隐藏状态,并生成一个新的隐藏状态。这些隐藏状态之间存在着从左往右的传递,即引入了隐状态。

    RWKV 使用标记偏移 (token shift) 技术,将每个时间步的输出作为下一个时间步的输入,从而实现递归嵌套。标记偏移技术可以有效地利用过去的信息,并提高模型的性能。

    5.2 详解Time-Mix模块:可学习的位置编码与递归循环

    Time-Mix 模块的公式如下:

    • 接受向量:
      $$
      r_{t} = W_{r} \cdot (\mu_{r} x_{t} + (1-\mu_{r}) x_{t-1})
      $$
    • 键向量:
      $$
      k_{t} = W_{k} \cdot (\mu_{k} x_{t} + (1-\mu_{k}) x_{t-1})
      $$
    • 值向量:
      $$
      v_{t} = W_{v} \cdot (\mu_{v} x_{t} + (1-\mu_{v}) x_{t-1})
      $$
    • 加权聚合:
      $$
      w_{kv}^{t} = \frac{\sum_{i=1}^{t-1}exp(-(t-1-i)w + k_{i}) \odot v_{i} + exp(u + k_{t}) \odot v_{t}}{\sum_{i=1}^{t-1}exp(-(t-1-i)w + k_{i}) + exp(u + k_{t})}
      $$
    • 输出向量:
      $$
      o_{t} = W_{o} \cdot (\sigma(r_{t}) \odot w_{kv}^{t})
      $$

    其中,$w$ 和 $u$ 代表可学习的位置编码,$\mu$ 代表标记偏移,$W_{r}$、$W_{k}$、$W_{v}$ 和 $W_{o}$ 代表权重矩阵,$\sigma$ 代表 sigmoid 激活函数,$\odot$ 代表逐元素乘法。

    Time-Mix 模块通过将当前时间步的输入和前一个时间步的隐藏状态进行线性组合,并使用可学习的位置编码来控制不同时间步的信息的权重,从而实现对过去信息的有效利用。

    5.3 详解Channel-Mix模块:融合不同时间步的信息

    Channel-Mix 模块的公式如下:

    • 接受向量:
      $$
      r_{t} = W_{r} \cdot (\mu_{r} x_{t} + (1-\mu_{r}) x_{t-1})
      $$
    • 键向量:
      $$
      k_{t} = W_{k} \cdot (\mu_{k} x_{t} + (1-\mu_{k}) x_{t-1})
      $$
    • 输出向量:
      $$
      o_{t} = \sigma(r_{t}) \odot (W_{v} \cdot max(k_{t}, 0)^{2})
      $$

    Channel-Mix 模块通过将不同时间步的隐藏状态进行融合,得到最终的预测结果。它使用一个类似遗忘门的操作,丢弃不必要的历史信息,并保留重要的信息。

    六、讨论:RWKV 的优势与挑战

    RWKV 模型结合了注意力机制和循环神经网络的优势,它能够有效地捕捉长距离依赖关系,并实现线性复杂度。RWKV 的优势主要体现在以下几个方面:

    • 高效的并行计算: RWKV 利用张量积操作,将注意力机制的复杂度降低到线性级别,并提高了并行性。
    • 对长距离依赖关系的有效建模: RWKV 通过引入循环神经网络的思想,能够有效地利用过去的信息,并捕捉长距离依赖关系。
    • 灵活的架构: RWKV 的架构灵活,可以根据不同的任务和数据进行调整。

    然而,RWKV 也面临一些挑战:

    • 缺乏长期依赖信息: RWKV 模型可能会拥有传统循环神经网络的通病,缺乏长期依赖信息。
    • 标记偏移的计算: RWKV 的计算公式中的标记偏移 $\mu$ 的作用尚未完全清楚,论文中也没有给出它的计算公式。
    • Time-Mix 模块的公式: Time-Mix 模块的公式需要进一步完善,并使用张量积表示。

    总而言之,RWKV 是一种很有潜力的模型,它将循环神经网络的思想融入到 Transformer 的注意力机制中,并实现了线性复杂度。随着研究的不断深入,RWKV 有望在自然语言处理领域发挥更大的作用。

    参考文献

  • 探索Zephyr-7B-β:一款掀起LLM新浪潮的强大语言模型

    大家好,今天我要向你们介绍一个在人工智能领域中备受瞩目的明星——Zephyr-7B-β,这是一款性能高超的大型语言模型(LLM)。它的出现不仅改变了我们对AI的认知,更为我们的日常生活带来了无尽的可能。

    Zephyr-7B-β是Zephyr系列的第二个模型,是基于Mistralai/Mistral-7B-v0.1并使用直接偏好优化(DPO)在公开可用的合成数据集上进行训练的微调版本。这款模型在发布时,在MT-Bench和AlpacaEval基准上的表现已经超越了许多其他同类产品,堪称7B类的聊天模型中的佼佼者。

    Zephyr-7B-β:小巧却强大

    虽然Zephyr-7B-β在模型大小上只有7B参数类似GPT的模型,但它在公开可用的合成数据集上进行微调后的性能却令人惊叹。特别是在MT-Bench的多个类别上,与Llama2-Chat-70B等较大的开放模型相比,Zephyr-7B-β具有较强的性能。

    然而,无论任何事物都不可能完美,对于更复杂的任务,如编码和数学等,Zephyr-7B-β的表现仍有待提升。它在这些方面的表现暂时无法与更专业的模型相比,但我们相信,随着研究的深入,这种差距会逐步缩小。

    Zephyr-7B-β:更多的可能性

    Zephyr-7B-β最初是在经过过滤和预处理的UltraChat数据集上进行微调的,这个数据集包含了由ChatGPT生成的各种合成对话。随后,我们在openbmb/UltraFeedback数据集上进一步将模型与TRL的DPOTrainer对齐。这个数据集包含了按GPT-4排名的64k个提示和模型完成情况。

    这就意味着,Zephyr-7B-β可以用于聊天,你可以查看我们的演示来测试其功能。同时,这款模型的代码已经在GitHub上开放,对于有兴趣的同学,可以自行下载研究。

    Zephyr-7B-β:未来的挑战

    然而,我们也需要看到,尽管Zephyr-7B-β的表现在许多方面都非常出色,但它也存在一些问题。例如,它尚未通过RLHF等技术与人类偏好保持一致,也未通过ChatGPT等响应的循环过滤进行部署,因此该模型可能会产生有问题的输出,特别是在提示时。

    此外,尽管我们知道用于训练Zephyr-7B-β的数据集主要包含了由ChatGPT生成的各种合成对话,但我们仍然不清楚用于训练基本模型(mistralai/Mistral-7B-v0.1)的语料库的大小和组成。这些问题都是我们在未来需要解决的挑战。

    Zephyr-7B-β的出现,无疑为我们展示了大型语言模型的强大潜力。通过不断的研究和改进,我们有理由相信,未来的Zephyr系列将会带给我们更多的惊喜~

  • 一次神奇的AI旅程:Zephyr-7B模型与Lora训练

    大家好,今天我要给大家分享的是关于神奇的Zephyr-7B模型和Lora训练的故事。这是一次跨越三大洲的合作,让我们一起探索这个令人兴奋的AI世界。

    Zephyr:直接蒸馏语言模型对齐

    在 AI 的世界中,出现了一款名为 Zephyr-7B 的模型,它的出现可谓是一次划时代的突破。那么,Zephyr-7B 是如何诞生的呢?

    几个月之前,一个位于巴黎的团队发布了他们的第一个模型:Mistral 7B。这个模型虽然体积小巧,但性能强大,在基准测试中超过了所有同类模型,更令人振奋的是,这是一个开源项目。

    然后,Hugging Face H4团队的两名成员在一次小聚中,讨论了使用斯坦福大学新发表的 DPO 方法对 Mistral 7B 这个模型进行微调的可能性。他们在 HF hub 上找到了一些公开的数据集,包括由面壁智能和清华大学 NLP 共同支持的 OpenBMB 开源的两个大规模、高质量的微调数据集:UltraFeedback 和 UltraChat。

    UltraFeedback 是一个大规模、多样化、细粒度 的偏好数据集。UltraChat 则是高质量的对话数据集,包含了 150 余万条多轮指令数据。

    经过几轮实验,使用 OpenBMB 两个数据集训练出来的新模型非常强大,是 H4 团队在伯克利和斯坦福的基准测试中见过的最强模型,并在之后被命名为 Zephyr模型。Zephyr-7B-alpha 的 MT-Bench 平均得分7.09,超越了 Llama2-70B-Chat。

    这引发了一个重要的思考:一个基于高质量数据集的 7B 模型竟然打败了参数十倍之大的 LLaMA2-70B-Chat,这说明了什么?这说明,底层的数据工作才是最稀缺的和有时间价值的,这或许是各家各派大模型在百模大战中的突破口之一。

    然后我们看到,Zephyr的优秀性能还得归功于使用了由斯坦福大学和CZ Biohub不久前合作提出的 DPO 方法。与传统的 PPO 强化学习方法不同,DPO 方法舍弃了强化学习,要比 PPO 稳定得多。

    DPO的简单解释是:它绕过了建模奖励函数,相当于直接在偏好数据上优化模型,它解决了人类反馈的强化学习训练难、训练成本高的问题。

    Zephyr-7B-beta的变革

    进一步的,开发二代模型 Zephyr-7B-beta 时,团队思考了大模型所用的蒸馏监督微调(dSFT)。然而,用这种方法模型是不对齐的,不能很好地生成符合用户意图的输出。

    所以,团队尝试使用AI反馈(AI Feedback,AIF)的偏好数据,用一个“教师模型”对输出进行排名,形成一个数据集,然后应用蒸馏直接偏好优化(dDPO)进行训练。这样,训练出的模型就能更好地对齐用户的意图,生成更好的输出。

    Zephyr-7B-beta的测试数据也验证了这种方法的有效性。比对7B版本的模型,这款新模型在MT-Bench上的平均得分达到了7.18,几乎是目前所有模型中的最高分。

    低成本训练Zephyr

    接下来,我们来看看如何用低成本的方式训练Zephyr。这里就要提到一个名为”alignment-handbook”的项目。

    “alignment-handbook”是一个非常实用的项目,为大家提供了全面的训练步骤,包括环境配置、SFT训练、DPO训练等。通过这个指南,你可以方便地在自己的电脑上完成训练。

    使用SFT训练,我们可以在预训练模型的基础上进行微调,以达到我们期望的效果。而DPO训练则可以直接在偏好数据上优化模型。这两种训练方法都非常高效,可以在短时间内得到高质量的模型。

    Lora训练

    最后,我要与大家分享的是Lora训练。Lora是一种新的训练方法,通过给模型添加一些额外的参数,可以让模型的性能得到进一步的提升。

    Lora训练虽然需要额外的计算资源,但它可以显著提高模型的性能。所以,如果你有足够的计算资源,我强烈推荐你尝试使用Lora训练。

    总结

    在这篇文章中,我向大家介绍了Zephyr-7B模型和Lora训练的神奇故事。希望通过这个故事,你能感受到AI技术的魅力,也希望你能够通过学习和实践,将这些技术应用到你的工作和生活中,让AI技术为你带来更多的便利和乐趣。

    在未来的日子里,我相信我们会看到更多的突破和创新。让我们期待这个未来,一起探索这个充满无限可能的AI世界。

  • 弥合神经辐射场之间的差距 采用渐进式体积蒸馏的架构

    神经辐射场 (NeRF) 方法已被证明是 3D 场景的紧凑、高质量和多功能表示,并支持编辑、检索、导航等下游任务。各种神经架构都在争夺NeRF的核心结构,包括普通的多层感知器(MLP)、稀疏张量、低秩张量、哈希表及其组成。这些表示形式中的每一种都有其特定的权衡。例如,基于哈希表的表示允许更快的训练和渲染,但它们缺乏明确的几何含义,阻碍了下游任务,如空间关系感知编辑。在本文中,我们提出了渐进式体积蒸馏(PVD),这是一种系统的蒸馏方法,允许不同架构之间的任意转换,包括MLP、稀疏或低秩张量、哈希表及其组成。因此,PVD 使下游应用程序能够以事后方式对手头的任务进行最佳调整神经表示。转换速度很快,因为蒸馏是在不同级别的体积表示上逐步进行的,从浅到深。我们还采用了特殊的密度处理来处理其特定的数值不稳定问题。在NeRF-Synthetic、LLFF和TanksAndTemples数据集上验证了我们的方法。例如,使用 PVD,可以从基于哈希表的 Instant-NGP 模型中提炼出基于 MLP 的 NeRF 模型,其速度比从头开始训练原始 NeRF 快 10 倍~20 倍,同时实现卓越的合成质量水平。代码可在 https://github.com/megvii-research/AAAI2023-PVD 上获得。


    Key Points

    • 1. Novel view synthesis (NVS) 是一种生成 photo realistic 2D 图像的技术,用于三维场景的未知视角。NVS 已在渲染、定位和机器人手臂操作等领域得到广泛应用。最近开发的神经辐射场(NeRF)提供了神经建模能力。

      2. NeRF 可以显著提高 NVS 的质量,利用多层感知器(MLP)的强大泛化能力。采用特征张量作为辅助的显性表示,以减轻 MLP 记住场景所有细节,从而实现更快的训练速度和更灵活的几何结构操作。

      3. 特征张量过大导致寻找更紧凑表示的需求。TensorRF 等方法利用 VM(向量 – 矩阵)分解和序数分解(CPD)等方法实现特征张量的有效压缩。

      4. 所有这些方案都有其优缺点。一般来说,使用隐性表示更容易对场景进行纹理编辑和动态场景建模。但使用显性或混合表示通常具有更快的训练速度,能更好地处理几何上的编辑。

      5. 由于 NVS 的下游任务多样性,没有单一的最佳表示。选择特定的表示取决于具体的应用场景和可用的硬件计算能力。

      6. 在本文中,我们提出了一种方法,可以在已知的 NeRF 架构之间实现任意转换,包括 MLP、稀疏张量、低秩张量、哈希表以及它们的组合。这种灵活的转换可以带来以下优点:深入了解 NeRF 中丰富且不断发展的架构体系结构,消除给设计带来的负担,适应训练好的模型以满足未来可能发现的应用场景需求。

      7. PVD(渐进体积蒸馏)是一种在不同体积表示水平上操作的蒸馏方法,特别关注密度体积以获得更好的数值稳定性。PVD 能够实现不同 NeRF 架构之间的任何-to-any 转换,包括 MLP、稀疏张量、低秩张量和哈希表架构。

      8. Neural implicit representation 方法使用 MLP 从坐标空间构建 3D 场景,如 NeRF 所提出(Mildenhall 等人,2020)。MLP 的输入是 5D 坐标,输出是体积密度和视相关颜色。

      9. 隐含建模的优点是,表示有助于控制或更改场景的类似属性。Kobayashi、Matsumoto 和 Sitzmann 使用预训练的 CLIP 模型(Radford 等人,2021)。

      10. Explicit representations 将场景直接放置在 3D 格中(巨大的张量)。NVS 领域已经进行了多次尝试。Barron 等人提出了一种方法。

      11. 我们试图在不同的 NeRF 架构之间实现相互转换。由于架构数量不断增加,我们不试图逐个实现这些转换。相反,我们首先将典型架构以统一的形式表示,然后根据统一视图设计一种基于统一视图的蒸馏方案。

      12. 我们得出的公式包括像 NeRF 中的 MLP 这样的隐含表示、像 Plenoxels 中的稀疏张量这样的显式表示,以及两种混合表示:哈希表(INGP)和低秩张量(TensorRF 中的 VM 分解)。

      13. 一旦形成,这些架构及其组合之间的任何-to-any 转换都是可能的。

      14. 接下来,我们将简要介绍一些基础知识,然后详细介绍我们的方法。

      15. NeRF 用一个隐函数将空间点 x = (x, y, z) 和视方向 d = (θ, φ) 映射到密度σ和颜色 c。对于沿光线方向 r 从点 o 出发的相应像素的 RGB 值ŷ(r),通过 color c i 和空间点 x i = o + t i d 沿着光线采样得到:其中 T i = exp(-i-1j=1σiδi),δi 是相邻样本之间的距离。

      16. 张量和张量低秩表示。Plenoxels 通过显式网格(张量)直接表示 3D 场景(Fridovich-Keil 等人,2022)。每个网格点都存储密度和球面谐波(SH)系数。颜色 c 根据 SH 和观察方向 d 计算。

    Related Work

    • 1. Novel view synthesis (NVS) 生成 photo realistic 2D 图像,用于三维场景的未知视角(周等人,2018 年; 坎等人,2021 年; 西特曼,祖豪费和威斯坦,2019 年 a),并在渲染、定位和机器人手臂操作(Adamkiewicz 等人,2022 年; Moreau 等人,2022 年; Peng 等人,2021 年)等领域具有广泛的应用,特别是最近开发的神经辐射场(NeRF)提供了神经建模能力。
      2. 利用多层感知器(MLP)的强大泛化能力,NeRF 可以显著提高 NVS 的质量。
      3. 采用特征张量作为辅助的显性表示,以减轻 MLP 记住场景所有细节,从而实现更快的训练速度和更灵活的几何结构操作。
      4. 特征张量过大导致寻找更紧凑表示的需求,如 TensorRF(Chen 等人,2022 年)利用 VM(向量 – 矩阵)分解和序数分解(CPD),Fridovich-Keil 等人利用张量的稀疏性,而 INGP(Müller 等人,2022 年)利用多级哈希表实现特征张量的有效压缩。
      5. 所有这些方案都有其优缺点。一般来说,使用隐性表示更容易对场景进行纹理编辑(例如颜色、照明变化和变形等),艺术的风格化和动态场景建模(Tang 等人,2022 年; Kobayashi,Matsumoto 和 Sitzmann,2022 年; Pumarola 等人,2021 年; Gu 等人,2021 年; Zhan 等人,2021 年)。
      6. 然而,使用显性或混合表示通常具有更快的训练速度,因为它们具有更浅层的表示,能更好地处理几何上的编辑,例如场景的合并和其他操作,与纯隐性表示的情况形成鲜明对比。
      7. 由于 NVS 的下游任务多样性,没有单一的最佳表示。选择特定的表示取决于具体的应用场景和可用的硬件计算能力。
      8. 在本文中,我们从另一个角度处理这个问题。我们提出了一种方法,可以在已知的 NeRF 架构之间实现任意转换,包括 MLP、稀疏张量、低秩张量、哈希表以及它们的组合。这种灵活的转换可以带来以下优点。首先,该研究将深入了解 NeRF 中丰富且不断发展的架构体系结构。其次,这种转换消除了在事先确定架构之前给设计带来的负担,因为现在他们可以只需适应训练好的模型以满足未来可能发现的应用场景需求。最后,在教师和学生具有不同属性的情况下,可以利用这种辅助优势。例如,当使用具有哈希表的教师模型蒸馏学生模型的显性表示时,现在可以从教师的速度中受益,同时仍然生成具有清晰几何结构的学

    Method

    • 作者通过以下方法取得结果:

      1. 利用 Novel view synthesis (NVS) 生成 photo realistic 2D 图像,用于三维场景的未知视角,并在渲染、定位和机器人手臂操作等领域具有广泛的应用。
      2. 利用多层感知器 (MLP) 的强大泛化能力,显著提高 NVS 的质量。
      3. 采用特征张量作为辅助的显性表示,以减轻 MLP 记住场景所有细节,从而实现更快的训练速度和更灵活的几何结构操作。
      4. 特征张量过大导致寻找更紧凑表示的需求,如 TensorRF(Chen 等人,2022 年) 利用 VM(向量 – 矩阵) 分解和序数分解 (CPD),Fridovich-Keil 等人利用张量的稀疏性,而 INGP(Müller 等人,2022 年) 利用多级哈希表实现特征张量的有效压缩。
      5. 所有这些方案都有其优缺点。一般来说,使用隐性表示更容易对场景进行纹理编辑 (例如颜色、照明变化和变形等),艺术的风格化和动态场景建模 (Tang 等人,2022 年; Kobayashi,Matsumoto 和 Sitzmann,2022 年; Pumarola 等人,2021 年; Gu 等人,2021 年; Zhan 等人,2021 年)。
      6. 然而,使用显性或混合表示通常具有更快的训练速度,因为它们具有更浅层的表示,能更好地处理几何上的编辑,例如场景的合并和其他操作,与纯隐性表示的情况形成鲜明对比。
      7. 由于 NVS 的下游任务多样性,没有单一的最佳表示。选择特定的表示取决于具体的应用场景和可用的硬件计算能力。
      8. 在本文中,作者提出了一种方法,可以在已知的 NeRF 架构之间实现任意转换,包括 MLP、稀疏张量、低秩张量、哈希表以及它们的组合。这种灵活的转换可以带来以下优点。首先,该研究将深入了解 NeRF 中丰富且不断发展的架构体系结构。其次,这种转换消除了在事先确定架构之前给设计带来的负担,因为现在他们可以只需适应训练好的模型以满足未来可能发现的应用场景需求。最后,在教师和学生具有不同属性的情况下,可以利用这种辅助优势。
      9. 作者还提出了一种方法,称为 PVD(渐进体积蒸馏),用于在不同体积表示水平上操作的蒸馏方法,特别关注密度体积以获得更好的数值稳定性。PVD 能够实现不同 NeRF 架构之间的任何-to-any 转换,包括 MLP、稀疏张量、低秩张量和哈希表架构。这是第一个系统尝试这种转换。
      10. 作者还提出了一种基于统一视图的蒸馏方案,可以在不同的 NeRF 架构之间实现相互转换。作者得出的公式包括像 NeRF 中的 MLP 这样的隐含表示、像 Plenoxels 中的稀疏张量这样的显式表示,以及两种混合表示:哈希表 (INGP) 和低秩张量 (TensorRF 中的 VM 分解)。
      11. 一旦形成,这些架构及其组合之间的任何-to-any 转换都是可能的。
      12. 接下来,作者简要介绍了一些基础知识,然后详细介绍了他们的方法。

    Result

    • 实验结果:

      1. 利用 Novel view synthesis (NVS) 生成了 photo realistic 2D 图像,用于三维场景的未知视角,并在渲染、定位和机器人手臂操作等领域具有广泛的应用。
      2. NeRF 可以显著提高 NVS 的质量,同时采用特征张量作为辅助的显性表示,以减轻 MLP 记住场景所有细节,从而实现更快的训练速度和更灵活的几何结构操作。
      3. 特征张量过大导致寻找更紧凑表示的需求,如 TensorRF(Chen 等人,2022 年)利用 VM(向量 – 矩阵)分解和序数分解(CPD),Fridovich-Keil 等人利用张量的稀疏性,而 INGP(Müller 等人,2022 年)利用多级哈希表实现特征张量的有效压缩。
      4. 所有这些方案都有其优缺点。一般来说,使用隐性表示更容易对场景进行纹理编辑(例如颜色、照明变化和变形等),艺术的风格化和动态场景建模(Tang 等人,2022 年; Kobayashi,Matsumoto 和 Sitzmann,2022 年; Pumarola 等人,2021 年; Gu 等人,2021 年; Zhan 等人,2021 年)。
      5. 然而,使用显性或混合表示通常具有更快的训练速度,因为它们具有更浅层的表示,能更好地处理几何上的编辑,例如场景的合并和其他操作,与纯隐性表示的情况形成鲜明对比。
      6. PVD(渐进体积蒸馏)是一种在不同体积表示水平上操作的蒸馏方法,从浅到深,特别关注密度体积以获得更好的数值稳定性。
      7. PVD 能够实现不同 NeRF 架构之间的任何-to-any 转换,包括 MLP、稀疏张量、低秩张量和哈希表架构。这是第一个系统尝试这种转换。
      8. Neural implicit representation 方法使用 MLP 从坐标空间构建 3D 场景,如 NeRF 所提出(Mildenhall 等人,2020)。
      9. MLP 的输入是 5D 坐标(空间位置 [x, y, z] 和查看方向 [θ, φ],输出是体积密度和视相关颜色)。
      10. 隐含建模的优点是,表示有助于控制或更改场景的类似属性。
      11. Kobayashi、Matsumoto 和 Sitzmann 使用预训练的 CLIP 模型(Radford 等人,2021)。
      12. explicit representations 将场景直接放置在 3D 格中(巨大的张量)。
      13. 在不同的 NeRF 架构之间实现相互转换。由于架构数量不断增加,我们不逐个实现这些转换。相反,我们首先将典型架构以统一的形式表示,然后根据统一视图设计一种基于统一视图的蒸馏方案。
      14. 我们得出的公式包括像 NeRF 中的 MLP 这样的隐含表示、像 Plenoxels 中的稀疏张量这样的显式表示,以及两种混合表示:哈希表(INGP)和低秩张量(TensorRF 中的 VM 分解)。
      15. 一旦形成,这些架构及其组合之间的任何-to-any 转换都是可能的。

    Conclusion

    • 1. 作者在这篇论文中得到的主要结论如下:
      * Novel view synthesis (NVS) 技术可以生成 photo realistic 2D 图像,用于三维场景的未知视角,并在渲染、定位和机器人手臂操作等领域具有广泛的应用。
      * NeRF 模型可以显著提高 NVS 的质量,而采用特征张量作为辅助的显性表示可以减轻 MLP 的记忆场景所有细节,从而实现更快的训练速度和更灵活的几何结构操作。
      * 特征张量过大导致寻找更紧凑表示的需求,因此作者提出了一些方法,如 TensorRF,利用 VM(向量 – 矩阵)分解和序数分解实现特征张量的有效压缩。
      * 所有这些方案都有其优缺点。一般来说,使用隐性表示更容易对场景进行纹理编辑和艺术的风格化和动态场景建模。
      * 然而,使用显性或混合表示通常具有更快的训练速度,因为它们具有更浅层的表示,能更好地处理几何上的编辑。
      * 选择特定的表示取决于具体的应用场景和可用的硬件计算能力。
      * 该论文提出了一种方法,可以在已知的 NeRF 架构之间实现任意转换,包括 MLP、稀疏张量、低秩张量、哈希表以及它们的组合。
      * 这种灵活的转换可以带来以下优点:深入了解 NeRF 中丰富且不断发展的架构体系结构,消除给设计带来的负担,适应训练好的模型以满足未来可能发现的应用场景需求。
      * 作者还提出了一种 PVD(渐进体积蒸馏)方法,可以在不同体积表示水平上操作的蒸馏方法,以获得更好的数值稳定性。
  • 在少样本学习中双曲与欧几里得嵌入

    最近在表示学习领域的研究表明,层次数据在双曲空间中可以得到低维且高度信息丰富的表示。 然而,尽管在图像识别中双曲嵌入已经引起了人们的关注,但它们的优化仍然容易受到数值障碍的影响。 此外,与传统欧氏特征相比,尚不清楚哪些应用最有可能从双曲性所施加的隐式偏差中受益。 在本文中,我们关注原型双曲神经网络。 特别地,高维空间中双曲嵌入趋向于收敛到Poincaré球体的边界,以及这对少样本分类的影响。 我们发现,在公共双曲半径下的双曲嵌入可以获得最佳少样本结果。 与之前的基准结果相比,我们证明了使用欧氏度量的固定半径编码器可以实现更好的性能,而不管嵌入维数如何。


    • 重点:
      1. 超球面(hyperbolic space)与欧氏空间(Euclidean space)相似,但曲率不同。
      2. 超球面存在多种同形模型,其中最常见的模型是超球面(hyperboloid)和波恩卡雷球(Poincaré ball)。
      3. 在机器学习中,超球面模型最常见的应用是波恩卡雷球模型。
      4. 波恩卡雷球模型可以从一个超球面模型(hyperboloid model)得到。
      5. 在本文中,我们将使用波恩卡雷球模型,该模型可以从超球面模型(hyperboloid model)得到。
      6. 考虑 Minkowski 空间 Rd,1={x=(x1, …, xd+1)∈Rd×R},以及双线性形式(Lorentz 伪标量)L⟨x, x⟩。
      7. L 形式在 Rd,1 上不是正定,但在 d-hyperboloid 上半平面内的曲率 k<0 时,是正定的。
      8. 我们可以通过包容映射ϕ将波恩卡雷球模型从超球面模型得到。
      9. 波恩卡雷球模型在原点处的指数映射是 TPd k → Pd k。
      10. 这使得我们可以将欧氏空间的神经网络转换为超球空间的神经网络。
      11. 在波恩卡雷球模型中,从任何∈Pd k 的 x 和 y 之间的最短路径距离可以通过计算 Pincaré球(Poincaré ball)得到。
      12. Ressler 等人提出的剪枝策略包括为 f(x; θ) 设置最大幅度 c,将波恩卡雷球缩小到半径为 c 的球中。
      13. 在训练过程中,对于合适的损失函数 L,以及 z := h(x; θ)∈Pd k,可以对欧氏梯度∇z L 进行反向传播(见 [13] 的实现),或者将其转换为 Riemannian 梯度通过反比例缩放 grad z L = λ(z) -2 ∇z L(z),如 [12] 中所示。