大模型构造和应用,哪个阶段最重要?
- 数据✅
- 我认为数据是最核心的。核心壁垒。
- 是最重要的资产。(石油)
- 模型架构(transformer..)
- 不需要自己做,直接拿来用,所以大家其实都差不多。
- 了解原理即可。
- 模型训练(微调.. deepspeed 框架..)
- 从开发者的角度来说,需要了解原理。
- 但是这是标准化动作,后续有更好的工具出现后,可能产品经理就可以一键进行微调。
- benchMark(模型评估) ✅
- 也很重要,上线前需要知道模型好坏。
- memory和search搜索技术 ✅
- 产品差异化的关键,要把产品做好,核心就是 RAG
- 知识图谱 向量数据库…都是属于 memory
统称为 RAG
在大模型(如大语言模型,LLM)中,RAG 是 Retrieval-Augmented Generation(检索增强生成)的缩写。这是一种结合了信息检索和生成模型的技术,目的是提高语言模型的生成质量和信息准确性。
RAG 的核心思想:
RAG 方法将预训练的大语言模型(如 GPT、BERT 等)的生成能力与信息检索相结合。在生成文本的过程中,模型不仅依赖于其内部的语言生成能力,还会从外部数据源(如文档数据库、网页、知识库等)动态检索相关信息,然后根据这些信息生成输出。
RAG 的工作原理:
检索阶段:当用户提出问题或生成请求时,系统首先使用信息检索模块(通常是基于查询的检索算法,如 BM25 或语义检索模型)从外部数据源中检索与问题相关的文档、片段或信息。
生成阶段:检索到的相关文档或片段会被送入生成模型。生成模型根据这些检索到的信息,结合自己的语言生成能力,生成具有上下文相关性的文本。
RAG 的优势:
增强准确性:传统生成模型只能基于已有的训练数据进行回答,容易产生不准确或过时的结果。而 RAG 可以通过检索最新的、具体的外部信息来提供准确的答案。
减少幻觉现象:语言模型在回答问题时有时会编造不存在的事实,RAG 通过引入外部检索步骤,可以减少这种现象,提高回答的可信度。
扩展知识库:大语言模型即使训练再充分,其知识也是有限的,RAG 通过外部检索,可以在无需重新训练模型的情况下实时扩展模型的知识库。
RAG 的应用场景:
问答系统:通过实时从知识库或互联网检索信息,提供更加准确的答案。
企业知识管理:为公司提供基于内部文档的动态检索和回答机制。
文档生成:基于用户输入和外部数据生成内容,如生成新闻文章、市场报告等。
RAG 通过结合检索和生成能力,实现了大规模语言模型与信息检索的有机融合,在提供灵活的语言生成能力的同时,也确保了生成内容的可靠性和相关性。
如何从零开始训练一个垂直领域的大模型(比如金融领域)
- 设计
- 确定模型的应用场景,比如问答,文本生成..
- 模型的属性:大小,建构,token 设计
- 训练数据的设计,专业知识+通用知识。数据配比(私密,各家公司都不会公开)
- 设计 benchmark 评估系统
- pre-train 预训练
- 通用能力的模型
- fine-tune 微调(大部分国内公司在做的 sft)
- fine-tune需要的数据集是比较少的,一千条左右的量级。
- 这些 data 也称为instruction data,具体格式根据想要的能力,比如 一条一条的对话数据,可以让 model 按照对话的格式。
- 采用 lora 等方法,尽量减小对原模型的影响。
- alignment,对齐,也就是 RLHF。
- 场景:符合法律法规,偏好人格。
- 方法:ppo(属于强化学习),dpo(效果更好点)
- benchmark 评估
基于上游模型,进入开发阶段:
场景:假如有一个金融领域的通用大模型,我希望打造一个智能客服系统,它需要懂得我们公司的知识。比如产品文档,规范文档,定价文档,FAQ文档等等。
把文档向量化,转换成chunk数据,存到向量数据库。