当前位置: 首页 > news >正文

预训练模型介绍

一、什么是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 = 0right = len(array) - 1 # 二分查找while left <= right:# 求中间下标mid = (left + right) // 2# 如果查询数字小于数组中间的数字, 则查询范围变为左边的数组# 否则查询范围变为右边的数组if number < array[mid]:right = mid - 1elif number > array[mid]:left = mid + 1else:return midreturn -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博客

 

 

http://www.lryc.cn/news/341507.html

相关文章:

  • Pandas入门篇(三)-------数据可视化篇3(seaborn篇)(pandas完结撒花!!!)
  • SpringBoot中阿里OSS简单使用
  • websocket简介
  • Linux的shell外壳
  • 支付宝支付流程
  • 打招呼得不到回复,跟头像还有关系?
  • 【网络原理】HTTPS 的工作过程
  • Python语言在地球科学中地理、气象、气候变化、水文、生态、传感器等数据可视化到常见数据分析方法的使用
  • 【JVM】class文件格式,JVM加载class文件流程,JVM运行时内存区域,对象分配内存流程
  • GPU系列(六)-NVIDIA GPU 驱动安装
  • 第十五届蓝桥杯总结
  • Linux驱动开发——(八)Linux异步通知
  • Docker知识点汇总表格总结
  • Golang中实现调用Windows API向指定目标发送ARP请求
  • 这是一个简单的照明材料网站,后续还会更新
  • 【设计模式】之模板方法模式
  • 【系统架构师】-选择题(十一)
  • 前端开发攻略---介绍HTML中的<dialog>标签,浏览器的原生弹框。
  • 让外贸业绩翻倍的销售话术分享
  • 观测与预测差值自动变化系统噪声Q的自适应UKF(AUKF_Q)MATLAB编写
  • 虚拟数据中心
  • 解决Blender导出FBX文件到Unity坐标轴错误的问题
  • 基于微信小程序的校园二手闲置物品交易平台的设计与实现
  • java中多线程的3种实现方法
  • 【Docker】docker compose服务编排
  • elementui的el-select+el-tree+el-input实现可搜索的下拉树组件
  • 微信公众号排名 SEO的5个策略
  • python烟花代码
  • Python高级编程
  • leetCode75. 颜色分类