分层的可导航小世界(Hierarchical Navigable Small World,HNSW)是一种基于图的数据结构,它将节点划分成不同层级,贪婪地遍历来自上层的元素,直到达到局部最小值,然后切换到下一层,以上一层中的局部最小值作为新元素重新开始遍历,直到遍历完最低一层。它的基本思想是:跳表+NSW
跳表
NSW
核心思想:可导航小世界(Navigable Small World,NSW)将候选集合构建成可导航小世界图,利用基于贪婪搜索的kNN算法从图中查找与查询点距离最近的k个顶点。
Atlas是一个预训练的检索增强语言模型,只需要使用非常少的训练样本就能够学习和处理知识密集型任务。使用的检索模块是Contriever,使用的预训练语言模型为T5。在训练过程中,作者使用了ADist,EMDR^2,PDist和LOOP四个训练目标对检索器和语言模型进行联合训练。同时,作者也使用了无监督的方式进行联合训练,包括Prefix language modeling,Masked language modeling和Title to section generation。
(AD;Laskin et al. 2023)将根据历史执行记录学习能够提高Agent能力理念应用于强化学习任务中的跨周期轨迹,算法被封装在一个长历史条件策略中。考虑到Agent会与环境多次交互,并且每个周期内Agent都会变得更好,AD将这些学习历史连接起来并将其喂到模型里。因此,我们应该期待下一次预测的行动会比之前的试验取得更好的结果。目标是AD学习RL算法的过程,而不是训练特定任务的策略本身。
Few-shot + {question} +Chain of Thought相似的具有推导步骤的例子+{问题}+给出具体思考过程。
Generation Knowledge
以事实+知识的方式组织样例,再最后提问,要求给出解释和答案
Automatic Prompt Engineer
Let's work this out in a step by step way to be sure we have the right answer
OPRO
“Take a deep breath and think step by step.”
Optimization by PROmpting(OPRO)总体架构:最开始输入meta-prompt,这个初始的meta-prompt基本上只是对优化任务进行了描述(也会有few-shot example)。输入后LLM便会生成一个solution,这个solution由objective function评估并打分。(solution,score)组合成一对添加到meta-prompt中,如此完成一个循环。多次循环后取分数最高的solution作为优化结果。
meta-prompt分为两部分,问题描述和优化轨迹,问题描述就是用自然语言描述想要优化的问题,比如“generate a new instruction that achieves a higher accuracy”。而优化轨迹(Optimization trajectory)则是指之前提到的(solution,score)对,即之前生成的解决方案和对应的分数,可以看作优化的“日志”。但是要注意这个轨迹不是按时间顺序排的,而是按照打分升序排的。因为之前的研究也发现,越靠后的样例对输出的影响越大,所以把分数高的排在后面有利于LLM向其学习。