lh16 / commentdata

评论数据
1 stars 1 forks source link

chatgpt体验注册账号避坑指南 | 小马过河 #26

Open lh16 opened 1 year ago

lh16 commented 1 year ago

文章链接:https://lh16.github.io/码农庄园/2023/03/22/chatgpt体验注册账号避坑指南/

lh16 commented 1 year ago

https://github.com/Yidadaa/ChatGPT-Next-Web

lh16 commented 1 year ago

一些目前能用的国内镜像: 基于GPT-3.5-Turob接口开发 https://ai.bo-e.com/ http://newb.site/chatgpt/#/chat/1002 https://aigcfun.com/

不要随意在一些站点输入自己的API key 或者付费,以防受骗

lh16 commented 1 year ago

https://mp.weixin.qq.com/s/DboiwY6pIqad3hgRcY3jDQ

lh16 commented 1 year ago

https://www.iculture.cc/forum-post/33517.html

lh16 commented 1 year ago

https://mojie.buzz/#/plan

lh16 commented 1 year ago

https://chatdoc.com/

lh16 commented 1 year ago

智能客服:ChatGPT可以用于模拟人类客服的对话,为用户提供个性化的客户服务。 聊天机器人:ChatGPT可以与用户进行自然流畅的对话,提供各种服务和帮助。 语音助手:ChatGPT可以用于语音助手的对话生成和处理。 智能问答系统:ChatGPT可以用于自动回答问题,提供快速和准确的答案。 机器翻译:ChatGPT可以用于自动翻译不同语言之间的文本和对话。 摘要生成:ChatGPT可以根据文章的主题和内容生成简洁的摘要。 文本生成:ChatGPT可以用于生成各种文本,包括新闻、小说、诗歌等。 文档自动生成:ChatGPT可以自动为用户生成各种文档,如报告、论文、合同等。 垃圾邮件过滤:ChatGPT可以识别和过滤垃圾邮件,提高邮件的质量。 电子商务推荐:ChatGPT可以根据用户的购买历史和兴趣推荐相应的产品。 金融风险评估:ChatGPT可以根据财经数据和市场趋势预测金融风险。 医疗辅助诊断:ChatGPT可以根据患者的病症和病史提供诊断建议。 舆情分析:ChatGPT可以根据社交媒体和新闻等来源分析公众舆情。 知识图谱构建:ChatGPT可以通过自然语言理解和知识图谱技术构建大规模的知识库。 智能家居控制:ChatGPT可以通过语音识别和对话生成技术控制智能家居设备。 游戏AI:ChatGPT可以用于游戏AI的对话生成和决策。 媒体内容生成:ChatGPT可以生成各种媒体内容,如图片、音频和视频等。 职业培训:ChatGPT可以用于职业培训的自动问答和知识点解析。 情感分析:ChatGPT可以根据对话和文本内容进行情感分析。 智能广告推荐:ChatGPT可以根据用户的兴趣生成广告内容。

lh16 commented 1 year ago

https://zhuanlan.zhihu.com/p/588369112

lh16 commented 1 year ago

https://yige.baidu.com/creation

lh16 commented 1 year ago

https://zhuanlan.zhihu.com/p/612914740

lh16 commented 1 year ago

ChatGPT这个名字的核心在GTP三个英文字母上,因为它的全称是Chat Generative Pre-trained Transformer,翻译过来是“生成式预训练转化器”,是人工智能研究实验室研发的聊天机器人模型。 ChatGPT与我们以前熟悉的人工智能有着很大的区别,以前我们所熟知的人工智能机器人可能还停留在Siri、小爱同学、天猫精灵或者是商场里的指路机器人又或者是购物网站上的智能机器人回复,这些虽然也是人工智能,但是它们的一切行为回复都是人类在后台设置好的,它们只是一个搬运工而已,但ChatGPT不同,它是有思想的,有自主分析能力和判断能力,它的一切行为是大数据分析的结果,只要数据数量足够庞大,它分析的结果将远超人类大脑。

lh16 commented 1 year ago

gpt2 gpt3. gpt4 ................................................................................. openAI chatgpt 微软 new bing 百度 文心一言

lh16 commented 1 year ago

所谓“大模型”,通常是在无标注的大数据集上,采用自监督学习的方法进行训练。之后在其他场景的应用中,开发者只需要对模型进行微调,或采用少量数据进行二次训练,就可以满足新应用场景的需要。

然而,训练通用大模型非常“烧钱”。据国盛证券报告《ChatGPT 需要多少算力》估算,GPT-3 训练一次的成本约为 140 万美元,对于一些更大的 LLM(大型语言模型),训练成本介于 200 万美元至 1200 万美元之间。以 ChatGPT 在 1 月的独立访客平均数 1300 万计算,其对应芯片需求为 3 万多片英伟达 A100 GPU,初始投入成本约为 8 亿美元,每日电费在 5 万美元左右。

如果将当前的 ChatGPT 部署到谷歌进行的每次搜索中,需要 512820.51 台 A100 HGX 服务器和总共 4102568 个 A100 GPU,这些服务器和网络的总成本仅资本支出就超过 1000 亿美元。

国盛证券认为,在公有云上,对于以谷歌等全球科技大企业而言,百万至千万美元级别的训练成本并不便宜,但尚在可接受范围内、并非昂贵。

lh16 commented 1 year ago

ChatGPT与数据训练 ChatGPT本质上是一个多轮聊天机器人,它具有自然语言理解(NLP)和文本生成能力,可以根据上下文内容与用户进行互动。基于预训练语言模型及其强大的语言理解和生成能力,ChatGPT通过在人工标注和反馈的大规模数据上进行学习,使模型能够更好地理解人类的问题并给出更好的回复。

聊天机器人的产生离不开大量的训练语料,ChatGPT的前身GPT-3就使用了3,000亿单词、超过40T的大规模、高质量数据进行训练。ChatGPT在其基础上,加入了人工打标的监督学习,即对话式模型给出结果后,由训练师对结果做出评价并修改结果以更贴切对话内容。澳鹏MatrixGo平台的多轮对话标注工具就是为这一训练方式而专门研发的工具。

lh16 commented 1 year ago

公开的资料显示,ChatGPT的参数高达1750亿,预训练数据集高达45TB,而GPT-1的参数量为1.17亿、预训练数据量约5GB,GPT-2的参数量为15亿、预训练数据量为40GB。可见,ChatGPT是一个全面的飞跃,训练一次ChatGPT所需算力高达3640 PFlop/s-day,即假设每秒计算一千万亿次,也需要计算3640天,相应ChatGPT训练一次的费用估计高达约450万美元。

lh16 commented 1 year ago

现在ChatGPT-4使用算力500P常规数据中心运多需10个即300亿!-5、-6、-7……呢?不可想象算力、数据中心、服务器将爆发增长!10万亿的市场!公开的资料显示,ChatGPT的参数高达1750亿,预训练数据集高达45TB,而GPT-1的参数量为1.17亿、预训练数据量约5GB,GPT-2的参数量为15亿、预训练数据量为40GB。可见,ChatGPT是一个全面的飞跃,训练一次ChatGPT所需算力高达3640 PFlop/s-day,即假设每秒计算一千万亿次,也需要计算3640天,相应ChatGPT训练一次的费用估计高达约450万美元。

有关的测算还有: ChatGPT单月运营所需算力约 4874.4PFlop/s-day,全年则需要58.5EFlop,如果使用算力500P常规数据中心运行ChatGPT,至少需要10个这样的数据中心,按30亿元成本建设一个这样的数据中心计算,总投资高达200-300亿元;NVIDIA估算,如果要训练GPT-3,用8张V100的显卡,训练时长预计要36年,如果用1024张80GB A100则可将时长缩减到1个月,成本高达1.5亿美元,NVIDIA还测试用3072张80GB A100训练 GPT,最大规模的模型参数量达到了1TB,而3072张A100卡的成本高达5亿美元;大模型的训练成本介于200万美元至1200万美元之间,以ChatGPT月独立访客平均1300万计,对应需要3万多张A100 GPU,初始投入成本约为8亿美元,每日电费5万美元左右;OpenAI的重要投资者及战略合作伙伴微软在自己的Azure全球基础设施中,为OpenAI构建了一个庞大的GPU资源池,由上千张GPU构成。

lh16 commented 1 year ago

https://zhuanlan.zhihu.com/p/611757712

在自然语言处理(NLP)领域,深度学习已经成为了一种流行的技术。近年来,ChatGPT和BERT都是备受欢迎的工具,它们各有优缺点,在不同的任务中具有不同的用途。

ChatGPT和BERT都属于Transformer模型的变体,这意味着它们使用自注意力机制来学习文本表示。但是,它们之间还存在着一些关键的差异。

首先,ChatGPT主要用于生成式的NLP任务,如对话生成和文本摘要等。这是因为ChatGPT是一个单向的语言模型,它只考虑了文本的前面部分,而没有考虑后面的部分。因此,它可以在输入未完整时预测接下来的词汇,这使得它在生成式任务上表现出色。

与此相反,BERT主要用于判别式的NLP任务,如文本分类和命名实体识别等。相比于ChatGPT,BERT采用了双向的语言模型,它可以同时利用文本的前面和后面信息来推断当前的上下文。

其次,ChatGPT和BERT的训练数据也有所不同。ChatGPT是通过将大量文本数据输入到网络中进行训练来学习文本表示,而BERT则是通过预先训练和微调两个步骤进行的。在预先训练时,BERT使用了两个任务:掩码语言建模和下一句预测,以学习通用的文本表示,然后在微调阶段将其应用于具体的NLP任务。

最后,ChatGPT和BERT在计算效率上也有所不同。由于ChatGPT需要考虑所有之前的文本来预测下一个词汇,因此它的计算效率较低。相比之下,BERT采用了预训练加微调的方式,它可以快速地适应新的NLP任务。因此,BERT在计算效率上具有优势。

下面是一些示例代码,展示了如何使用ChatGPT和BERT完成常见的NLP任务。

首先,我们将看一下如何使用ChatGPT生成文本。我们可以使用Hugging Face的transformers库来加载预训练的ChatGPT模型

lh16 commented 1 year ago

GPT1.0和GPT2.0是开源的,目前很多国产大语言模型是用开源软件,加上中文语料处理的,差距和GPT3.5可能并不只相差了一代。而现在GPT3.0没有可靠的开源软件。

lh16 commented 1 year ago

https://github.com/Yidadaa/ChatGPT-Next-Web

lh16 commented 1 year ago

https://www.bilibili.com/video/BV1MY4y1R7EN/?vd_source=213a73edfb5d4ab7422f4d5392dca364

lh16 commented 1 year ago

无厘头借用位置插播一个ES内容: https://www.51cto.com/article/618835.html 对于mysql中如上的数据表,ES会对每个字段的值建立索引,通过索引的值去找数据,而且这些索引都是在内存里面的。 实际上的ES的倒排序使用的是前缀作为索引,同时会使用FST对索引数据进行压缩,以保证在内存的数据量不会因为索引多而带来比较大的内存消耗。 https://zhuanlan.zhihu.com/p/451571598 https://www.elastic.co/guide/cn/elasticsearch/guide/current/_filtering_queries.html ElasticSearch-聚合 字段类型:https://blog.csdn.net/chengyuqiang/article/details/79048800 命令大全https://www.cnblogs.com/hld123/p/15477422.html es : https://www.bilibili.com/video/BV1JY4y1Z714/?spm_id_from=333.337.search-card.all.click&vd_source=213a73edfb5d4ab7422f4d5392dca364

mapping: https://www.bilibili.com/video/BV1JY4y1Z714?p=44&vd_source=213a73edfb5d4ab7422f4d5392dca364

http://www.360doc.com/content/22/0406/15/65840031_1025106791.shtml

lh16 commented 1 year ago

OpenAI开放了GPT-3的API接口,可以供用户使用。具体开放的接口包括:

文本生成接口;

文本补全接口;

问答接口;

翻译接口;

语言检测接口;

情感分析接口;

文本分类接口。

这些接口可以满足许多日常应用的需求,比如生成文章、回答问题、进行翻译等等。使用这些接口需要先在OpenAI平台上注册,并获得API密钥,然后就可以开始使用了。

lh16 commented 1 year ago

是的,通过微调(Fine-tuning)模型,用户可以针对特定场景定制模型,从而达到更好的效果。OpenAI提供了针对GPT-3模型的微调功能,允许用户上传自己的数据集,并按照自己的需求训练模型,以适应想要解决的任务。

具体操作流程一般如下:

准备训练数据集,其中包含了您想要训练机器学习模型解决的问题或任务。

登录到OpenAI平台,并打开他们提供的微调流程的工具。

输入您的训练集数据并选择模型的大小、训练步骤的数量以及其他参数。

开始训练模型。

完成训练后,您可以使用Websit或API调用该机器学习模型来完成特定任务的预测。

需要注意的是,微调模型需要一定的编程知识和机器学习经验,但是OpenAI提供的工具相对使用起来还是比较容易的,您可以参考相关文档了解更多。

lh16 commented 1 year ago

https://www.newasp.com/tech/813775.html

lh16 commented 1 year ago

https://baijiahao.baidu.com/s?id=1761702878876899749&wfr=spider&for=pc

前两天,OpenAI 发布了一个基于ChatGPT对话能力的扩展功能: ChatGPT Plugins (ChatGPT 插件集)。这个插件集功能可以让ChatGPT连接获取到各种三方应用程序的数据内容,具体而言就是ChatGPT拥有了能和当前互联网的大多数流量内容交互的能力,换而言之就是ChatGPT通网了。

在官方的介绍中,对于ChatGPT Plugins的描述是这样的:

OpenAI插件将ChatGPT连接到第三方应用程序。这些插件使ChatGPT可以与开发人员定义的API进行交互,从而增强ChatGPT的功能并使其能够执行多种操作。

插件可以允许ChatGPT执行以下操作:

检索实时信息;例如.,体育比分,股票价格,最新消息等.

检索知识库信息;例如.,公司文档,个人笔记等.

代表用户执行操作;例如.,预订航班,订购食物等.

这些插件将极大增强 了ChatGPT 的功能,可以适应无数广泛的场景。将来如果你想要使用ChatGPT来帮助你更好的工作,那么就可以让ChatGPT 读取你的工作数据,跨越式的提升个人的工作效率。

ChatGPT Plugins能力展示 在官网的示例里,ChatGPT几乎可以实现类似科幻电影中,使用人工智能完成各种复杂工作的场景。

首先,需要在ChatGPT Plugins商店中选择安装你想要的插件。

lh16 commented 1 year ago

微调 https://platform.openai.com/docs/guides/fine-tuning https://platform.openai.com/docs/api-reference/fine-tunes

lh16 commented 1 year ago

https://platform.openai.com/docs/models/gpt-3 https://platform.openai.com/docs/api-reference/fine-tunes/create GPT-3 GPT-3 模型可以理解和生成自然语言。这些模型被更强大的 GPT-3.5 代模型所取代。但是,原始 GPT-3 基本模型(davinci、curie、ada和babbage)是当前唯一可用于微调的模型。

lh16 commented 1 year ago

微调出新的模型,微调也是单独收费的: https://platform.openai.com/docs/guides/fine-tuning GPT-3 已经在来自开放互联网的大量文本上进行了预训练。当给出仅包含几个示例的提示时,它通常可以凭直觉判断出您要执行的任务并生成合理的完成。这通常称为“小样本学习”。

微调通过训练比提示中更多的示例来改进小样本学习,让您在大量任务中取得更好的结果。对模型进行微调后,您将不再需要在提示中提供示例。这样可以节省成本并实现更低延迟的请求。

在高层次上,微调涉及以下步骤:

准备和上传训练数据 训练新的微调模型 使用您的微调模型 请访问我们的定价页面,详细了解微调模型训练和使用的收费方式。

哪些模型可以微调? 微调目前仅适用于以下基本型号:davinci、curie、babbage和ada。这些是原始模型,在训练后没有任何说明(例如text-davinci-003)。您还可以继续微调微调模型以添加其他数据,而无需从头开始。

lh16 commented 1 year ago

文中https://github.com/sbaliyun/chatgpt-html/blob/main/index.html部署示例接的是https://api.openai.com/v1/chat/completions 官网这个API,但可以考虑自己接入其他API。(注意使用API是收费的)

lh16 commented 1 year ago

注意这里说的是gpt3模型不是gpt3.5模型 https://platform.openai.com/docs/models/gpt-3 GPT-3 模型可以理解和生成自然语言。这些模型被更强大的 GPT-3.5 代模型所取代。但是,原始 GPT-3 基本模型(davinci、curie、ada和babbage)是当前唯一可用于微调的模型。

lh16 commented 1 year ago

https://platform.openai.com/docs/api-reference/fine-tunes/create 要微调的基本模型的名称。您可以选择“ada”、“babbage”、“curie”、“davinci”或 2022-04-21 之后创建的微调模型之一。 模型汇总:https://platform.openai.com/docs/models/gpt-3

lh16 commented 1 year ago

OpenAI 推出了多个 GPT 系列的模型,包括以下几种:

GPT-1:是基于单层 Transformer 的模型,训练数据是大规模的互联网文本数据,包括百科、新闻、博客等。该模型是 GPT 系列的第一个版本,已经被淘汰。

GPT-2:是 GPT 系列的第二个版本,使用了更高级别的 Transformer 架构,拥有 1.5 亿个参数,能够生成非常流畅、连贯的自然语言文本,具备很强的语言理解能力。

GPT-3:是 GPT 系列的最新版本,具备远超前面版本的能力,包括更多的参数(达到了 1.75 万亿个参数)、更强的语言理解能力、更高的生成能力等。GPT-3 被认为是目前业界最先进的自然语言处理技术之一。

除了 GPT 系列,还有其他一些类似的基于 Transformer 的语言模型,例如 T5、BART、Transformer-XL 等,它们都具备强大的语言理解和生成能力,可以应用于文本生成、自动摘要、对话生成、文本分类、语言翻译等多个领域。

lh16 commented 1 year ago

ChatGPT 是一个基于 OpenAI GPT 模型的对话生成引擎,它可以被实现为一个独立的应用程序或部署到一个网站或应用程序中。ChatGPT 不需要依赖数据库,因为它是一个基于机器学习算法的生成模型,它接收用户的文字输入并输出对应的自然语言响应。ChatGPT 的整个运作过程可以被看作输入输出的映射函数,它没有内部状态或需要持久保存的信息。但是在实际部署过程中,根据业务需要,可能需要存储聊天记录或其他一些信息,这时可能需要使用数据库或其他形式的数据存储机制来实现。

lh16 commented 1 year ago

GPT模型是一种自然语言处理模型,它是由OpenAI开发的,基于深度学习技术,使用神经网络进行训练和推理。虽然它是由代码实现的,但它本身不是一段代码,而是一个模型,可以用于生成自然语言文本、回答问题、文本分类等任务。 大语言模型不是一段代码,它是一种机器学习模型,通常使用深度学习算法来训练。在自然语言处理领域中,大语言模型通常指的是基于神经网络的语言模型,如循环神经网络(RNN)和变压器(Transformer)模型。这些模型可以学习语言的概率分布,从而能够生成自然语言文本、进行文本分类、机器翻译等任务。虽然大语言模型不是一段代码,但是它需要使用代码来实现和训练。

lh16 commented 1 year ago

模型训练好后并不是一段代码,而是一个已经训练好的模型文件。这个模型文件包含了模型的权重参数和结构信息,可以被加载到程序中进行使用。在使用模型时,需要编写代码来加载模型文件,并调用模型的方法进行推理或预测。因此,模型训练和模型使用都需要编写代码,但是训练好的模型本身并不是一段代码

lh16 commented 1 year ago

1、机器学习中大概有如下步骤:

确定模型----训练模型----使用模型。 模型简单说可以理解为函数。 确定模型是说自己认为这些数据的特征符合哪个函数。 训练模型就是用已有的数据,通过一些方法(最优化或者其他方法)确定函数的参数,参数确定后的函数就是训练的结果,使用模型就是把新的数据代入函数求值。

//也就是说确定函数的参数。 通俗来讲:

你可以把机器想象成一个小孩子,你带小孩去公园。公园里有很多人在遛狗。   简单起见,咱们先考虑二元分类问题。你告诉小孩这个动物是狗,那个也是狗。但突然一只猫跑过来,你告诉他,这个不是狗。久而久之,小孩就会产生认知模式。这个学习过程, 就叫“training”。所形成的认知模式,就是”model“。   训练之后。这时,再跑过来一个动物时,你问小孩,这个是狗吧?他会回答,是/否。这个就叫,predict。   一个模型中,有很多参数。有些参数,可以通过训练获得,比如logistic模型中的权重。但有些参数,通过训练无法获得,被称为”Hyperparameter (超参数)“,比如学习率等。这需要靠经验,过着grid search的方法去寻找。   上面这个例子,是有人告诉小孩,样本的正确分类,这叫监督学习。   还有无督管学习,比如小孩自发性对动物的相似性进行辨识和分类。

2、如何训练模型?

首先得定义一个损失函数,加入输入样本,根据前向传播得到预测试。跟真实样本比较,得到损失值,接着采用反向传播,更新权值(参数),来回不断地迭代,直到损失函数很小,准确率达到理想值即可。这时的参数就是模型需要的参数。即构建了理想的模型。

lh16 commented 1 year ago

ChatGPT 既可以看作是一个产品,又可以看作是一个模型。

作为产品,ChatGPT 是 OpenAI 推出的一款自然语言生成引擎,在“OpenAI API”中提供了一种分别适用于不同需求的不同优先级的资费方式提供服务。

作为模型,ChatGPT 是 OpenAI GPT-2 或 GPT-3 等基于 Transformer 架构的预训练语言生成模型的具体实例,经过大量的预训练,可以通过微调定制特定需求和编写相应的代码,用于实现特定的自然语言生成任务。在此基础上,可以实现诸如聊天机器人、文章自动撰写、机器翻译等应用场景。

综上所述,ChatGPT 可以看作是 OpenAI 提供的一种用于构建自然语言生成应用或实现特定任务的解决方案。

lh16 commented 1 year ago

huggingface网站上可以下载相同大小的模型bloom,176b参数,存本地要360g

lh16 commented 1 year ago

chatGPT是大语言模型。

简称“大模型”吧,请记住这个词,也许后面的日子它会和“大数据”一样常常出现。

GPT是一个人工智能的“大语言模型(LLM)”,背后是整合了自监督学习、Transformer、强化学习、知识图谱等技术的大语言模型,Transformer且不说即将发布的GPT4具有150万亿个参数,就是chatGPT背后的GPT3.5,也有1750亿参数,远远超过当前我们使用的深度学习模型,且GPT3的transformer层多达96个,这种模型训练出来的“智能”毫无疑问是革命性的。

早在多年前国际很多专家就坚信大模型是AI的未来(OpenAI),也有很多专家认为Ai大模型是垃圾(如谷歌),也有很多专家认为大模型是未来然后是垃圾现在又变成未来,但总归来来说,近期大家基本达到一直,那就是“大模型”确实是AI的未来。
lh16 commented 1 year ago

具体来说,ChatGPT是基于OpenAI开发的GPT模型进行训练的,GPT模型是一种预训练的自然语言处理模型,可以生成符合语法和语义的自然语言文本。ChatGPT在此基础上进行了进一步的微调,使其能够更好地应对对话任务。 GPT模型是 使用大规模的文本数据集进行预训练,然后在特定任务上进行微 调,以生成自然语言文本。

OpenAl使用了超过数十亿个单词的数据集来预训练GPT模型。这些数据集包含从互联网上的各种来源中收集的文本,例如维基百科、新闻小哥、小说和网页内容。 然后,OpenAI在各种自然语言处理任务上进行了微调,如文本分类、问答和语言翻译,以进一步优化模型的性能。ChatGPT是基于这种经过微调的GPT模型开发的,它可以用于进行聊天对话,并生成符合自然语言语法和语义的回答。

lh16 commented 1 year ago

深度学习说白了就是一大堆矩阵运算,其实cpu也可以做,但是cpu要承担更多的任务,而且深度学习训练需要大规模数据,要占据很多计算资源,这样会搞得cpu不能更好的承担其它任务,然后就发现gpu 很合适,资源多且够专,所以深度学习的发展也使得gpu 的更新迭代也考虑了更多适配深度学习的功能,二者相辅相成,就成了现在这样的情况。

深度学习算法通常使用显卡(Graphics Processing Unit, GPU)来加速计算,因为显卡拥有高度并行化的结构,可以同时执行大量的矩阵运算。在训练深度学习模型时,这些矩阵运算非常复杂,并且需要大量的计算资源。相比之下,普通的中央处理器(Central Processing Unit, CPU)的计算能力要逊色很多。如果你使用CPU来训练深度学习模型,那么你的程序可能会非常慢,甚至可能无法跑出结果。但是,如果你使用GPU来训练模型,那么你的程序速度就会大大提升。所以,深度学习通常使用显卡来加速计算。而且深度学习模型的训练过程通常需要迭代大量的数据,以不断更新模型的参数,以达到最优的性能。这个过程需要进行大量的矩阵运算和数值计算,这对于CPU来说是一个非常棘手的问题。相比之下,GPU拥有更多的计算单元,可以同时执行大量的矩阵运算,使得训练速度大大提升。另外,GPU也支持计算卡内缓存,可以有效减少内存带宽的使用,进一步加速计算。因此,深度学习通常使用GPU来加速计算。

lh16 commented 1 year ago

神经网络的计算密集部分由多个矩阵乘法组成。那么如何才能更快?

我们可以简单地通过同时执行所有操作,而不是一个接一个地执行。这就是为什么我们要使用GPU(图形处理单元)而不是CPU(中央处理单元)来训练神经网络的原因。

lh16 commented 1 year ago

faiss + UniLM 做召回 bert 做精排

Faiss全称(Facebook AI Similarity Search)是Facebook AI团队开源的针对聚类和相似性搜索库,为稠密向量提供高效相似度搜索和聚类,支持十亿级别向量的搜索,是目前较成熟的近似近邻搜索库。 它包含多种搜索任意大小向量集(备注:向量集大小由RAM内存决定)的算法,以及用于算法评估和参数调整的支持代码。 Faiss用C++编写,并提供与Numpy完美衔接的Python接口。除此以外,对一些核心算法提供了GPU实现。

UniLM是一种语言模型,类似BERT,但是比BERT优的点在哪里,它不仅能很好处理NLU的问题,也能很好处理NLG的问题,可以解释为一种既能阅读又能自动生成的预训练模型。 UniLM 是在微软研究院在BERT的基础上,最新产出的预训练语言模型,被称为统一预训练语言模型。使用三种特殊的Mask的预训练目标,从而使得模型可以用于NLG,同时在NLU任务获得和BERT一样的效果。 它可以完成单向、序列到序列和双向预测任务,可以说是结合了AR和AE两种语言模型的优点,Unilm在抽象摘要、生成式问题回答和语言生成数据集的抽样领域取得了最优秀的成绩。

精排算法在许多场景中都有应用,如文本检索、对话问答、推荐等场景中,使用匹配算法首先召回了一系列相似的样本集合,然后需要对这些召回的样本进行精准的排序,得到最优的序列返回给用户。

基于Bert的文本精排算法 https://blog.csdn.net/donruo/article/details/125538849 对于faq问答系统,使用文本匹配和es查询出召回样本集合后,需要返回top1的结果作为最相似问题返回,输入数据为query以及候选doc,输出为相似的百分比。

lh16 commented 1 year ago

交互式BERT:用于精排 表示型BERT:用在召回、粗排,采用了 BERT 输出 token 序列向量的 average 作为句向量的表示

召回:语义召回模型整体是 BERT 相关性任务中双塔表示模型的一个应用。BERT 做为 encoder 来对 query 和 doc 进行向量的表示,基于 faiss 对全量 doc 向量构建语义索引,线上实时的用 query 向量进行召回。 https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247547180&idx=3&sn=0f61b7c1c47c163a75d234bd34e575ca&chksm=ebb701f8dcc088eed14337a3286696e2650d6983d59177889a19ac0d4fd7796e2f2c76940b6f&scene=27

lh16 commented 1 year ago

【BERT】 做为 encoder 来对 query 和 doc 进行【向量的表示】,基于 【faiss】 对全量 doc 向量构建【语义索引】,线上实时的用 query 向量进行召回。

lh16 commented 1 year ago

可以理解为 faiss + UniLM 做向量转换和索引匹配,BERT向量 精排算法做 精排匹配??

lh16 commented 1 year ago

chatgpt的模型文件在哪里下载? ChatGPT 不是一个具有单独模型文件的软件产品,而是由 OpenAI 提供的基于 GPT 系列预训练语言模型衍生出的一系列自然语言处理接口和服务。

如果您想在建立一个聊天机器人或其他自然语言生成应用,需要使用 ChatGPT 提供的接口。OpenAI API 目前有多种模型/模型列表可供开发者使用,例如 GPT-3, DALL-E等。 OpenAI API 的使用需要注册 OpenAI 帐号,同时还需要付费。OpenAI API 的详细使用方法和具体定价等信息可以上 OpenAI 的官方网站进行查询。

如果您是想研究 ChatGPT 模型的内部结构和训练细节,需要先获取 GPT 模型的源代码和预训练权重。目前,GPT 模型已经开源,您可以从 GitHub 等网站上下载相关的代码和权重。最新版的 GPT-3 由于版权原因,尚未公开开源,而是通过 OpenAI API 等接口进行使用。 gpt的模型文件在哪里下载 GPT(Generative Pre-trained Transformer)是使用深度学习技术预训练的一种自然语言处理模型。GPT被广泛应用于文本生成、机器翻译、语音识别等领域,已经发布了多个版本,包括GPT-1、GPT-2以及最近的GPT-3等等。

如果您希望使用Google提供的GPT-2,可以在TensorFlow Modles仓库中下载:https://github.com/tensorflow/models/tree/master/official/nlp/gpt-2

如果您希望使用OpenAI提供的最新版GPT-3,需要先申请API密钥。API密钥申请流程比较复杂,具体可以查看OpenAI官方网站的API文档:https://beta.openai.com/docs/api-reference

不过需要注意的是,由于版权等原因,GPT-3等一些最新的自然语言处理模型代码和权重并不能单独下载。通常需要订阅相关的AI服务API来使用。

lh16 commented 1 year ago

与chatgpt使用的模型类似的模型主要包括:

GPT-2(Generative Pre-trained Transformer 2)模型:是OpenAI提出的一个基于Transformer架构的预训练语言生成模型,具有极强的语言生成能力和上下文理解能力。

Transformer-XL模型:是由华为提出的一种基于Transformer架构的语言模型,能够有效地处理长文本序列,并且具有比GPT-2更好的性能和训练效率。

XLNet模型:是由谷歌提出的一种基于Transformer-XL架构的预训练语言模型,通过对原始文本进行排列方式的随机化,能够更好地处理上下文间的关系,具有更好的生成能力和表现力。

BART模型:是由Facebook AI提出的一种基于Transformer架构的语言模型,通过联合训练自编码器和解码器模型,能够在生成任务和文本重构任务上实现比GPT-2更好的性能。

T5模型:是由谷歌提出的一种基于Transformer架构的通用语言模型,能够在不同的任务上实现端到端的训练和推理,并具有比GPT-2更大的参数规模和更强的语言生成能力。

lh16 commented 1 year ago

https://zhuanlan.zhihu.com/p/613782276?utm_id=0 注意 API 调用是收费的,但是 OpenAI 已经为我们免费提供了18美元的用量(会动态调整) ChatGPT Plus的价格是每月20美元 ChatGPT-4已经开放了API接口,但只有付费的ChatGPT Plus会员才能获得具有使用上限的访问权限,而其他用户需要排队申请内测。 网页版有每日或每月限制?

lh16 commented 1 year ago

土法绕过ChatGPT网页版API限制,Selenium模拟手工操作,Python代码付 https://www.bilibili.com/read/cv20610733 方案落后,仅供参考启蒙