码农之家

专注优质代码开发,为软件行业发展贡献力量

OpenAI及二次训练介绍

什么是人工智能(AI)

      人工智能(Artificial Intelligence,AI)是一门致力于开发能够执行通常需要人类智能的任务的计算机科学。AI 包括从学习和推理到感知和语言理解等广泛的智能行为。

AI 的分类

  • 弱人工智能(ANI) : 专注于特定任务的智能,如语音助手和推荐系统。它只能在预设的范围内执行任务,不具备通用智能(市面主流)。
  • 强人工智能(AGI) : 具有像人类一样的广泛智能,能够理解和学习任何任务。AGI 可以适应各种环境和任务,目前尚未实现(研究阶段)。
  • 超人工智能(ASI) : 超越人类智能的假想智能,它在所有领域都超过人类。ASI 目前仍然是理论概念(理论概念)。

AI 的核心技术

  1. 机器学习(ML) : 通过数据训练算法,使系统能够从数据中学习和做出预测或决策。包括监督学习、无监督学习和强化学习。
  2. 深度学习(DL) : 机器学习的一个子集,利用多层神经网络进行复杂数据模式的分析和学习。应用于图像识别、自然语言处理等领域。
  3. 自然语言处理(NLP) : 使计算机能够理解、解释和生成人类语言。包括文本分析、语言翻译、语音识别等。
  4. 计算机视觉(CV) : 使计算机能够理解和处理图像和视频。应用于自动驾驶、医疗影像分析等领域。
  5. 人工智能生成内容(AIGC) : 利用人工智能技术生成文本、图像、音频等内容。应用于新闻编写、文本生成、图像创作等领域。
  6. 自动语音识别(ASR) : 让计算机能够理解和转录人类的口语。用于语音助手、语音转文等场景。
  7. 强化学习(RL) : 通过与环境的交互,让模型通过试错的方式学习如何最大化奖励。用于游戏AI、自动驾驶、机器人控制等场景。

市面主流的 AI 公司和技术

公司主要产品/技术描述应用领域AI 核心技术
OpenAIGPT-4、DALL-E、Codex、Whisper生成文本、图像和代码,语音识别对话系统、内容生成、编程辅助、语音识别生成模型(AIGC)、NLP、ASR
Google AIBERT、T5、LaMDA自然语言处理模型,用于文本理解和生成,对话系统搜索引擎优化、文本分类、问答、对话系统NLP
DeepMindAlphaFold、AlphaGo蛋白质结构预测和围棋AI 生物学研究、药物开发、游戏AI生物信息学、强化学习(RL)
TeslaAutopilot自动驾驶技术,通过AI处理传感器数据实现车辆自动驾驶自动驾驶、交通运输计算机视觉(CV)
Amazon AWSAmazon Alexa智能语音助手,理解和回应用户的语音命令智能家居、语音助手、客户服务语音助手
IBM WatsonWatson Assistant、Watson Discovery自然语言处理和机器学习平台,提供多种AI解决方案医疗、金融、客户服务、分析NLP、机器学习(ML)
NVIDIAClara医疗AI平台,提供医疗影像、基因组学等领域的AI解决方案医疗影像、基因组学、智慧医疗医疗AI
AnthropicClaude高性能对话模型,专注于提供对话和文本生成服务对话系统、文本生成、内容创作生成模型(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 各种模型和服务的接口,允许开发者集成这些 AI 能力社交媒体内容审核、在线社区管理
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.com
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY

  • 请求体
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。
处理响应: 读取响应中的流数据,实时获取模型生成的内容。

  • 示例代码
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 提供的微调功能可以提高模型在特定领域或任务中的表现,减少对提示的依赖,并降低响应延迟。
  1. 比提示更高质量的结果
  2. 能够训练比提示中更多的示例
  3. 由于提示较短而节省了
  4. 降低延迟请求

OpenAI 的文本生成模型已在大量文本上进行了预训练。为了有效地使用这些模型,我们在提示中包含说明,有时还会包含几个示例。使用演示来展示如何执行任务通常称为“少量学习”。
微调通过训练比提示中更多的示例来改进小样本学习,让您在大量任务上取得更好的结果。**一旦模型经过微调,您就不需要在提示中提供那么多示例。**这可以节省成本并实现更低延迟的请求。

从高层次来看,微调涉及以下步骤:
  1. 准备并上传训练数据
  2. 训练新的微调模型
  3. 评估结果并根据需要返回步骤 1
  4. 使用微调模型

示例代码

  • 上传数据
POST <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"

  • 创建微调作业
POST <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"
}

  • 监控和评估
GET <https://api.openai.com/v1/fine-tunes/{fine_tune_id}> HTTP/1.1
Host: api.openai.com
Authorization: Bearer YOUR_API_KEY

  • 使用微调模型
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": "ft:gpt-3.5-turbo:custom_model",
  "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"}
  ]
}

相关资料:

官方网站:openai.com/zh-Hans-CN/
模型介绍(需要代理):platform.openai.com/docs/models
token计算工具(需要代理):platform.openai.com/tokenizer
价格:openai.com/zh-Hans-CN/api/pricing/
预训练微调(需要代理):platform.openai.com/docs/guides/fine-tuning


luodong

0 评论数