预训练模型介绍

一、什么是GPT

GPT 是由人工智能研究实验室 OpenAI 在2022年11月30日发布的全新聊天机器人模型, 一款人工智能技术驱动的自然语言处理工具 它能够通过学习和理解人类的语言来进行对话, 还能根据聊天的上下文进行互动,能完成撰写邮件、视频脚本、文案、翻译、代码等任务

  • 1f42588e82cf423898cc30db87daa44e.png

二、 为什么GPT很火

  • 打开 ChatGPT 聊天框之后只需要在对话框里输入问题,就可以获得答案,能够应对日常对话

  • ChatGPT 以对话方式进行交互,对话格式使 ChatGPT 能够回答后续问题、承认错误、质疑不正确的前提和拒绝不适当的请求

使用 ChatGPT 的示例演示:

  • 假如 “我想对暗恋的女孩写一篇表白信”

d91513eefac541788dcbce21e9e1aac3.png

三、使用Python调用GPT 

首先,要安装openai库

pip install openai

接下来,需要获取一个API密钥(API key),可以在OpenAI官网上注册并获取。然后,使用以下代码调用GPT API:

import openai

# 替换为你的API密钥
openai.api_key = "your_api_key"

def chat_with_gpt(prompt):
    response = openai.Completion.create(
        engine="text-davinci-002",
        prompt=prompt,
        max_tokens=1024,
        n=1,
        stop=None,
        temperature=0.5,
    )
    return response.choices[0].text.strip()

# 示例:向ChatGPT提问
question = "你好,ChatGPT!"
answer = chat_with_gpt(question)
print(answer)

提问二分查找: 

# 功能: 二分查找
# 输入参数: array: 数组, number: 查找数字
# 输出参数: 查询数字在数组中的下标, 如果查询不到返回-1
def binary_search(array, number):
    # 定义左右指针
    left = 0
    right = len(array) - 1 

    # 二分查找
    while left <= right:
        # 求中间下标
        mid = (left + right) // 2

        # 如果查询数字小于数组中间的数字, 则查询范围变为左边的数组
        # 否则查询范围变为右边的数组
        if number < array[mid]:
            right = mid - 1
        elif number > array[mid]:
            left = mid + 1
        else:
            return mid

    return -1

四、GPT应用场景

GPT模型的应用场景主要分为以下三大模块:

  • 代码相关: 如程序语言转换, 比如Python转Java、生成程序命令、修复代码Bug、程序代码解释等;
  • 日常生活相关: 如语言翻译;美食制作配方生成;段落关键字提取;餐馆点评;
  • 职业相关: 创作一个短故事;产品广告设计;生成面试问题帮助面试者准备面试

下面我们以日常生活相关的场景, 来实现GPT功能的应用,这里选取一道中国菜: 鱼香肉丝

  • 中国菜“鱼香肉丝”GPT给出的做法

 c97d5635496d4e1292bd70b5c772959e.png

五、GPT背后原理

GPT(Generative Pre-trained Transformer)是一种基于深度学习的语言模型,其核心在于利用大规模的文本数据进行预训练,从而能够生成连贯且符合语法规则的自然语言文本

  • Transformer:是一种基于自注意力机制(Self-Attention)的深度学习模型,特别是在处理序列数据如自然语言处理(NLP)领域表现出色。它由编码器(Encoder)和解码器(Decoder)组成,能够捕捉输入数据中的长距离依赖关系。
  • PyTorch:是一个动态图型的深度学习框架,提供了丰富的工具和API来构建、训练神经网络模型。它以其易用性、灵活性以及良好的社区支持而受到研究者和开发者的青睐。

GPT模型的训练过程包括两个主要阶段:预训练和微调。在预训练阶段,模型通过学习大量文本资料来把握语言的基本规律和模式;在微调阶段,模型则通过特定任务的训练数据进行精细调整,以适应具体的应用场景。具体来说,GPT模型通常使用变换器(Transformer)作为其网络架构的基础,该架构能够有效处理文本序列中词与词之间的复杂依赖关系。 

GPT模型在与人进行对话时,通常需要解决生成合理且连贯的回应和维持对话的深度与多样性这两个关键问题。

当涉及到生成合理且连贯的回应时,ChatGPT需要理解提问者的意图并给出一个确切且相关的回答。

  • 提问:请解释人工智能的定义。
  • GPT回答:人工智能(Artificial Intelligence,简称AI)是指由计算机系统模拟和执行人类智能的能力。它涉及开发能够感知、学习、推理、决策和解决问题的智能机器。人工智能的目标是使计算机能够像人一样思考、理解和适应环境,从而能够执行各种任务,从简单的自动化到复杂的认知任务

六、神经网络语言模型

我们知道的N-gram语言模型是基于统计的语言模型,是一种离散型的语言模型,所以泛化能力差,而且如果随着N的增大,参数空间呈现指数级增长,导致维度灾难微调。

所以人们开始尝试使用神经网络来建立语言模型。

关于神经网络的介绍:神经网络的激活函数-CSDN博客

 

 

相关推荐

  1. 训练模型的分类,以及代表模型介绍

    2024-05-02 12:00:04       58 阅读
  2. Keras中内置的训练模型架构介绍

    2024-05-02 12:00:04       44 阅读
  3. NLP训练模型

    2024-05-02 12:00:04       31 阅读
  4. 训练语言模型

    2024-05-02 12:00:04       34 阅读
  5. 模型训练——使用训练权重、冻结训练

    2024-05-02 12:00:04       34 阅读
  6. 训练模型下载和使用

    2024-05-02 12:00:04       67 阅读
  7. Keras加载训练模型

    2024-05-02 12:00:04       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-02 12:00:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-02 12:00:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-02 12:00:04       82 阅读
  4. Python语言-面向对象

    2024-05-02 12:00:04       91 阅读

热门阅读

  1. C# Windows Forms 应用程序中连接到 数据库

    2024-05-02 12:00:04       34 阅读
  2. 【c++】【贪心】机器生产

    2024-05-02 12:00:04       32 阅读
  3. 企微SOP新风尚:构建高效、精准的营销流程

    2024-05-02 12:00:04       31 阅读
  4. 7、Python:数值类型

    2024-05-02 12:00:04       32 阅读
  5. c++ 随机数

    2024-05-02 12:00:04       30 阅读
  6. Vue 监听键盘按下键 与 组合键

    2024-05-02 12:00:04       29 阅读
  7. django之select_related、prefetch_related

    2024-05-02 12:00:04       35 阅读