记录学习大模型的应用开发系列
- 数据 - 关键
- 模型设计(Transformer)
- 模型训练(微调、对齐、DeepSpeed)
- Benchmark(模型评测)
- Memory(知识图谱、向量数据)
- 搜索技术(向量数据库, Query的优化)
- RAG
具体场景: 金融科技希望大模型制作 AI 助手来协助或替代原有的智能客服
方案:
- 基于已有的模型, 如GPT4
- 训练私有模型
基于 GPT4 的方案:
- APP <--- Prompt ---> GPT4
- APP <--- Prompt(with 外部数据) ---> GPT4
- Aget <---- GPT4
训练私有模型:
- Pre-train
- 模型设计
- 参数量 -- 1B? 14B? 100B?
- Tokenizer 词库
- arch
- 确定应用场景 => 确定模型的能力
- Benchmark
- 数据设计
- 中文数据、英文数据
- 数据内容
- 垂直领域
- 金融数据
- 保险数据
- 通用能力
- 必需的
- 垂直领域
- 数据量( 多少 T 的 token)
- 100G的数据 -> 大概 10B token(理想情况)
- 数据配比
- 垂直 vs 通用
- 每个数据源的配比
- 数据清洗
- 重复数据清理
- 符号数据
- 构建语料库
- 训练
- 最低要求
- 100卡以上
- 2-3周
- 100B数据
- 预训练
- 微调 - SFT
- 基础对话能力
- 场景应对能力
- 多轮对话和单轮对话数据
- 技术
- Lora
- Alignment(对齐) <==> Human Pu
- 目的
- 规范模型
- 更安全
- 方法
- DPO - 旧, 困难
- PPO - 新, 简单
- 模型完成, 软件开发
- 文件, 构建向量数据库
- Agent, 代理
一些常见的应用场景和示例的 prompt。
传统的自然语言处理问题 数学问题、图论问题 角色扮演问题 编程问题 创作问题 数据分析问题
API 主要位于 OpenAI 的 doc
Tokenizer 计算: 中文一个汉字一般是一个 Token。而英文的单词数量与 token 数量不一致,一般小于这个数字。
OpenAI 提供了 PlayGround, 可以进行很多测试。 System 是默认的 Prompt, User 是用户输入, 模型返回是 Assistant。
初始化客户端
调用基础模型
画图模型 DALL-E3 调用
关于 GPT-4-Vision 的调用