首页 > 其他分享 >FOODGPT: A LARGE LANGUAGE MODEL IN FOOD TESTING DOMAIN WITH INCREMENTAL PRE-TRAINING AND KNOW...

FOODGPT: A LARGE LANGUAGE MODEL IN FOOD TESTING DOMAIN WITH INCREMENTAL PRE-TRAINING AND KNOW...

时间:2024-07-04 20:02:11浏览次数:8  
标签:PRE ... DOMAIN 模型 知识 文档 FoodGPT 数据 我们

文章目录

题目

食品测试的大型语言模型

图片名称

论文地址:https://arxiv.org/abs/2308.10173

摘要

    目前,特定领域的大型语言模型的构建是通过在基础模型上进行微调来完成的。有些模型还包含知识库,无需预先训练。这是因为基础模型在预训练过程中已经包含了特定领域的知识。我们构建了一个用于食品测试的大语言模型。与上述方法不同,该域中的大量数据以域标准文档的扫描格式存在。此外,还存在大量未经训练的结构化知识。因此,我们引入了增量预训练步骤,将这些知识注入到大语言模型中。在本文中,我们提出了一种在增量预训练中处理结构化知识和扫描文档的方法。为了克服机器幻觉的问题,我们构建了一个知识图作为外部知识库来支持大语言模型中的检索。值得一提的是,这篇论文是我们预发布版本的技术报告,我们将在未来的版本中报告我们的具体实验数据。

方法

    ChatGPT、LLaMA、GPT-4、ChatGLM 和 PaLM 等模型在下游任务中表现出了出色的性能。 LLM在理解人类指令方面的强大能力导致了各个垂直领域对LLM的不断研究。ChatLaw 基于Ziya-LLaMA-13B,利用法律数据进行指令微调,结合向量数据库检索来创建合法的LLM。 DoctorGLM基于 ChatGLM-6B 构建,并使用中文医疗对话数据集进行微调,创建中文医疗咨询模型。 BenTsao基于LLaMA-7B,利用医学知识图谱和GPT-3.5 API构建中医教学数据集,构建中医LLM。而Cornucopia则基于LLaMA-7B,利用中国金融公开数据和爬取的金融数据构建了指令数据集,专注于金融领域的问答。

    之前的研究假设基础模型已经注入了相应的领域知识,因此没有对基础模型进行增量预训练。然而,在某些领域,例如食品检测,大量的大量知识存在于非文本图像、扫描文档和私有结构化数据中。为了在这些领域建立LLM,我们认为基础模型中的知识是不够的,因此增量预训练至关重要。因此,我们以食品检测领域为代表,从增量预训练阶段开始构建中国食品检测LLM。

总之,本文在以下方面做出了贡献:

• 我们开发了一个名为 FoodGPT 的食品检测LLM,据我们所知,这是食品检测领域的第一个LLM。

• 我们从增量预训练开始构建垂直领域LLM,据我们所知,这是目前罕见的努力。

• 对于扫描格式域标准文档和结构化数据,我们提出了一种新的数据收集方法,在增量预训练阶段成功地将上述知识注入FoodGPT。

• 食品检测领域法学硕士需要精确的数字输出。因此,我们构建了一个知识图谱作为 FoodGPT 的检索库,以减少机器幻觉现象。

    在食品检测领域,大量数据存在于图像或扫描文档中,而另一部分数据则存储在私有结构化数据库中。这些数据尚未用于LLM的预培训。如果我们直接对基础模型进行微调,由于缺乏领域知识,它可能很难表现良好。因此,在 FoodGPT 的训练中,我们结合了增量预训练步骤,将领域知识注入 FoodGPT。

图片名称

    图像和扫描文档的存储包含大部分域标准文档信息。我们将这两类数据归为一类,因为我们使用光学字符识别 (OCR) 技术来处理这两种数据。由于无法直接从这些图像和扫描文档中提取文本,我们对其中上万张图像和扫描文档应用了 OCR。具体处理流程如上图所示。每个文档代表一个领域标准文档,并且超过了用于训练模型的最大序列长度。因此,我们根据文档的部分将文档分成章节。研究发现,不同文件中对同一检测项目的描述存在差异,因为不同文件中同一检测项目针对的是不同的食品。为了防止这些描述发生冲突,我们在每章数据之前添加前缀来指示相应的文档。我们微调 UIE 模型以从文本中提取文档名称,并使用启发式生成方法构造提取的文档名称的前缀,然后将其与文本连接起来。此外,文本的每一章可能包括表格和公式等数据。这些类型的数据在通过 OCR 处理时会显着影响文本的流畅性。因此,我们使用BERT和GPT-2来计算文本每一章中每个句子的困惑度,并排除困惑度高的句子。

    食品检测领域的大量知识也存在于私有结构化数据库中。这些数据由从广泛的食品测试中获得的手动输入表格组成,并存储在测试机构或中介机构的私人数据库中。它们包含丰富的可学习知识。除了将这些知识整合到外部知识库之外,我们认为还应该将其纳入LLM的增量预训练中。我们在增量预训练中处理结构化数据的方式如下图所示。

图片名称

    我们创建两个版本的结构化数据:Datav1 和 Datav2,用于增量预训练。在Datav1中,我们首先从表中删除机密和隐私信息字段。然后,我们通过字典构造每个数据。值得注意的是,在这个领域中,一种食品可以对应多个检测项目。我们以“测试项”为键,以markdown格式的表格为值来表示对应的多个具体测试项。我们认为这种结构化数据可能会损害模型,因此有必要对结构化知识进行序列化。据我们所知,目前结构化数据是使用模板手动转换为自然语言。然而,手动模板的数量相当有限,在序列化大量结构化知识时可能会出现模糊重复和模型性能下降的情况。因此,我们的 Datav2 采用了一种新颖的方法来序列化结构化数据。 Datav2的构建过程如下:

• 与Datav1类似,我们从表中删除机密和私人信息字段。

• 由于原始数据中的某些字段没有单独的含义,因此我们合并某些字段以确保每个字段都有单独的含义。

• 我们将每个数据点输入ChatGPT,根据特定规则随机生成文本。随机文本生成的规则如下: 1)随机选择每个数据点的字段进行输入。 2)在[0.5,1.0]范围内随机选择温度参数进行文本生成。 3)确保在文本生成过程中数据点中的每个字段至少被选择一次且不超过两次,以包含所有字段信息并避免过度重复。

    除了上面提到的两类数据外,我们还结合其他数据来构建 FoodGPT 的增量预训练数据集。具体来源如下:食品检测词典。每个数据条目都提供了专业术语的解释。

• 食品检测领域的中文教程和研究论文。我们根据段落将它们分成单独的数据条目。

• 食品情绪数据。每个数据条目均包含与食品舆论相关的新闻文章,涵盖过去五年。

• 食品安全相关法律。每个数据条目都代表法律中的一项规定。

• 食品安全相关考试题。每个数据条目对应一个问题,我们努力为每个问题提供详细的解释。

我们选择Chinese-LLaMA2-13B作为基础模型,并使用LoRA方法进行增量预训练。我们将在未来版本的技术报告中详细阐述具体的实验结果。在指令微调阶段,我们通过两个通道构建用于指令微调的数据集。 LoRA 方法用于微调 FoodGPT。

图片名称

    我们使用两种方法来构建 FoodGPT 的指令微调数据集。首先,我们从美食论坛中选择相关主题并抓取大量问答对。为了保证高质量的答案,我们优先考虑发布频率较高的用户,旨在包含经常发布优质内容的用户的答案。其次,我们与食品检测领域的行业专家合作,设计了100份高质量的种子说明书。使用 evol-instruct 方法进一步扩展和多样化这些种子指令,从而产生更全面和更广泛的指令数据集。我们利用LoRA方法对Chinese-LLaMA2-13B的指令进行微调。指令微调的整个流程如上图所示。

    食品检测对输出的要求非常严格。例如,不准确的数据输出可能会导致严重的后果。为了保证FoodGPT生成的数据质量并减少机器幻觉,我们通过从结构化数据中提取大量知识来构建知识图谱并文本。该知识图谱作为外部知识库,支持FoodGPT的检索和输出。合并知识图的过程如下图所示。当用户向 FoodGPT 输入查询时,我们利用检索模型来解析查询并从知识图中检索相关知识。然后将检索到的知识与查询连接起来并输入到 FoodGPT 中。 FoodGPT配备了参数化知识和外部知识,可以理解用户的意图并生成响应。

图片名称

    在本文中,我们提出了 FoodGPT,一个用于食品测试领域的大型语言模型。 FoodGPT 基于 Chinese-LLaMA2-13B 基础模型构建,具有增量预训练、指令微调和外部知识图集成。由于图像、扫描文档和私有结构化知识库中存在大量知识,而基础模型缺乏这些知识,因此我们认为有必要进行增量预训练。我们提出了处理这些数据的新方法,并将它们与其他数据一起合并到我们的增量预训练数据库中。在指令微调阶段,我们从论坛中抓取问题答案对,并在领域专家提供的种子指令的指导下,使用 evol-instruct 构建微调数据集。鉴于食品检测领域对输出指标的严格要求,我们还构建了一个知识图作为外部数据库,以协助FoodGPT生成输出。值得一提的是,本文是FoodGPT预发布版本的技术报告,我们将在未来的版本中详细阐述实验细节和分析。

标签:PRE,...,DOMAIN,模型,知识,文档,FoodGPT,数据,我们
From: https://blog.csdn.net/weixin_43961909/article/details/140184290

相关文章

  • K8S学习教程(二):在 PetaExpress KubeSphere容器平台部署高可用 Redis 集群
    前言Redis是在开发过程中经常用到的缓存中间件,为了考虑在生产环境中稳定性和高可用,Redis通常采用集群模式的部署方式。在制定Redis集群的部署策略时,常规部署在虚拟机上的方式配置繁琐并且需要手动重启节点,相较之下,使用PetaExpress提供的Kubernetes(k8s)服务进行Redis集......
  • VCL界面组件DevExpress VCL v24.1 - 发布全新的矢量主题
    DevExpressVCL是DevExpress公司旗下最老牌的用户界面套包,所包含的控件有:数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程序。DevExpressVCLv24.1已于日前正式发布,新版本官......
  • ssh 定时任务 的时间表示解释 cronExpression
    1.cron表达式格式:{秒数}{分钟}{小时}{日期}{月份}{星期}{年份(可为空)}2.cron表达式各占位符解释:{秒数}==>允许值范围:0~59,不允许为空值,若值不合法,调度器将抛出SchedulerException异常"*"代表每隔1秒钟触发;","代表在指定的秒数触发,比如"0,15,45"代表0秒、15秒和45......
  • Python - 各类路径盘点:interpreter解释器路径,lib路径
    interpreter解释器安装路径1.Windows操作系统:在Windows上,Python库通常安装在Python解释器的安装目录下的Lib\site-packages文件夹中。例如,默认情况下Python3.8的安装目录为”C:\Python38″,则库将安装在”C:\Python38\Lib\site-packages”文件夹中。2.macOS操作系统:在macOS......
  • vue 运行npm run serve 出现 Starting development server... ERROR ValidationErro
    解决方式:报错信息不完整,但从给出的部分来看,这个错误与Webpack的进度插件(ProgressPlugin)有关。ValidationError:ProgressPluginInvalid表明进度插件配置无效或者不正确。解决方法:检查Webpack配置文件中是否正确引入并配置了进度插件。确保进度插件的使用方法符合最新版本的......
  • vue3+node.js+mysql+electron+express实现用户登录,文章写入删除,全量更新,增量更新,和截
    第一件事情是安装node.js,去官网下,在终端node-v,npm-v有版本号就行了,不必搞环境配置,保姆级别教程,感谢哥有时间。嘻嘻,祝大家开心。1.首先你要创建electron项目打开vscode,新建终端输入代码npminit这个代码是初始化的意思会生成一个文件package.json里面的代码应该是这......
  • (必看图文)Hadoop集群安装及MapReduce应用(手把手详解版)
    前言    随着大数据时代的到来,处理和分析海量数据已成为企业和科研机构不可或缺的能力。Hadoop,作为开源的分布式计算平台,因其强大的数据处理能力和良好的可扩展性,成为大数据处理领域的佼佼者。本图文教程旨在帮助读者理解Hadoop集群的安装过程,并通过MapReduce应用实例,......
  • 电脑hold escape key to prevent startlsback怎么处理?
     电脑出现holdescapekeytopreventStartlsBackfrom,一般遇到这种问题之后,一直按住ESC键就没有了。但是还需彻底的解决掉这个问题。首先我们按下“ctrl+alt+del”组合键打开任务管理器,左上角“运行新任务”,输入“control”并确定,就可以打开控制面板,查看方式为“类别......
  • SimMTM: 用于掩码时间序列建模的简单预训练框架《SimMTM: A Simple Pre-Training Fram
    今天是2024年7月3日10:15,写一篇1月7日就看过的论文,哈哈哈哈哈哈哈哈哈,突然想到这篇论文了。论文:SimMTM:ASimplePre-TrainingFrameworkforMaskedTime-SeriesModeling或者是:SimMTM:ASimplePre-TrainingFrameworkforMaskedTime-SeriesModelingGitHub:https://githu......
  • CVD-Risk-Prevent 个性化心血管健康推荐系统:基于医学指南的规则框架与 LLM 的结合
    CVD-Risk-Prevent个性化心血管健康推荐系统:基于医学指南的规则框架与LLM的结合提出背景推荐算法的选择选择疑问健康指标管理心血管风险因素目标设定实现目标的计划推荐的多维性算法关键点:如何将心血管健康指标转换为多维推荐?确定风险因素和类别生成多维推荐CVD-Ri......