目录
-
什么是人工智能(AI)
- AI的类型
- AI的核心技术
- 市面主流的AI公司和技术
- AI的应用领域
- AI的未来趋势
-
OpenAI介绍
-
OpenAI公司简介
-
OpenAI主要产品
-
OpenAI核心概念整理
- 文本生成模型
- 助理
- 嵌入
- 令牌
- Prompt(提示)
-
OpenAI Chat API使用指南
-
Fine-Tuning介绍-基于API二次训练
-
-
基于ChatGPT2大模型训练自定义数据的指南
- 简介
- ChatGPT2模型的特点和功能
- 训练自定义数据的好处
- 训练步骤
- 模型部署
- 模型演示
什么是人工智能(AI)
人工智能(Artificial Intelligence,AI)是一门致力于开发能够执行通常需要人类智能的任务的计算机科学。AI 包括从学习和推理到感知和语言理解等广泛的智能行为。

AI 的分类
- 弱人工智能(ANI) : 专注于特定任务的智能,如语音助手和推荐系统。它只能在预设的范围内执行任务,不具备通用智能(市面主流)。
- 强人工智能(AGI) : 具有像人类一样的广泛智能,能够理解和学习任何任务。AGI 可以适应各种环境和任务,目前尚未实现(研究阶段)。
- 超人工智能(ASI) : 超越人类智能的假想智能,它在所有领域都超过人类。ASI 目前仍然是理论概念(理论概念)。
AI 的核心技术
- 机器学习(ML) : 通过数据训练算法,使系统能够从数据中学习和做出预测或决策。包括监督学习、无监督学习和强化学习。
- 深度学习(DL) : 机器学习的一个子集,利用多层神经网络进行复杂数据模式的分析和学习。应用于图像识别、自然语言处理等领域。
- 自然语言处理(NLP) : 使计算机能够理解、解释和生成人类语言。包括文本分析、语言翻译、语音识别等。
- 计算机视觉(CV) : 使计算机能够理解和处理图像和视频。应用于自动驾驶、医疗影像分析等领域。
- 人工智能生成内容(AIGC) : 利用人工智能技术生成文本、图像、音频等内容。应用于新闻编写、文本生成、图像创作等领域。
- 自动语音识别(ASR) : 让计算机能够理解和转录人类的口语。用于语音助手、语音转文等场景。
- 强化学习(RL) : 通过与环境的交互,让模型通过试错的方式学习如何最大化奖励。用于游戏AI、自动驾驶、机器人控制等场景。
市面主流的 AI 公司和技术
公司 | 主要产品/技术 | 描述 | 应用领域 | AI 核心技术 |
---|---|---|---|---|
OpenAI | GPT-4、DALL-E、Codex、Whisper | 生成文本、图像和代码,语音识别 | 对话系统、内容生成、编程辅助、语音识别 | 生成模型(AIGC)、NLP、ASR |
Google AI | BERT、T5、LaMDA | 自然语言处理模型,用于文本理解和生成,对话系统 | 搜索引擎优化、文本分类、问答、对话系统 | NLP |
DeepMind | AlphaFold、AlphaGo | 蛋白质结构预测和围棋AI | 生物学研究、药物开发、游戏AI | 生物信息学、强化学习(RL) |
Tesla | Autopilot | 自动驾驶技术,通过AI处理传感器数据实现车辆自动驾驶 | 自动驾驶、交通运输 | 计算机视觉(CV) |
Amazon AWS | Amazon Alexa | 智能语音助手,理解和回应用户的语音命令 | 智能家居、语音助手、客户服务 | 语音助手 |
IBM Watson | Watson Assistant、Watson Discovery | 自然语言处理和机器学习平台,提供多种AI解决方案 | 医疗、金融、客户服务、分析 | NLP、机器学习(ML) |
NVIDIA | Clara | 医疗AI平台,提供医疗影像、基因组学等领域的AI解决方案 | 医疗影像、基因组学、智慧医疗 | 医疗AI |
Anthropic | Claude | 高性能对话模型,专注于提供对话和文本生成服务 | 对话系统、文本生成、内容创作 | 生成模型(AIGC) |
AI 的应用领域
- 医疗: AI 用于疾病诊断、个性化治疗和药物研发。例如,影像识别用于检测肿瘤。
- 金融: AI 用于风险评估、交易策略和欺诈检测。例如,机器学习算法用于信用评分。
- 自动驾驶: AI 控制车辆在复杂环境中的导航和决策。例如,Tesla 的自动驾驶技术。
- 零售: AI 用于推荐系统、库存管理和客户服务。例如,Amazon 的推荐算法。
- 制造: AI 优化生产流程,提高效率和质量控制。例如,智能机器人在装配线上工作。
AI 的未来趋势
- 边缘AI: 将AI处理能力从云端移到本地设备,提高响应速度和数据隐私。
- AI与物联网(IoT)结合: 提升智能家居、智能城市和工业4.0的自动化和效率。
- 解释性AI: 开发能够解释其决策过程的AI,提高透明度和信任度。
- 伦理和法规: 研究AI的伦理问题,并制定相应的法律法规,确保AI的安全和公正使用。
OpenAI 公司介绍
OpenAI 简介
OpenAI 是一家致力于研发人工智能技术并确保其安全且有益地应用的公司。它的目标是推动通用人工智能(AGI)的发展,使其能够惠及全人类。OpenAI 的研究和产品广泛应用于自然语言处理、机器学习和生成模型等领域。

OpenAI 主要产品
产品名称 | 描述 | 应用领域 |
---|---|---|
GPT-4 | 生成高质量文本内容的语言模型,支持多种语言任务 | 对话系统、内容生成、问答系统、翻译 |
DALL-E 2 | 基于文本描述生成高质量图像的模型 | 图像生成、设计、广告创作、艺术创作 |
Codex | 根据自然语言描述生成代码,支持多种编程语言 | 编程辅助、自动化代码生成、软件开发 |
Whisper | 高精度语音识别,将语音转录为文本 | 语音转录、字幕生成、多语言支持 |
Embeddings API | 提供文本、图像等数据的嵌入表示,用于相似度计算 | 数据分析、搜索引擎、推荐系统 |
Fine-tuning | 用户可以根据自己的数据微调模型,以满足特定需求 | 定制化文本生成、特定领域的应用优化 |
Moderation | 内容审核工具,检测和过滤有害内容 | 社交媒体内容审核、在线社区管理 |
OpenAI API | 提供访问 OpenAI 各种模型和服务的接口,允许开发者集成这些 AI 能力 | 开发者平台、应用集成、AI 服务 |
OpenAI 核心概念整理
1. 文本生成模型
- 描述: GPT-4 和 GPT-3.5 是生成预训练转换模型,能够理解自然语言和正式语言。通过提供输入(称为"提示")生成文本输出。
- 应用: 内容生成、代码生成、摘要、对话、创意写作等。
- 模型介绍:platform.openai.com/docs/models
2. 助理
- 描述: 由大型语言模型(如 GPT-4)驱动的实体,能够执行用户任务。可以根据嵌入模型上下文的指令操作,并访问工具以执行更复杂的任务。
- 应用: 任务执行、信息检索、代码运行等。
3. 嵌入
- 描述: 将数据(如文本)表示为向量,保持其内容或意义。相似数据的嵌入向量接近,不相关数据则相距较远。
- 应用: 搜索、聚类、推荐、异常检测、分类等。
4. 令牌
- 描述: 文本生成和嵌入模型处理文本的基本单位。每个令牌代表常见字符序列,英文文本中1个令牌约为4个字符或0.75个单词。
- 限制: 输入和输出的总令牌数不得超过模型的最大上下文长度。
- token计算工具:platform.openai.com/tokenizer
5. Prompt(提示)
- 描述: Prompt 是向模型提供的输入,通过提示来"编程"模型。提示通常包含任务说明或示例。
- 应用: 指导模型生成所需的输出,如写作、问答、翻译等。
Prompt 相关要求
格式和大小
格式 : JSON,包含
prompt
和completion
字段。大小: 输入和输出的总令牌数不得超过模型的最大上下文长度。不同模型的最大上下文长度不同,例如,GPT-3.5-turbo-0125 的上下文长度为 16,385 个令牌,GPT-3.5-turbo-0613 为 4,096 个令牌。
示例:
{"prompt": "什么是微调(Fine-Tuning)?", "completion": "微调是一种根据特定数据对预训练模型进行再训练的方法,使其更好地适应特定任务。"}
OpenAI Chat API 使用指南
概述
使用 OpenAI Chat API 可以通过 POST 请求与 GPT-3.5-turbo 模型进行交互,并实现对话流。以下是具体步骤和示例代码。
官方API地址:platform.openai.com/docs/api-re...
API 请求
-
URL :
https://api.openai.com/v1/chat/completions
-
方法: POST
-
头信息:
Host
: api.openai.comContent-Type
: application/jsonAuthorization
: Bearer YOUR_API_KEY
请求体
json
json复制代码
{
"model": "gpt-3.5-turbo",
"stream": true,
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "给我写一首七言律诗,描述夏天。"
}
]
}
步骤
- 设置 API 密钥 : 确保您有 OpenAI API 密钥,并将其放在
Authorization
头信息中。 - 创建请求: 按照上述格式创建 HTTP POST 请求。
- 发送请求 : 使用任何 HTTP 客户端工具发送请求,如
curl
或 Postman。 - 处理响应: 读取响应中的流数据,实时获取模型生成的内容。
示例代码
bash
POST <https://api.openai.com/v1/chat/completions> HTTP/1.1
Host: api.openai.com
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"model": "gpt-3.5-turbo",
"stream": true,
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "给我写一首七言律诗,描述夏天。"
}
]
}
Fine-Tuning介绍
微调(Fine-Tuning) 是通过再训练预训练模型使其适应特定任务的过程。OpenAI 提供的微调功能可以提高模型在特定领域或任务中的表现,减少对提示的依赖,并降低响应延迟。
- 比提示更高质量的结果
- 能够训练比提示中更多的示例
- 由于提示较短而节省了
- 降低延迟请求
OpenAI 的文本生成模型已在大量文本上进行了预训练。为了有效地使用这些模型,我们在提示中包含说明,有时还会包含几个示例。使用演示来展示如何执行任务通常称为"少量学习"。
微调通过训练比提示中更多的示例来改进小样本学习,让您在大量任务上取得更好的结果。**一旦模型经过微调,您就不需要在提示中提供那么多示例。**这可以节省成本并实现更低延迟的请求。
从高层次来看,微调涉及以下步骤:
- 准备并上传训练数据
- 训练新的微调模型
- 评估结果并根据需要返回步骤 1
- 使用微调模型
示例代码
-
上传数据
iniPOST <https://api.openai.com/v1/files> HTTP/1.1 Host: api.openai.com Content-Type: multipart/form-data Authorization: Bearer YOUR_API_KEY -F purpose="fine-tune" \ -F file="@your_dataset.jsonl"
-
创建微调作业
bashPOST <https://api.openai.com/v1/fine-tunes> HTTP/1.1 Host: api.openai.com Content-Type: application/json Authorization: Bearer YOUR_API_KEY { "training_file": "file-abc123", "model": "gpt-3.5-turbo" }
-
监控和评估
vbnetGET <https://api.openai.com/v1/fine-tunes/{fine_tune_id}> HTTP/1.1 Host: api.openai.com Authorization: Bearer YOUR_API_KEY
-
使用微调模型
bashPOST <https://api.openai.com/v1/chat/completions> HTTP/1.1 Host: api.openai.com Content-Type: application/json Authorization: Bearer YOUR_API_KEY { "model": "ft:gpt-3.5-turbo:custom_model", "messages": [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Hello!"} ] }
相关资料:
官方网站:openai.com/
模型介绍:platform.openai.com/docs/models
token计算工具:platform.openai.com/tokenizer
预训练微调:platform.openai.com/docs/guides...
基于ChatGPT2大模型训练自定义数据的指南
1. 简介
ChatGPT2是OpenAI开发的GPT-2(Generative Pre-trained Transformer 2)模型的变体,它是一种强大的语言生成模型。GPT-2是基于Transformer架构的大规模预训练语言模型,具有生成高质量自然语言文本的能力。该模型通过在大量文本数据上进行预训练,能够理解和生成连贯且有意义的文本。
以下是市面上基于ChatGPT2大模型训练好的大模型的一些示例表格:
模型名称 | 开发者 | 特点 | 应用场景 |
---|---|---|---|
GPT-2 | OpenAI | 原版GPT-2模型,通用型语言生成 | 对话系统、文本生成、翻译等 |
DialoGPT | Microsoft | 针对对话系统优化,适合生成对话 | 聊天机器人、客户支持系统 |
GPT-2-XL | OpenAI | 更大版本的GPT-2,具有更强的生成能力 | 高质量文本生成、内容创作 |
GPT-3 | OpenAI | GPT-2的升级版,具有1750亿参数,生成能力强大 | 各类文本生成任务、智能助手、对话系统 |
CTRL | Salesforce | 基于控制代码进行生成,能够生成特定风格和内容 | 内容创作、广告生成、定制化文本生成 |
GPT-Neo | EleutherAI | 开源的GPT-3替代品,具有类似GPT-3的能力 | 自然语言处理任务、文本生成、研究用途 |
GShard | 支持超大规模训练,分布式训练模型 | 超大规模语言模型训练、复杂文本生成 | |
Megatron-LM | NVIDIA | 高效的模型并行化技术,用于训练超大规模模型 | 自然语言理解和生成、大规模文本处理 |
T5 | 转换器模型,适用于各种自然语言处理任务 | 翻译、摘要生成、问答系统、文本生成 |
2. ChatGPT2模型的特点和功能
- 预训练模型:ChatGPT2通过在互联网上的大量数据上预训练,具备了广泛的语言理解和生成能力。
- 强大的生成能力:能够生成连贯、上下文相关的文本,适用于多种自然语言处理任务,如对话系统、文本生成、翻译等。
- 扩展性强:可以在特定领域的数据上进行微调,从而生成符合特定需求的文本。
- 灵活性高:支持多种输入格式,能够处理从简短的问题到复杂的段落。
以下是基于ChatGPT2大模型训练后可以实现的具体功能的表格:
功能类别 | 具体功能 | 说明 | 应用场景 | 现有公司及产品 | 二次训练的具体应用示例(眼科医院) |
---|---|---|---|---|---|
对话生成 | 聊天机器人 | 生成自然、连贯的对话 | 客服系统、智能助手 | OpenAI - ChatGPT, Microsoft - Xiaoice | 训练针对眼科常见问题的对话数据,为患者提供24/7的在线咨询服务 |
文本生成 | 自动文章写作 | 生成主题相关的文章、博客 | 内容创作、新闻生成 | Copy.ai, Jasper | 生成关于眼科健康、护理建议的文章,发布在医院官网或公众号 |
产品描述生成 | 根据产品信息生成详细描述 | 电商平台 | Amazon - 产品描述生成 | 生成详细的眼科医疗设备和药品描述,用于医院电商平台的展示 | |
文本翻译 | 多语言翻译 | 将文本从一种语言翻译为另一种语言 | 翻译服务 | Google - Google Translate, DeepL | 翻译医学文献和报告,方便国际患者或医生阅读 |
文本总结 | 自动摘要生成 | 提取长文本的关键信息生成摘要 | 新闻摘要、研究文献摘要 | SMMRY, Scholarcy | 对医学研究论文、病历报告等长文本进行摘要,方便医生快速获取关键信息 |
问答系统 | 自动问答 | 根据问题生成准确的答案 | 客服问答系统、智能问答平台 | IBM - Watson Assistant, Amazon - Alexa | 训练关于眼科疾病、治疗方案的问答数据,提供智能问答服务 |
内容推荐 | 个性化推荐 | 基于用户兴趣生成推荐内容 | 电商推荐、内容平台推荐 | Netflix - 个性化推荐, YouTube - 推荐视频 | 根据患者的病历和就诊记录推荐相关的健康资讯和护理建议 |
情感分析 | 文本情感分析 | 分析文本中的情感倾向(正面、负面、中性) | 社交媒体监控、市场调查 | Hootsuite - 情感分析工具 | 分析患者反馈和评论,了解患者满意度,优化服务质量 |
语法检查 | 文本纠错 | 检查并纠正文本中的语法错误 | 文本编辑工具、教育平台 | Grammarly, Microsoft Word | 纠正医生和护士在填写电子病历时的语法错误,提高文档质量 |
文本分类 | 分类标签生成 | 对文本进行分类并生成标签 | 内容管理、信息检索 | Salesforce - Einstein | 对病历、医学文献进行分类,方便信息检索和管理 |
个性化回复 | 客户服务个性化回复 | 根据客户问题生成个性化回复 | 客服系统 | Zendesk - 客服自动回复 | 生成个性化的患者咨询回复,提高患者满意度 |
创意写作 | 故事生成 | 根据提示生成完整的故事 | 娱乐、教育 | OpenAI - ChatGPT Creative Writing | 为儿童眼科患者生成有趣的故事,缓解紧张情绪 |
脚本编写 | 自动脚本生成 | 根据剧情或场景提示生成脚本 | 影视剧本创作 | ScriptBook - 自动剧本生成 | 生成健康科普视频的脚本,增强患者健康教育 |
数据增强 | 数据生成 | 生成合成数据用于增强训练数据集 | 机器学习训练 | Snorkel - 数据生成工具 | 生成合成病历数据,用于训练和验证医院内部的AI模型 |
教学助手 | 自动生成教学材料 | 生成教程、练习题等教学材料 | 教育平台、在线学习 | Quizlet - 自动生成练习题 | 生成眼科专业的教学材料和练习题,辅助医生和学生学习 |
编程助手 | 代码生成 | 根据描述生成代码 | 软件开发、代码补全 | GitHub - Copilot, TabNine | 生成医院信息管理系统的代码,提升开发效率 |
语言建模 | 语言模型微调 | 基于特定领域的数据进行语言模型微调 | 专业领域文本生成、领域特定问答 | OpenAI - GPT-3 微调服务 | 针对眼科领域的专有术语和知识进行模型微调,提升模型在眼科领域的准确性 |
信息提取 | 关键词和实体提取 | 从文本中提取关键实体和关键词 | 信息检索、知识图谱 | IBM - Watson Discovery | 从病历和医学文献中提取重要的医学实体和关键词,建立知识图谱 |
3. 训练自定义数据的好处
- 提高模型的特定领域性能:通过在特定领域的数据上进行微调,可以使模型在该领域表现得更加出色。
- 定制化生成内容:能够生成符合特定需求和风格的文本,提高文本生成的相关性和质量。
- 增强用户体验:对于企业和开发者,训练自定义数据可以提供更精准的服务,提升用户满意度。
4. 训练步骤
准备工作
硬件需求
- 一台高性能GPU服务器(推荐至少一张NVIDIA V100或更高)
- 充足的存储空间用于保存模型和数据
软件需求
- 操作系统:Linux(推荐使用Ubuntu)
- Python 3.8或更高版本
- 依赖库:TensorFlow或PyTorch(根据您选择的框架)
数据准备
- 收集并清洗自定义数据,确保数据格式统一
- 数据集分为训练集和验证集
环境搭建
安装依赖
sql
sudo apt update
sudo apt install python3-pip
pip3 install torch transformers datasets
克隆ChatGPT2代码库
bash
git clone <https://github.com/openai/gpt-2.git>
cd gpt-2
数据预处理
将数据转换为模型可以接受的格式。假设我们有一个文本数据集,可以使用以下脚本进行预处理:
ini
from transformers import GPT2Tokenizer
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
def preprocess_data(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
lines = f.readlines()
tokenized_data = []
for line in lines:
tokenized_line = tokenizer.encode(line.strip())
tokenized_data.append(tokenized_line)
return tokenized_data
train_data = preprocess_data('train.txt')
val_data = preprocess_data('val.txt')
模型训练
配置训练参数
创建一个配置文件**config.json
**,内容如下:
json
{
"model_name_or_path": "gpt2",
"train_file": "path/to/train.txt",
"validation_file": "path/to/val.txt",
"output_dir": "./gpt2-custom",
"num_train_epochs": 3,
"per_device_train_batch_size": 2,
"per_device_eval_batch_size": 2,
"save_steps": 10_000,
"save_total_limit": 2
}
启动训练
css
python run_clm.py \
--model_name_or_path gpt2 \
--train_file path/to/train.txt \
--validation_file path/to/val.txt \
--do_train \
--do_eval \
--output_dir ./gpt2-custom \
--num_train_epochs 3 \
--per_device_train_batch_size 2 \
--per_device_eval_batch_size 2 \
--save_steps 10_000 \
--save_total_limit 2
5. 模型部署
保存模型
训练完成后,模型会保存在**output_dir
**指定的目录中。可以使用以下命令将模型导出为可部署的格式:
bash
python -m transformers.modeling_utils.save_model \
--model_name_or_path ./gpt2-custom \
--output_dir ./gpt2-deployed
部署模型
可以选择使用如Flask或FastAPI来构建API服务器:
ini
from transformers import GPT2LMHeadModel, GPT2Tokenizer
from flask import Flask, request, jsonify
app = Flask(__name__)
model = GPT2LMHeadModel.from_pretrained('./gpt2-deployed')
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
@app.route('/generate', methods=['POST'])
def generate_text():
input_text = request.json['text']
inputs = tokenizer.encode(input_text, return_tensors='pt')
outputs = model.generate(inputs, max_length=50)
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
return jsonify({'generated_text': generated_text})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
6. 模型演示
启动服务器后,您可以通过以下命令测试API:
json
curl -X POST "<http://localhost:5000/generate>" -H "Content-Type: application/json" -d '{"text": "你的输入文本"}'