整体的学习架构

一 模型构建和应用
1 训练数据(重点)
2 模型设计 (transformer)
3 模型训练 (fine-tuning 微调) (产品经理后面可能能做)
4 benchmark(评测)
5 memory(内存)(知识图谱,向量数据库)
6 搜索技术
7 RAG等............

二 结合具体场景分析

1 基于已有的模型如GPT4
1 App -> prompt(提示词) -> GPT4
2 App-> prompt (做文档) -> GPT4 【控制输出】
3 Agent (给网址,然后写网站,给子模型)

在大语言模型(LLM)中,Prompt (提示词) 是一个非常关键的概念,它指的是用户输入的文本或指令,用于引导语言模型生成相应的回答或执行特定任务。简单来说,Prompt 是用户与语言模型交互的起点,它决定了模型如何理解和响应用户的需求。
在大语言模型中,Prompt 的作用可以概括为以下几点:
引导生成 :Prompt 告诉语言模型用户想要什么类型的内容,比如回答一个问题、生成一段故事、翻译一段文字等。
上下文提供 :Prompt 可以包含背景信息,帮助模型更好地理解问题的语境,从而生成更准确、更相关的回答。
任务定义:通过设计不同的 Prompt,可以将语言模型应用于各种任务,如写作、翻译、问答、代码生成等。
风格和语气控制:Prompt 可以引导模型生成特定风格或语气的文本,比如正式、幽默、口语化等。
在大模型中,**Agent (智能助手)**是一个能够利用语言模型的能力来完成复杂任务的智能体。
2 训练私有模型
主要是训练 垂直领域的模型。
1 预训练模块 pre-train
1.1 确定模型结构 model-design
- 1.1.1 model size 30B、7B、100B等
- 1.1.2 model结构 多少层网络,Architecture
- 1.1.3 词库 tokenizer ,(保险词库))
想在机器人或边缘端部署,最好在1B或以下的小模型。
1.2 确认应用场景, 确定模型的能力
(如需要掌握保险领域的知识)
1.3 Benchmark 验证模型能力
Benchmark 是一种用来评估模型性能的标准测试方法。通过将模型 在一系列预定义的任务或数据集上进行测试,可以客观地衡量模型的能力,并与其他模型进行比较。对于大语言模型(LLM),benchmark 验证模型能力是一个系统化的过程,涉及选择合适的测试任务、数据集和评估指标。
1.4 训练数据设计
(金融,保险数据,垂直领域和通用领域的数据) Vertical + General Knowledge
General 通用奠定模型 基本的能力
在设计中文语言模型的数据集时,尤其是针对金融和保险领域的垂直数据与通用知识数据的结合,需要综合考虑数据的语言特性、数据量、数据来源 的多样性以及数据配比。
1.4.1 数据选择
a. 语言分布:中文占多数 + 少量英文
中文数据为主:由于模型主要服务于中文场景,中文数据应占绝对多数,例如90%以上。
少量英文数据:保留10%左右的英文数据,主要用于提升模型对双语内容的理解能力,尤其是在金融和保险领域,英文术语和国际资讯较为常见。
b. 数据量
目标数据量:1T(1万亿)token 是一个理想的目标,但实际操作中可以根据资源和预算调整。例如,几百B(百亿)token 也是一个合理的起点。
实际数据量:假设目标是100G的数据,经过清洗和去重后,最终可用数据量可能在70G-80G左右。具体步骤如下:
数据收集:从多个来源收集原始数据,确保数据的多样性和代表性。
数据清洗:去除重复数据、低质量数据(如乱码、无意义文本)和无关内容。
数据校验:确保数据的语言一致性和格式正确。
c. 数据配比
数据配比是数据设计中的关键环节,需要根据模型的应用场景和目标来调整垂直领域数据与通用领域数据的比例,以及每个数据源的具体配比。
1.5 数据清洗,清理数据
-
去除重复数据,删除完全重复或高度相似的文本片段。
-
符号清理,移除HTML标签、特殊字符、多余空格和换行符。
-
语言一致性检查,确保数据符合目标语言,删除或分离其他语言内容。
-
数据脱敏,替换敏感信息为占位符,保护隐私。
-
文本规范化,统一大小写、标点符号和数字格式。
1.6 得到100B token (语料库)

1.7 预训练 pretrained model
-
使用 清洗后的数据训练模型 ,得到 预训练模型(如 ChatGLM-7B-Base)。
-
预训练大概需要 200-300 张 GPU 卡,耗时 2-3 周。
-
预训练模型的主要功能是理解文本,生成下一个 token。
-
单独的预训练模型不能直接对话,效果较差,主要用于作为底座模型。
pretrained model 能不能对话?
pretrained model - 预训练模型 的能力主要是做理解东西,对话能力很差,是底座模型 。
2 微调 (fine-tuning)
微调目标,使模型具有沟通的能力。
LLM-base:微调前的基础模型。LLM-chat:微调后的对话模型。
通用对话:将通用沟通转化为自然对话。
垂直对话:针对特定领域(如保险)的对话能力。
微调数据:
通过数据来对话,输入,输出格式对话,收集常见问题并转化为对话格式。
数据格式:data = <input, output>
user: ---------
assistant: -------
user: ---------
assistant: -------
微调流程:
-
收集对话数据并进行清洗。
-
使用LoRA等技术进行微调,仅需少量数据(如10万条)。
-
微调会更新基础模型的部分参数。
instruction data
业务场景的数据,数据集要多样化,10万条即可开展微调。

3 alignment (对齐、校准) 强化训练
上一步训练完的可能乱回答,需要进一步强化,有的公司也没怎么做。
包含常见的 PPO 和 DPO ,主要是培养规范的一个输出 。
alignment 后可以得到一个 fixed 的模型:

3.1 结合公司文档与搜索向量数据库
-
整合文档资源:
将公司 产品文档、规范文档、定价信息及FAQ等纳入向量数据库。
-
向量数据库与模型交互:
将文档内容向量化后存入向量数据库,供模型实时检索与交互,提供服务。 -
服务流程:
-
搜索与回答:用户提问时,模型通过向量数据库检索相关信息,生成精准回答。
-
上下文关联:结合用户问题上下文,提供连贯、准确的回答。
-
多轮对话:支持多轮交互,根据用户追问持续优化回答内容。
-

