理解生成式AI

news2024/10/6 15:25:17

文章目录

  • 1、专业术语
  • 2、生成式AI
  • 3、ChatGPT
    • 1. 理解LLM
      • RNN循环神经网络
      • Seq2Seq模型
      • ChatGPT与Bert区别
  • 4、模型的生成和部署

1、专业术语

LLM:大型语言模型

GAI:通用人工智能

NLP:自然语言处理

CNN:卷积神经网络

RNN:循环神经网络

2、生成式AI

什么是生成式AI?

生成式AI是一种人工智能技术,它能够生成新的、原创性的内容,如文本、图像、音频等。与传统的基于规则或模板的方法不同,生成式AI能够根据数据中的模式和规律自主地生成新的内容,具有更大的创造性和灵活性。

3、ChatGPT

1. 理解LLM

YOLOv4与TensorFlow

YOLOv4TensorFlow
目标检测算法:它可以在图像中检测和定位多个对象,并给出对象的类别和边界框信息机器学习框架(Python)
应用场景支持多种机器学习算法,包括深度学习、强化学习、决策树,用于构建和训练各种类型的机器学习模型,包括图像分类、目标检测、自然语言处理等

TensorFlow和NLP什么关系?

TensorFlow提供了一系列NLP相关的工具和库,帮助我们构建各种NLP模型。

  1. TensorFlow Text:一个用于构建文本处理模型的库,包括文本向量化、文本分类、文本生成、文本相似度等任务。
  2. TensorFlow Hub:一个用于获取和共享预训练模型的平台,包括NLP领域的BERT、GPT等预训练模型
  3. TensorFlow Addons:一个扩展库,提供了一些用于NLP的扩展功能,例如文本标记、序列匹配等任务。

18年谷歌Bert 模型

​ Bert是一种预训练自然语言处理模型,基于 Transformer 模型结构,并在大规模文本语料上进行了预训练,可以用于文本分类、语义理解、命名实体识别等自然语言处理任务。采用了双向 Transformer 编码器,这种结构能够充分利用上下文信息,使得模型的效果得到大幅提升。同时,Bert 模型使用了 Masked Language Model 和 Next Sentence Prediction 两个预训练任务,进一步提高了模型的性能。一些具体的完形填空。

  1. 什么是预训练?

    预训练(Pre-training)是指在某些领域的任务上,使用大规模数据集预先训练模型,以期望在后续的任务中,利用先前训练的知识对模型进行微调,从而提高模型在特定任务上的性能。

    预训练+微调

  2. 什么是Transformer?

国内的NLP

阿里:PLUG,百度:ERNIE

## 2、Transformer模型

Transformer总体架构可分为四个部分:输入部分、输出部分、编码器部分、解码器部分。

RNN循环神经网络

什么是神经网络?

神经网络通常由输入层隐藏层输出层组成。通过模拟多个神经元之间的连接和传递信息的方式,实现对输入数据的处理和分析,以达到分类、预测、识别等目的。

  1. 输入层:接收外部输入数据
  2. 隐藏层:通过对输入数据进行加权和非线性变换,提取数据的特征信息
  3. 输出层:根据输入层和隐藏层的信息,输出最终的结果
image-20230423182013496

什么是RNN循环神经网络?

​ 在基础神经网络中,只能单独的去处理一个个的输入,前一个输入和后一个输入是完全没有关系的,对于有些序列的消息,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。例如:当我们处理视频的时候,我们也不能只单独的去分析每一帧,而要分析这些帧连接起来的整个序列。

​ 简单的RNN:

img

去掉W就是普通的全连接神经网络

  • X/O:向量,它表示输入/输出层的值

  • U/V:是输入层到隐藏层的**权重矩阵(权重矩阵是连接输入层和隐藏层或隐藏层和输出层的参数矩阵,用于对输入数据进行加权和线性变换,从而产生隐藏层或输出层的输出结果。)**

  • W:循环神经网络隐藏层的值s不仅仅取决于当前这次的输入x,还取决于上一次隐藏层的值s。权重矩阵 W就是隐藏层上一次的值作为这一次的输入的权重。

可以看St函数,S的值最终是由输入X和上一个隐藏层S共同决定的,对于下面的图,其实就是一个RNN是由多个相当于普通的神经网络组成,每个都输出结果值就是S。

img

根据输入和输出的数量,分为三种比较常见的结构:N vs N、1 vs N、N vs 1。

Seq2Seq模型

​ Seq2Seq模型是输出的长度不确定时采用的模型,这种情况一般是在机器翻译的任务中出现,将一句中文翻译成英文,那么这句英文的长度有可能会比中文短,也有可能会比中文长,所以输出的长度就不确定了。

​ seq2seq属于==encoder-decoder结构==的一种,利用两个==RNN==,一个RNN作为encoder,另一个RNN作为decoder,encoder负责将输入序列压缩成指定长度的向量,这个向量就可以看成是这个序列的语义,这个过程称为编码,decoder则负责根据==语义向量==生成指定的序列,这个过程也称为解码。

ChatGPT与Bert区别

BERTChatGPT
架构基于Transformer的预训练语言模型基于Transformer的预训练语言模型
模型双向模型单向模型
目标偏向于理解预训练(MLM、NSP)+微调生成
MLM:MLM任务要求模型在输入文本中随机掩盖一些单词,然后预测这些掩盖单词的正确值
NSP:NSP任务是预测两个句子是否是连续的
偏向于生成:大量数据进行文本更好的表示

​ BERT:它的目标是通过预训练学习生成通用的语言表示,然后通过微调等方式适应特定的任务。BERT是一个双向模型,可以同时考虑上下文的信息,因此在很多任务上表现出了很好的性能,比如问答、文本分类、命名实体识别等。

​ ChatGPT:它的目标是通过预训练学习生成自然语言文本。与BERT不同的是,ChatGPT是一个单向模型,只能考虑上文的信息,因此更适合于生成文本的任务,如对话生成、文本生成等。ChatGPT在自然语言生成方面表现出了很好的性能,尤其是在生成长文本和连贯的对话方面

4、模型的生成和部署

特征平台提供的特征数据可以作为输入数据,帮助模型进行预测和推理。

通常是以下步骤:

  1. 模型转换:将经过训练的模型转换为可以直接使用的形式,如 TensorFlow 的 SavedModel 格式或 ONNX 格式。
  2. 模型集成:将转换后的模型集成到实际的应用程序中,如 Web 应用、移动应用或嵌入式系统等。
  3. 模型测试:对部署后的模型进行测试和验证,以确保其能够正确地处理新的数据并进行预测或决策。
  4. 模型监控:对部署后的模型进行监控和管理,以及时发现和解决模型性能、安全性等方面的问题。

机器学习平台

H2OTensorFlow
语言JavaC++ 和 Python
支持算法H2O提供了多种机器学习算法,包括线性模型、树模型、深度学习模型TensorFlow 主要用于深度学习领域,提供了丰富的深度学习工具和 API,包括卷积神经网络、循环神经网络、自编码器等。
模型部署提供了 REST API 和 Java API 等接口提供了多种模型部署方式,包括 TensorFlow Serving、TensorFlow Lite 等。
应用场景H2O 适用于各种机器学习任务,包括分类、回归、聚类等TensorFlow 主要用于深度学习领域,适用于图像处理、自然语言处理、语音识别等应用场景。

机器学习项目管理平台

产品名称地址是否开源介绍
MLReefhttps://www.mlreef.com/开源机器学习平台,主要用于协作式机器学习项目的管理和部署。它提供了版本控制、数据集管理、模型管理、协作开发等功能,支持多种编程语言和机器学习框架。相比其他平台,它的定位更加注重开源和社区化,用户可以免费使用和贡献代码,与其他开发者共同开发和完善机器学习项目。
DataRobothttps://www.datarobot.com/付费自动化机器学习平台,主要用于自动化机器学习模型的生成、训练和部署。它提供了各种机器学习算法和工具,可以根据用户的数据和需求自动选择最佳的算法和模型,并提供了自动调整超参数、数据清洗和特征工程等功能,使得机器学习模型的开发和部署更加高效和简单。
Hugging Facehttps://huggingface.co/开源自然语言处理(NLP)平台,主要用于构建、训练和部署 NLP 模型。它提供了各种 NLP 模型和工具,可以帮助用户快速搭建和训练 NLP 模型,并提供了预训练模型、模型压缩和部署等功能,使得 NLP 模型的开发和部署更加便捷和高效。
Paperspacehttps://www.paperspace.com/付费是一个云端的机器学习平台,主要用于训练、部署和管理机器学习模型。它提供了高性能的计算资源和丰富的机器学习工具,可以帮助用户快速构建和训练机器学习模型,并提供了自动扩缩容、模型部署和监控等功能,使得机器学习模型的开发和部署更加高效和稳定。

总结:四个平台的共同点是都提供了机器学习相关的服务和工具,可以帮助用户更加便捷和高效地开发和部署机器学习模型。

演示GPT2

from transformers import GPT2LMHeadModel, GPT2Tokenizer

# 加载 GPT2 模型和分词器
model_name = 'gpt2'
tokenizer = GPT2Tokenizer.from_pretrained(model_name)
model = GPT2LMHeadModel.from_pretrained(model_name)

# 定义对话函数
def generate_response(input_text):
    # 将输入文本编码成模型可以理解的格式
    input_ids = tokenizer.encode(input_text, return_tensors='pt')
    
    # 生成回复
    output = model.generate(input_ids=input_ids, max_length=50, num_beams=5, no_repeat_ngram_size=2, early_stopping=True)
    
    # 将生成的回复解码成自然语言文本
    response = tokenizer.decode(output[0], skip_special_tokens=True)
    
    return response

# 进行对话
while True:
    user_input = input("你:")
    response = generate_response(user_input)
    print("机器人:" + response)
    if response == "好的,谢谢!":
        break

image-20230424191907701

image-20230427142820287

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/499762.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spark的安装和配置

Spark的安装和配置 推荐按照我的博客下载hadoop,spark,pyspark以及scala这样版本搭配更好。 如果觉得自己不会版本搭配可私聊博主。 先安装hadoop再安装spark scala的安装和配置:https://blog.csdn.net/weixin_41957626/article/details/1305…

集群session的共享问题

基于redis实现共享session登录 1.集群session共享的问题 session共享问题:多台Tomcat并不共享session存储空间,当请求切换到不同tomcat服务时导致数据丢失问题 替代方案应该满足: 数据共享 内存存储 key、value结构 2.基于redis实现ses…

QoS实验配置-基于类部署

目录 对路由进行优先级标记 配置端口信任DSCP优先级 配置流量监管 配置拥塞管理 配置拥塞避免 配置流量整形 出接口下应用队列模板 对配置进行检验 QoS基于类的方式实现管理(通过调度0~7队列进行实现,一般6、7协议是预留给路由协议的&#xff0c…

macos和windows区别 macos怎么运行windows程序

在我们使用电脑时,重要的是电脑内应用,而系统不过是运行软件的“容器”。日常生活中,我们常见的操作系统是macos和windows,那么macos和windows区别在哪?这两款操作系统的区别很大。macos怎么运行windows程序&#xff1…

从I帧到B帧,H.264编码技术为您构建画面与效果完美结合的视觉盛宴

H264之帧编码 H.264,也称为 MPEG-4 AVC (Advanced Video Coding),是一种高效的视频编码标准,用于压缩和存储视频。H.264 利用了预测编码和变换编码等先进的技术,其编码流程与普通视频编码类似,主要包括帧类型判定、运…

2017年下半年软件设计师下午试题

试题四 阅读下列说明和C代码,回答问题1至问题 2,将解答写在答题纸的对应栏内。 【说明】 一个无向连通图G点上的哈密尔顿(Hamiltion)回路是指从图G上的某个顶点出发,经过图上所有其他顶点一次且仅一次,最后…

HNU-操作系统OS-实验Lab4

OS_Lab4_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 实验目的 了解内核线程创建/执行的管理过程了解内核线程的切换和基本调度过程 实验内容 lab2/3完成了物理和虚拟内存管理,这给创建内核线程…

C++之初识STL—vector

文章目录 STL基本概念使用STL的好处容器vector1.vector容器简介2.vector对象的默认构造函数3.vector对象的带参构造函数4.vector的赋值5.vector的大小6.vector容器的访问方式7.vector的插入 STL基本概念 STL(Standard Template Library,标准模板库)STL 从广义上分为: 容器(con…

springboot+vue音乐翻唱与分享平台(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的音乐网站与分享平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:…

基于 FineReport 快速设计联动报表

一、基于 FineReport 快速设计联动报表 FineReport 一款用于报表制作,分析和展示的工具,可以轻松的构建出灵活的数据分析和报表系统。 下面基于 FineReport 自带的数据表 销量 表快速设计一页可视化联动报表,数据格式如下: 报表…

最新最全花1W买的Python+Selenium全栈Web自动化测试

前言:看这篇帖子,最好要在知道定位八大元素的基础之上才能够比较熟练的看完这篇帖子自动化测试是软件开发中非常重要的一环,它可以帮助开发人员提高代码质量、减少错误和缺陷,并节省测试时间。其中,Selenium是一个广泛…

01- 目标检测 (综述)

要点: 区分One-stage detector 和 Two-stage detector 参考链接:深度学习目标检测最全综述 - 爱码网 详细模型解读参考:目标检测简介 - 知乎 一 目标检测分类 1.1 发展历程 检测网络发布历程: 1.2 检测模型分类 2014年后目标…

7---整数反转

给你一个 32 位的有符号整数 x x x ,返回将 x x x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [ − 2 31 , 2 31 − 1 ] [−2^{31}, 2^{31} − 1] [−231,231−1],就返回 0。 假设环境不允许存储 64 位整数&#xff08…

2017年上半年软件设计师下午试题

试题四 阅读下列说明和 C 代码,回答问题 1 至问题 3,将解答写在答题纸的对应栏内。 【说明】 假币问题:有 n 枚硬币,其中有一枚是假币,己知假币的重量较轻。现只有一个天平,要求用尽量少的比较次数找出这枚…

【编程福音,25款必备AI编码工具推荐,让你事半功倍】

🚀 AI破局先行者 🚀 🌲 AI工具、AI绘图、AI专栏 🍀 🌲 如果你想学到最前沿、最火爆的技术,赶快加入吧✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆&am…

代码随想录算法训练营第三十四天 | 加油站题、左右贪心

1005. K次取反后最大化的数组和 文档讲解:代码随想录 (programmercarl.com) 视频讲解:贪心算法,这不就是常识?还能叫贪心?LeetCode:1005.K次取反后最大化的数组和_哔哩哔哩_bilibili 状态:能做出…

Hadoop的安装与配置

Hadoop的安装与配置 推荐按照我的博客下载hadoop,spark,pyspark以及scala这样版本搭配更好。 如果觉得自己不会版本搭配可私聊博主。 scala的安装和配置:https://blog.csdn.net/weixin_41957626/article/details/130548174 spark的安装和配置…

宇树Unitree机器狗连接外网的一种方法

宇树官方提供的方式: ​​​​​​​ 宇树机器狗连接网络的相关说明 (yuque.com) 我这里提供一种我采用的方式,仅供参考: 需要一根手机数据线,能联网的手机 我这里使用的是小米手机,其余手机大概也能行。 如下&…

ElasticSearch学习随笔之高级检索

ElasticSearch 1、ElasticSearch学习随笔之基础介绍 2、ElasticSearch学习随笔之简单操作 3、ElasticSearch学习随笔之java api 操作 4、ElasticSearch学习随笔之SpringBoot Starter 操作 5、ElasticSearch学习随笔之嵌套操作 6、ElasticSearch学习随笔之分词算法 7、ElasticS…

强化学习_06_pytorch-TD3实践(BipedalWalkerHardcore-v3)

基于策略的离线算法TD3 1.1 简介 reference: openai-TD3 DDPG的critic会高估, 从而导致actor策略失败。TD3是增加了三个关键技巧优化DDPG。经过优化后的TD3(Twin Dalayed DDPG 双延迟深度确定性策略梯度算法)适合于具有高维连续动作空间的任务。 Tricks: Clipped Double Q-l…