Press "Enter" to skip to content

在Julia中构建一个符合规范的聊天机器人

符合性预测、LLMs和HuggingFace —— 第1部分

大型语言模型(LLM)目前非常火热。它们用于各种任务,包括文本分类、问题回答和文本生成。在本教程中,我们将展示如何使用ConformalPrediction.jl将变压器语言模型转换为用于文本分类的符合性模型。

👀 一瞥

我们特别关注意图分类任务,如下图所示。首先,我们将客户查询输入到LLM中生成嵌入向量。然后,我们训练一个分类器将这些嵌入向量与可能的意图进行匹配。当然,对于这个监督学习问题,我们需要训练数据,包括输入(查询)和输出(表示真实意图的标签)。最后,我们应用符合性预测来量化分类器的预测不确定性。

符合性预测(CP)是一种新兴的预测不确定性量化方法。如果您对CP不熟悉,您可能希望首先查看我关于这个主题的三部分入门系列文章,从本文开始。

符合性化意图分类器的高级概览。图像由作者提供。

🤗 HuggingFace

我们将使用Banking77数据集(Casanueva et al., 2020),该数据集包含来自与银行业务相关的77个意图的13,083个查询。在模型方面,我们将使用DistilRoBERTa模型,它是RoBERTa(Liu et al., 2019)的精简版本,在Banking77数据集上进行了微调。

可以使用Transformers.jl包将模型直接加载到我们正在运行的Julia会话中。

这个包使得在Julia中使用HF模型变得非常简单。向开发人员致敬!🙏

下面我们加载分词器tkr和模型mod。分词器用于将文本转换为整数序列,然后将其输入模型中。模型输出一个隐藏状态,然后将其输入分类器以获得每个类别的逻辑值。最后,逻辑值通过softmax函数传递,得到相应的预测概率。下面我们通过模型运行几个查询,看看它的表现如何。

# 从HF 🤗 加载模型: tkr =…
Leave a Reply

Your email address will not be published. Required fields are marked *