0%

搜索系统的评估和调优很大程度上依赖于相关性标签——这些标签标注了某个文档对特定搜索和搜索者是否有用。理想情况下,这些标签来自真实的搜索用户,但要大规模收集这些数据非常困难,所以典型的实验依赖于第三方标注人员,但他们也可能产生不准确的标注。标注质量一般通过持续的审核、培训和监控来管理。

微软(Bing搜索组)在SIGIR'24提出了一种“反其道而行之”的方法:从真实的用户获取反馈,并利用这些反馈来选择一个与之相符的LLM及其提示词,然后令该LLM大规模地产生标签。实验表明,LLM的准确性与人工标注者相当,并且在找到最佳系统和最难的查询方面同样有用。

[SIGIR2024] # Large Language Models can Accurately Predict Searcher Preferences

大语言模型在各种与语言相关的任务中表现出了显著的零样本泛化能力,包括搜索引擎。然而,现有的工作主要利用LLM的生成能力进行信息检索,而不是直接进行段落排序。这篇EMNLP2023的论文(Outstanding Paper)研究了LLM是否擅长搜索排序的问题。

# Is ChatGPT Good at Search? Investigating Large Language Models as Re-Ranking Agents

之前写过深度检索模型的介绍: # 深度文本检索模型:DPR, PolyEncoders, DCBERT, ColBERT ,今天来看看DeepMind在NeurIPS 2024上的文章,对多向量检索模型(Multi-Vector Retrieval)ColBERT进行了改进:

Rethinking the Role of Token Retrieval in Multi-Vector Retrieval

多向量检索模型由于使Query与Doc进行词元级别的交互,因此在许多信息检索基准测试中达到了SOTA。然而,其非线性评分函数无法扩展到数百万个文档,这就需要一个三阶段的推理过程:通过词元检索检索初始候选,访问所有词元向量,并对初始候选文档进行评分。非线性评分函数应用于每个候选文档的所有词元向量,使得推理过程复杂且缓慢。XTR 引入了新的目标函数,鼓励模型首先检索最重要的文档词元,对词元检索的改进使得 XTR 可以仅使用检索到的词元来对候选文档排序,而不是文档中的所有词元,因此其成本比 ColBERT 低两到三个数量级。在流行的 BEIR 基准测试中,XTR 在没有任何蒸馏的情况下,将 NDCG@10 提升了 2.8。

主要改进点:

  • 仅使用检索到的doc token而非全部doc token进行相似度计算
  • 解决了检索训练和推理之间的gap

最近读到一篇有趣的文章,讨论了当前许多新的AI搜索产品是否会取代Google:

Here’s why AI search engines really can’t kill Google

先简要地看下这篇文章在说什么:

如果要取代Google,那么这些新的产品必须可以完成Google能做的所有事情。于是,作者先收集了Top100的Google搜索查询,然后将它们输入到当前最好的一些AI搜索产品中。作者认为,虽然在某些情况下,基于LLM的搜索比一页Google搜索结果有用,但在大多数情况下,AI搜索取代Google还是相当困难的。

没想到浓眉大眼的Office Word居然还有这种Bug:在追踪修订时,通配符不能正确替换。

在处理一个大型文档时,需要批量将英文括号替换成中文括号,因此需要使用到通配符替换:

1
2
3
Find What: \((*)\)
Options: Use Wildcards
Replace With: (\1)

预期行为是:将“(abc)”替换为“(abc)”,却没料到被替换成了“abc()”。

最早听说语言模型的本质是压缩器的想法是在 黄仁勋和Ilya的围炉对谈 ,当时只是直觉上觉得这个说法很有意思,但却没想明白原理是什么。2023年9月,DeepMind写论文进一步论证了语言建模与压缩的等价性:

# Language Modeling Is Compression

长期以来,人们已经确认预测模型可以转化为无损压缩器,反之亦然。值得注意的是,近年来,机器学习领域一直专注于训练规模越来越大且功能强大的自监督语言模型。由于这些大语言模型展示了很强的预测能力,它们自然而然地也被认为是强大的压缩器。文中研究者主张通过压缩的视角来审视预测问题,并依此评估大型基座模型的压缩能力。实验证明大语言模型也是强大的通用预测器,语言模型即压缩的视角为扩展定律和上下文学习提供了新的见解。例如,Chinchilla 70B虽然主要用文本训练,但却能将ImageNet patches和LibriSpeech样本压缩到其原始大小的43.4%和16.4%,分别超过了领域特定的压缩器,如PNG(58.5%)和FLAC(30.3%)。最后,研究者证实基于预测与压缩的等价性可以使用任何压缩器来构建条件生成模型。

本文试图用简洁的语言(无公式)来说明“语言建模即压缩”的思想。原论文的思路是借助算术编码的原理和过程,然后将语言模型建模的过程与算术编码过程进行映射并证明它们等价。这个思路有些类似于NP难问题的证明:将一个问题在多项式时间归约成已知的某个NP难问题。

“涌现能力”可谓是大模型的神来之笔:这些能力在小规模模型中不存在,而仅在大规模模型中存在。涌现能力的神奇之处就在于两点:第一,锐利性,似乎它们瞬间从不存在变为存在;第二,不可预测性,不知道在什么规模的模型上就突现了。

涌现能力相关的讨论在大模型出圈之后一直被津津乐道,尤其是在训练出的模型能力不达预期时,时常背锅:可能是模型不够大,所以不具备这样的能力。问题来了,涌现能力是否真的是大规模模型才拥有的魔法?

NeurIPS 2023的Main Track Outstanding Paper的二者之一,提出了对涌现能力的一种解释:对于特定任务和模型,在分析模型输出时,涌现能力的出现是由于研究人员选择的衡量指标所致,而非模型行为随着规模扩大而发生了根本性变化。具体而言,非线性或不连续的衡量标准会产生明显的涌现能力,而线性或连续的度量标准会导致模型性能的平滑、连续、可预测的变化。

# Announcing the NeurIPS 2023 Paper Awards

# Are Emergent Abilities of Large Language Models a Mirage?

一篇有趣的综述文章,写于ChatGPT问世一周年之时,总结了开源大型语言模型(LLM)在过去一年中的发展情况。首先介绍了开源LLM的兴起,以及它们如何在各种自然语言处理任务中取得了显著的进展。然后讨论了开源LLM与闭源LLM之间的竞争,以及它们在性能和应用方面的差异。文中提到了一些具体的研究成果和进展,包括知识获取、情感分析、代码生成等。最后,论文探讨了开源LLM的未来发展方向,以及在伦理和安全方面的挑战和应对措施。

# ChatGPT’s One-year Anniversary: Are Open-Source Large Language Models Catching up?

过去半年,MSR发布了一套名为Phi的小模型(SLMs),取得了卓越的性能表现。其中第一个模型,1.3B 的Phi-1,实现了在现有SLMs中对Python编码的最佳性能(在HumanEval和MBPP数据集上)。随后,他们将注意力扩展到常识推理和语言理解,并创建了一个新的 1.3B 模型,命名为Phi-1.5,其性能相当于规模更大5倍的模型。

最近MSR发布了Phi-2,一个 2.7B 的语言模型,展示了卓越的推理和语言理解能力,表现出小于 13B 语言模型的最好效果。在各种测试中,Phi-2与规模大达25倍的模型差不多或获胜,主要归功于模型规模和训练数据方面的创新。MSR已经在Azure AI Studio模型目录中提供了Phi-2,以促进语言模型的研究和开发。

Phi-2 未放出细节的技术报告,具体可参考原博客:

# Phi-2: The surprising power of small language models

第一代Phi-1解读: 数据为王: Textbooks Are All You Need

昆仑的天工模型一直走开源路线,最近放出了技术报告,其中关于预训练模型刷榜作弊的部分引发了广泛的讨论,把大家心照不宣的事情首次放到了台面上 :-)。本文来看下这篇技术报告的亮点(非全文精读,仅摘要有趣的点,细节可阅读原论文)。

# Skywork: A More Open Bilingual Foundation Model

趁着十一前的假期,去神都洛阳逛逛。作为一个河南人,河南的景点却基本没怎么去过,这种感觉有点类似住的最近的人常常会迟到一样。

没有太多规划,原计划是龙门石窟、白马寺和少林寺,不过后来因为一直下雨和略感疲倦,逛完白马寺直接回家。自驾往返共400公里整,大部分是高速,剩下几十公里国道。

LIMA是五月份的一篇网红文,发表后引起了广泛的讨论。它用极致简约的SFT方案训练了一个不错的模型,希望证实表面对齐假设 (Superficial Alignment Hypothesis):

大模型中几乎所有知识都是在预训练中学习的,指令微调只是一个很简单的过程,让模型学到与用户交互的形式。

为证明上述假设,作者们推测仅需要少量的指令微调数据(1000条)就可以教会模型产生高质量输出。此外,1000条SFT数据就达到了很好的指令微调效果,也说明了高质量数据对于模型的重要性,这一点与 Textbooks Are All You Need 有异曲同工之妙。

# LIMA: Less Is More for Alignment

力洛克T41自行洗油保养实录

手动上弦的问题并未解决,保养后不久,问题更加严重,仅能上弦约10圈(走时约10小时),便开始不断打滑,同时发出“咔咔”的异响。如小心继续上弦,发条会突然弹松,直接停表。针对此问题搜了许多国内外论坛,都没找到合适的解决方案,此处记录以飨后人。

前后花了约一个月,买了一根发条,两个发条盒总成件,捏断两根发条内钩,最终购买一套立轮和离合轮(合轮)彻底解决问题。

先买了一根新发条,换上之后问题依然存在。

由于出现突然弹松的现象,怀疑发条轴与发条内钩打滑所致,感觉是上链时二者一直打滑,出现“咔咔”的异响。打开看了看发条轴,似乎有一些磨损(它的凸起不太明显,不是非常有经验的老师傅不太容易看出是否磨损),干脆买了一个新的原装发条盒。换上之后问题依旧。

大模型可以仅凭指令或几个示例就能解决各种新任务,但在一些看似简单的算术或搜索任务上却表现欠佳。俗话说得好,人和动物的区别就是人可以更好地使用工具。于是,Meta AI提出了Toolformer,让LLM善假于物,通过自学使用外部工具。

Toolformer可以决定调用什么API、何时调用它们、传递什么参数及如何将API返回值融合。Toolformer以自监督方式训练,每个API仅需要几个示例。它在各种下游任务中显著提升了零样本性能,而不牺牲其核心语言模型能力。

# Toolformer: Language Models Can Teach Themselves to Use Tools

MSR使用“教科书”级的高质量数据训练了仅 1.3B 的面向代码任务的phi-1模型,在 HumanEval 和 MBPP 上取得了很高的准确率。

根据模型扩展法则,为提升模型性能,需要从增大算量和模型规模入手。这里则另辟蹊径:从数据质量出发。之前的研究证实:提升数据质量会大幅改变扩展法则趋势,能让小模型达到大模型的效果。本文则在此结论上更进一步,打破了已有的模型扩展法则,证明高质量的数据甚至可以在使用更少的数据和算量条件下超越大模型的SOTA

具体来说,用约 7B token 训练8轮,然后在少于 200M token的数据上微调得到 1.3B 的模型 phi-1

# Textbooks Are All You Need

开源的通用能力大模型越来越多,但真正有用和落地的是在某个领域专精的垂类模型。初看上去,似乎大模型仅需要少量prompt工作就可以很好地在垂类工作,可事实并非如此。不进行领域微调的通用模型可以很快地构建80分的应用,可是大部分的实用场景,需要95甚至98分的模型效果。这也是为什么在各个领域(如金融、车载、虚拟人)大家都在训练或微调自己大模型的原因。

微调这件事看上去不难,但却有很多未解问题:

  • 如何基于英文大模型继续训练一个中文大模型?
  • 垂类数据应该在预训练阶段引入,还是指令微调时引入?
  • 通用指令数据与垂类任务数据的混合比例有什么讲究?

上面的每个问题都有很多种不同的方案,但限于时间和成本,逐一实验是不可行的,AB测试也会带来额外的成本。所以有趣的事情出现了,各个玩家对自己训练时的细节都讳莫如深,自己训练的时候也都遇到过各种各样奇怪的坑。更有意思的是,即使别人提供了一些细节参考,自己在训练时未必能够复现 :-( 。

代码库: # Lawyer LLaMA

Lawyer LLaMA技术报告: # Lawyer LLaMA Technical Report

思维链采用逐步推理的方式得到最终结果,如果模型在某一步出现幻想 (Hallucination),则差之毫厘,谬以千里,后面的错误会被放大,导致错误结果。

OpenAI最近提出使用过程监督 (Process Supervision) 减少大模型幻想并提升大模型的数学推理能力,所以什么是过程监督?

过程监督 (Process Supervision) 是相对于之前的结果监督 (Outcome Supervison) 而言。众所周知,大模型基于人工反馈的强化学习部分需要用到奖励模型 (Reward Model, RM),数学推理能力是基于思维链 (Chain of Thought)。传统的奖励模型采用的是结果监督的方式,仅使用思维链的最终结果进行判别与反馈,而过程监督则是对思维链的每步推理都进行反馈。因此,过程监督是针对思维链和奖励模型的一种改进方案。

OpenAI开源了过程监督的数据集 PRM800K。论文的核心思想很直观,主要关注在实验设计。

OpenAI 博客: # Improving mathematical reasoning with process supervision

论文链接: # Let’s Verify Step by Step

好久没出去看大好河山,五一前休假去贵州自驾游,云贵川算是都打了卡。按照惯例,还是提前简单做下攻略,本想将行程设置宽松些,后来发现贵州的大部分景点门票预订(进景区时间)都要精确到小时,才不得不把行程提前细化。

贵州的主要景点也比较分散,不过都是以省会贵阳为中心放射状排列,本次自驾主要以黔东为主。之前找到一张不错的贵州景点分布图,记不清出处了: