首页 > Ai资讯 > Ai知识库 > 垂直领域大模型的一些思考及开源模型汇总

垂直领域大模型的一些思考及开源模型汇总

发布时间:2024年06月06日

写在前面

大家好,我是刘聪NLP。

对于ToC端来说,广大群众的口味已经被ChatGPT给养叼了,市场基本上被ChatGPT吃的干干净净。虽然国内大厂在紧追不舍,但目前绝大多数都还在实行内测机制,大概率是不会广泛开放的(毕竟,各大厂还是主盯ToB、ToG市场的,从华为在WAIC的汇报就可以看出)。而对于ToB和ToG端来说,本地化部署、领域or行业内效果绝群、国产化无疑就成为了重要的考核指标。

个人觉得垂直领域大模型或者说大模型领域化、行业化才是大模型落地的核心要素。恰好前几天ChatLaw(一款法律领域大模型产品)也是大火,当时也是拿到了一手内测资格测试了一阵,也跟该模型的作者聊了很久。正好利用周末的时间,好好思考、梳理、汇总了一些垂直领域大模型内容。

文章内容将从ChatLaw展开到垂直领域大模型的一些讨论最后汇总一下现有的开源领域大模型

聊聊对ChatLaw的看法

ChatLaw的出现,让我更加肯定未来大模型落地需要具有领域特性。相较于目前领域大模型,ChatLaw不仅仅是一个模型,而是一个经过设计的大模型领域产品,已经在法律领域具有很好的产品形态。

Paper: https://arxiv.org/pdf/2306.16092.pdf
Github: https://github.com/PKU-YuanGroup/ChatLaw
官网: https://www.chatlaw.cloud/

可能会有一些质疑,比如:不就是一个langchain吗?法律领域它能保证事实性问题吗?等等等。
但我觉得在否定一件事物的前提,是先去更深地了解它。

ChatLaw共存在两种模式:普通模型和专业模型。普通模式就是仅基于大模型进行问答。

而专业模式是借助检索的手段,对用户查询进行匹配从知识库中筛选出合适的证据,再根据大模型汇总能力,得到最终答案。

由于专业模式,借助了知识库的内容,也会使得用户得到的效果更加精准。而在专业版中,ChatLaw制定了一整套流程,如上图所示,存在反问提示进行信息补全,用户信息确认、相似案例检索、建议汇总等。

作者 

 也说过,其实ChatLaw=ChatLaw LLM + keyword LLM + laws LLM。而keyword LLM真的让我眼前一亮的,之前对关键词抽取的理解,一直是从文本中找到正确的词语,在传统检索中使用同义词等方法来提高检索效果。而keyword LLM利用大模型生成关键词,不仅可以找到文本中的重点内容,还可以总结并释义出一些词。使得整个产品在检索证据内容时,效果更加出色。

同时,由于不同模型对不同类型问题解决效果并不相同,所以在真正使用阶段,采用HuggingGPT作为调度器的方式,在每次用户请求的时候去选择调用更加适配的模型。也就是让适合的模型做更适合的事情

聊聊对垂直领域大模型的看法

现在大模型的使用主要就是两种模型,第一种是仅利用大模型本身解决用户问题;第二种就是借助外部知识来解决用户问题。而我个人觉得是“借助外部知识进行问答”才是未来,虽然会对模型推理增加额外成本,但是外部知识是缓解模型幻觉的有效方法。

但随着通用大模型底层能力越来越强,以及可接受文本越来越长,在解决垂直领域问题时,完全可以用过ICL技术,来提升通用大模型在垂直领域上的效果,那么训练一个垂直领域大模型是否是一个伪命题,我们还有必要做吗?

个人认为是需要的,从几个方面来讨论:

  • 1、个人觉得真正垂直领域大模型的做法,应该从Pre-Train做起。SFT只是激发原有大模型的能力,预训练才是真正知识灌输阶段,让模型真正学习领域数据知识,做到适配领域。但目前很多垂直领域大模型还停留在SFT阶段。
  • 2、对于很多企业来说,领域大模型在某几个能力上绝群就可以了。难道我能源行业,还需要care模型诗写的如何吗?所以领域大模型在行业领域上效果是优于通用大模型即可,不需要“即要又要还要”
  • 3、不应该某些垂直领域大模型效果不如ChatGPT,就否定垂直领域大模型。有没有想过一件可怕的事情,ChatGPT见的垂直领域数据,比你的领域大模型见的还多。但某些领域数据,ChatGPT还是见不到的
  • 4、考虑到部署成本得问题,我觉得在7B、13B两种规模的参数下,通用模型真地干不过领域模型。及时175B的领域大模型没有打过175B的通用模型又能怎么样呢?模型参数越大,需要数据量越大,领域可能真的没有那么多数据。

PS:很多非NLP算法人员对大模型产品落地往往会有一些疑问:

Q:我有很多的技术标准和领域文本数据,直接给你就能训练领域大模型了吧?

A:是也不是,纯文本只能用于模型的预训练,真正可以进行后续问答,需要的是指令数据。当然可以采用一些人工智能方法生成一些指数据,但为了保证事实性,还是需要进行人工校对的。高质量SFT数据,才是模型微调的关键。

Q:你用领域数据微调过的大模型,为什么不直接问答,还要用你的知识库?

A:外部知识主要是为了解决模型幻觉、提高模型回复准确。同时,采用外部知识库可以快速进行知识更新,相较于模型训练要快非常多。

Q:为什么两次回复结果不一样?

A:大模型一般为了保证多样性,解码常采用Top-P、Top-K解码,这种解码会导致生成结果不可控。如果直接采用贪婪解码,模型生成结果会是局部最优。

Q:我是不是用开源6B、7B模型自己训练一个模型就够了?

A:兄弟,没有训练过33B模型的人,永远只觉得13B就够了。

以上是个人的一些想法,以及一些常见问题的回复,不喜勿喷,欢迎讨论,毕竟每个人对每件事的看法都不同。

开源垂直领域大模型汇总

目前有很多的垂直领域大模型已经开源,主要在医疗、金融、法律、教育等领域,本小节主要进行「中文开源」模型的汇总及介绍。

「PS:一些领域大模型,如未开源不在该汇总范围内;并且欢迎大家留言,查缺补漏。」

医疗领域

非中文项目:BioMedLM、PMC-LLaMA、ChatDoctor、BioMedGPT等,在此不做介绍。

MedicalGPT-zh

Github: https://github.com/MediaBrain-SJTU/MedicalGPT-zh
  • 简介:基于ChatGLM-6B指令微调的中文医疗通用模型。
  • 数据:通过对16组诊疗情景和28个科室医用指南借助ChatGPT构造182k条数据。数据也已开源。
  • 训练方法:基于ChatGLM-6B,采用Lora&16bit方法进行模型训练。

DoctorGLM

Github: https://github.com/xionghonglin/DoctorGLM
  • 简介:一个基于ChatGLM-6B的中文问诊模型。
  • 数据:主要采用CMD(Chinese Medical Dialogue Data)数据。
  • 训练方法:基于ChatGLM-6B模型,采用Lora和P-tuning-v2两种方法进行模型训练。

PS:数据来自Chinese-medical-dialogue-data项目。

Huatuo-Llama-Med-Chinese

Github: https://github.com/SCIR-HI/Huatuo-Llama-Med-Chinese
  • 简介:本草(原名:华驼-HuaTuo): 基于中文医学知识的LLaMA微调模型。
  • 数据:通过医学知识图谱和GPT3.5 API构建了中文医学指令数据集,数据共开源9k条。
  • 训练方法:基于Llama-7B模型,采用Lora方法进行模型训练。

Med-ChatGLM

Github: https://github.com/SCIR-HI/Med-ChatGLM
  • 简介:基于中文医学知识的ChatGLM模型微调,与本草为兄弟项目。
  • 数据:与Huatuo-Llama-Med-Chinese相同。
  • 训练方法:基于ChatGLM-6B模型,采用Lora方法进行模型训练。

ChatMed

Github: https://github.com/michael-wzhu/ChatMed
  • 简介:中文医疗大模型,善于在线回答患者/用户的日常医疗相关问题.
  • 数据:50w+在线问诊+ChatGPT回复作为训练集。
  • 训练方法:基于Llama-7B模型,采用Lora方法进行模型训练。

ShenNong-TCM-LLM

Github: https://github.com/michael-wzhu/ShenNong-TCM-LLM
  • 简介:“神农”大模型,首个中医药中文大模型,与ChatMed为兄弟项目。
  • 数据:以中医药知识图谱为基础,采用以实体为中心的自指令方法,调用ChatGPT得到11w+的围绕中医药的指令数据。
  • 训练方法:基于Llama-7B模型,采用Lora方法进行模型训练。

BianQue

Github: https://github.com/scutcyr/BianQue
  • 简介:扁鹊,中文医疗对话模型。
  • 数据:结合当前开源的中文医疗问答数据集(MedDialog-CN、IMCS-V2、CHIP-MDCFNPC、MedDG、cMedQA2、Chinese-medical-dialogue-data),分析其中的单轮/多轮特性以及医生问询特性,结合实验室长期自建的生活空间健康对话大数据,构建了千万级别规模的扁鹊健康大数据BianQueCorpus。
  • 训练方法:扁鹊-1.0以ChatYuan-large-v2作为底座模型全量参数训练得来,扁鹊-2.0以ChatGLM-6B作为底座模型全量参数训练得来。

SoulChat

Github: https://github.com/scutcyr/SoulChat
  • 简介:中文领域心理健康对话大模型,与BianQue为兄弟项目。
  • 数据:构建了超过15万规模的单轮长文本心理咨询指令数据,并利用ChatGPT与GPT4,生成总共约100万轮次的多轮回答数据。
  • 训练方法:基于ChatGLM-6B模型,采用全量参数微调方法进行模型训练。

法律领域

LaWGPT

Github: https://github.com/pengxiao-song/LaWGPT
  • 简介:基于中文法律知识的大语言模型。
  • 数据:基于中文裁判文书网公开法律文书数据、司法考试数据等数据集展开,利用Stanford_alpaca、self-instruct方式生成对话问答数据,利用知识引导的数据生成,引入ChatGPT清洗数据,辅助构造高质量数据集。
  • 训练方法:(1)Legal-Base-7B模型:法律基座模型,使用50w中文裁判文书数据二次预训练。(2)LaWGPT-7B-beta1.0模型:法律对话模型,构造30w高质量法律问答数据集基于Legal-Base-7B指令精调。(3)LaWGPT-7B-alpha模型:在Chinese-LLaMA-7B的基础上直接构造30w法律问答数据集指令精调。(4)LaWGPT-7B-beta1.1模型:法律对话模型,构造35w高质量法律问答数据集基于Chinese-alpaca-plus-7B指令精调。

ChatLaw

Github: https://github.com/PKU-YuanGroup/ChatLaw
  • 简介:中文法律大模型
  • 数据:主要由论坛、新闻、法条、司法解释、法律咨询、法考题、判决文书组成,随后经过清洗、数据增强等来构造对话数据。
  • 训练方法:(1)ChatLaw-13B:基于姜子牙Ziya-LLaMA-13B-v1模型采用Lora方式训练而来。(2)ChatLaw-33B:基于Anima-33B采用Lora方式训练而来。

LexiLaw

Github: https://github.com/CSHaitao/LexiLaw
  • 简介:中文法律大模型
  • 数据: BELLE-1.5M通用数据、LawGPT项目中52k单轮问答数据和92k带有法律依据的情景问答数据、Lawyer LLaMA项目中法考数据和法律指令微调数据、华律网20k高质量问答数据、百度知道收集的36k条法律问答数据、法律法规、法律参考书籍、法律文书。
  • 训练方法:基于ChatGLM-6B模型,采用Freeze、Lora、P-Tuning-V2三种方法进行模型训练。

LAW-GPT

Github: https://github.com/LiuHC0428/LAW-GPT
  • 简介:中文法律大模型(獬豸)
  • 数据:现有的法律问答数据集和基于法条和真实案例指导的self-Instruct构建的高质量法律文本问答数据。
  • 训练方法:基于ChatGLM-6B,采用Lora&16bit方法进行模型训练。

lawyer-llama

Github: https://github.com/AndrewZhe/lawyer-llama
  • 简介:中文法律LLaMA
  • 数据:法考数据7k、法律咨询数据14k
  • 训练方法:以Chinese-LLaMA-13B为底座,未经过法律语料continual training,使用通用instruction和法律instruction进行SFT。

金融领域

非中文较好的项目:BloombergGPT、PIXIU等,在此不做介绍。

FinGPT

Github: https://github.com/AI4Finance-Foundation/FinGPT
  • 简介:金融大模型
  • 数据:来自东方财富
  • 训练方法:基于ChatGLM-6B,采用Lora方法训练模型。

FinTuo

Github: https://github.com/qiyuan-chen/FinTuo-Chinese-Finance-LLM
  • 简介:一个中文金融大模型项目,旨在提供开箱即用且易于拓展的金融领域大模型工具链。
  • 数据:暂未完成。
  • 训练方法:暂未完成。

聚宝盆

Github: https://github.com/jerry1993-tech/Cornucopia-LLaMA-Fin-Chinese
  • 简介:基于中文金融知识的 LLaMA 系微调模型。
  • 数据:基于已有数据和继续爬取的中文金融数据,将继续利用 GPT3.5/4.0 API 构建高质量的数据集,另在中文知识图谱-金融、CFLEB 金融数据集等数据上进一步扩充高质量指令数据集。
  • 训练方法:基于Llamma模型进行Lora方法微调。

教育领域

EduChat

Github: https://github.com/icalk-nlp/EduChat
  • 简介:以预训练大模型为基底的教育对话大模型相关技术,提供教育场景下自动出题、作业批改、情感支持、课程辅导、高考咨询等丰富功能,服务于广大老师、学生和家长群体,助力实现因材施教、公平公正、富有温度的智能教育。
  • 数据:混合多个开源中英指令、对话数据,并去重后得到,约400w。
  • 训练方法:基于LLaMA模型训练而来。
转自知乎:刘聪NLP

如果你想要了解关于智能工具类的内容,可以查看 智汇宝库,这是一个提供智能工具的网站。
在这你可以找到各种智能工具的相关信息,了解智能工具的用法以及最新动态。