• 大模型-基于大模型的数据标注


    方法来自于这篇论文:
    Can Generalist Foundation Models Outcompete Special-Purpose Tuning? Case Study in Medicine。

    一.背景

    假设,存在一批标注好的数据D_labeled,其包含m个标注样本(x, y)。

    目标是,基于D_labeled,构建基于LLM的数据标注器L,其中L(x)=y_pred,目标是对于任意数据x,标注器能够进行尽量准确的标注。

    二.标注流程

    2.1 关键技术点:

    • model-generated Chain Of Thought。在直接预测y之前,先让模型生成推理过程(即Chain Of Thought,简称CoT),提升效果与可信度;有特色的是,除了在inference时使用,也对训练数据D_labeled生成CoT,并以此构建(x, CoT, y),用于few-shot learning;

    • kNN few-shot learning。在inference时,将k个最相似的(x, CoT, y)作为few-shot examples;In Context Learning奏效的原理是“类比”,即context中如果有A->B,那么对于A*,模型会预测B*;kNN方法提供相似的样例,因此理论上ICL的效果会更好;

    • ensemble。对于QA任务,更换choice的顺序,跑N次结果,取majority结果;核心是为了消除position bias的影响。

    2.2 标注流程

    整体的流程图,可以参照如下的伪代码:

    1. 对training data中的每个样本x,都生成CoT + y;

    2. 只保留那些答案正确的CoT,构成(x, CoT, y),作为few-shot examples的来源;

    3. 在inference时,使用embedding检索最邻近的k个examples(x,CoT,y),将其作为context,让LLM执行标注任务;

    4. 第三步的最外层,加入ensemble策略,以QA为例,可以把各个choice进行N次随机shuffle,得到N个标注结果,然后通过majority vote选择最终答案。

    这套方法的厉害之处在于,全程只需使用标注数据D_labeled即可,无需再引入任何专家人力,整个过程是非常自动化的。

    以上这套流程,原本是为了解决QA任务,但也适用于标注任务;其中kNN Few Shot Learning(简称kNN FSL)和model-generated CoT是通用的方法,ensemble策略则需要有所调整:

    • 对于NLU任务,可以对标签顺序进行shuffle,然后同样使用majority vote;

    • 对于NLG任务,可以将N次生成结果一齐给LLM,让其基于N个结果来生成答案,这种方法称之为ensemble refining。

    三.效果对比

    原论文主要focus在医学QA任务,选择的LLM为GPT-4,对比模型为经过领域微调的Med-Palm2。

    可有以下发现:

    1. 只用简单的prompt,GPT-4就已有较强的能力了,在MedQA上接近80%,但对于医学领域,这个准确率可能还不足,因此专业领域LLM有发展空间;

    2. 依此加入few-shot examples, model-generated CoT, kNN few-shot, choice shuffle,均会带来效果提升,最终在MedQA上能从81.7% -> 90.2%(需要注意的是,不能简单认为对指标增益小的技术,就是作用小的技术,因为加入顺序是个重要影响因子);

    3. 通用的foundation LLMs在专业领域也有很大的潜能,prompt engineering则是unlock这些能力的关键;至少在QA任务中,Foundation LLMs + Prompt Engineering是Specific-Domain LLMs的有力竞争者。

  • 相关阅读:
    Redis持久化RDB/AOF
    全球建筑物提取数据集(免费下载):微软/GlobalMLBuildingFootprints
    ARTS第6周T:设计模式——外观模式(Facade模式)
    嵌入式C语言——常见面试题
    SAP创建权限对象、角色、并分配角色
    【知识图谱】实践篇——基于医疗知识图谱的问答系统实践(Part2):图谱数据准备与导入
    【luogu P7518】宝石(主席树)(二分)
    Python高级进阶(2)----Python装饰器的艺术
    鸿蒙原生应用再添两员新丁!​B站、58入局鸿蒙
    mybatis trim标签使用详解
  • 原文地址:https://blog.csdn.net/fan_fan_feng/article/details/140390798