BloombergGPT—金融领域大模型

文章目录

  • 背景
  • BloombergGPT
    • 数据集
    • 金融领域数据集
    • 通用数据集
    • 分词
  • 模型
    • 模型结构
    • 模型相关参数
    • 训练配置
    • 训练过程
  • 模型评估
    • 评估任务分布
    • 模型对比
    • 金融领域评估
    • 通用领域评估

背景

GPT-3的发布证明了训练非常大的自回归语言模型(LLM)的强大优势。GPT-3有1750亿个参数,比以前的GPT-2模型增加了一百倍,并且在现在流行的一系列LLM任务中表现出色,包括阅读理解、开放式问答和代码生成。

在GPT-3之后,模型的规模逐渐增加到2800亿、5400亿和1万亿参数。当然为了实现高性能的LLM,还有一些其他的重要方面,如不同的训练目标、优化多语言模型、寻找更高效和更小的模型,以及寻找数据和参数最优化的训练规模。

很多工作几乎完全集中在一般LLM(通用LLM)上,很多模型在涵盖广泛主题和领域的数据集上进行训练,虽然有一些数据集包括一些专门领域的数据集(例如,代码或生物医学文章),但模型训练重点仍然是构建具有广泛能力的LLM。最近,使用特定领域数据训练模型的工作已经产生了一些成果,这些模型虽然小得多,但在这些领域内的任务上击败了通用LLM,例如科学领域和医学领域。这些发现推动了专注于特定领域的模型的进一步发展。

金融科技(FinTech)是一个庞大且不断发展的领域,NLP技术发挥着越来越重要的作用。金融NLP任务包括情绪分析、命名实体识别、新闻分类以及人机问答等。虽然任务范围与一般NLP基准中的任务范围相似,但金融领域的复杂性和特定术语需要适用于特定领域的系统。出于所有这些原因,将LLM专注于金融领域将是有价值的。

BloombergGPT

BloombergGPT来自于彭博社(Bloomberg)和约翰霍普金斯大学的Shijie Wu等人在2023年3月30日公开在arXiv的一篇文章:BloombergGPT: A Large Language Model for Finance,全文共76页。彭博社,是全球商业、金融信息和财经资讯的领先提供商,是一家资讯公司。

BloombergGPT是一个拥有500亿参数的语言模型,其训练主要是使用大规模的金融财务数据,即基于彭博社的广泛数据源构建了3630亿个标签的特有数据集(363 billion token dataset),这可能是迄今为止最大的特定领域数据集,并增加了3450亿个标签的通用数据集的数据,总数据量多达7000亿。

数据集

BloombergGPT采用将金融领域数据集和通用数据集混合构建的方式,使得模型兼具通用能力和特定领域任务的能力。
作者将数据集命名为FinPile,其中金融领域的数据是由一系列英文金融信息组成,包括新闻、文件、新闻稿、网络爬取的金融文件以及提取到的社交媒体消息。通用数据集包含如The Pile、C4和Wikipedia。FinPile的训练数据集中大约一半是特定领域的文本,一半是通用文本。为了提高数据质量,每个数据集都进行了去重处理。

金融领域数据集

金融领域数据集共包含了3630亿个token,占总数据集token量的54.2%,具体由以下几个部分构成:

金融领域相关网页,2980亿token,占比42.01%;
金融领域知名新闻源,380亿token,占比5.31%;
公司财报,140亿token,占比2.04%;
金融相关公司的出版物,90亿token,占比1.21%;
bloomberg,50亿token,占比0.7%。

因为包含一部分收费和私有数据,所以这份数据集不会被公开。

通用数据集

通用数据集共包含了3450亿个token,占总数据集token量的48.73%,具体分为如下几个部分:

  • The Pile数据集,1840亿token,占比25.9%;
  • C4数据集,1380亿token,占比19.48%;
  • Wikipedia数据集,240亿token,占比3.35%。

其中,The Pile 数据集是一个 825 GiB 多样化的开源语言建模数据集。其构成如下表,其中从Pile-CC是从Common Craw获取的网页数据,占比约18%,高质量数据占比越82%。
在这里插入图片描述
Common Crawl 是一个海量的、非结构化的、多语言的网页数据集。它包含了超过 8 年的网络爬虫数据集,包含原始网页数据(WARC)、元数据(WAT)和文本提取(WET),拥有PB级规模,可从 Amazon S3 上免费获取。下载地址:http://commoncrawl.org/the-data/get-started/

Colossal Clean crawl Corpus (C4)是一个用于训练大模型的常用数据集引入支持训练T5。虽然它和Pile-CC有重叠的部分,但C4的清洗和处理方式不同,因此具有很高的质量。

Wikipedia数据集:The Pile和C4都包含一些过时的维基百科的副本,所以包含最新维基百科页面的数据对模型的真实性可能是有好处的。因此,又选用了包括2022年7月1日起的英文维基百科数据。

分词

数据集使用Unigram tokenizer对原始文本进行tokenize。作者进行了两点改进:

  • 在pre tokenization这一步,将数字视为单个token,并且允许词组的存在,以提高信息密度减少句子长度(参考了PaLM的处理方式);
  • 由于在整个Pile数据集上使用Unigram tokenizer进行分词会比较低效,因此使用分治的思想(先分割处理后进行合并)优化Unigram tokenizer在大数据集上的实现,将Pile中22个领域分别拆分为256个大小基本相同的块。然后在22个领域的256个(共5632个)块的每一个上训练一个词汇量为65,536( 2 16 2^{16} 216) 的Unigram tokenizer,最后对这些词表进行合并,并将最终词表大小控制在13万这个数量级上。
    在这里插入图片描述

常见的分词算法:BPE算法,WordPiece算法,ULM算法,SentencePiece算法等。

BPE算法

Byte Pair Encoding(字节对编码):就是寻找经常出现在一起的Byte对,合并成一个新的Byte加入词汇库中。

训练过程:

  • 首先定义所有可能的基本字符(abcde…)

  • 然后开始循环数出最经常出现的pairs,加入到我们的候选字符(基本组成单元)中去

  • 只要确定iteration的次数,如30000个iteration,词表个数就是:30000 + 原始字母表中的字母数

如:原始词表如下:

{'l o w e r ': 2, 'n e w e s t ': 6, 'w i d e s t ': 3, 'l o w ': 5}

其中的key是词表的单词拆分成字母,再加代表结尾,value代表词出现的频率。

WordPiece算法

WordPiece算法可以看作是BPE的变种。**Google的Bert模型在分词的时候使用的是WordPiece算法。**不同点在于,如何选择两个子词进行合并:BPE选择频数最高的相邻子词合并,而WordPiece选择能够提升语言模型概率最大的相邻子词加入词表。

  1. 准备足够大的训练语料
  2. 确定期望的subword词表大小
  3. 将单词拆分成字符序列
  4. 基于第3步数据训练语言模型
  5. 从所有可能的subword单元中选择加入语言模型后能最大程度地增加训练数据概率的单元作为新的单元
  6. 重复第5步直到达到第2步设定的subword词表大小或概率增量低于某一阈值。

Unigram Language Model (ULM)

与WordPiece一样,Unigram Language Model(ULM)同样使用语言模型来挑选子词。不同之处在于,BPE和WordPiece算法的词表大小都是从小到大变化,属于增量法。而Unigram Language Model则是减量法,即先初始化一个大词表,根据评估准则不断丢弃词表,直到满足限定条件。ULM算法考虑了句子的不同分词可能,因而能够输出带概率的多个子词分段。

SentencePiece算法

把一个句子看作一个整体,再拆分成片段,没有保留天然的词语的概念。把空格space当做一种特殊字符来处理,再用BPE或者Unigram算法来构造词表。
比如,XLNetTokenizer就采用了_来代替空格,解码的时候会再用空格替换回来。
目前,Tokenizers库中,所有使用了SentencePiece的都是与Unigram算法联合使用的,比如ALBERT、XLNet、Marian和T5。

模型

模型结构

模型基于BLOOM模型的自回归结构(decoder-only causal language model based on BLOOM),具体包含了70层transformer decoder。
在这里插入图片描述

  • 前馈层(FFN)中的非线性函数采用GELU
  • 位置编码采用ALiBi编码
  • 模型在第一层多了一个layer normalization

模型相关参数

整个训练过程是在64台8卡的A100 GPU(40G显存)上进行的,模型相关参数如下:
transformer decoder的层数:70
注意力层多头的头数:40
每个头的纬度:192
词表大小:131072
隐藏层维度:7680
模型参数量:500亿
在这里插入图片描述

训练配置

  • 作者在每篇文档的最后添加了特殊标记<|endoftext|>,模型训练时选取的句子长度为2048token
  • 训练时采用的优化方法是AdamW,beta1、beta2、weight decay取值分别为0.9、0.95、0.1,初始学习率为6e-5,采用cosine衰减、线性warmup方式
  • 模型参数随机初始化为均值0、标准差0.006588的正态分布,并对MLP的第二层和注意力层输出进行缩放
  • 关于训练的不稳定性,文章中没有描述训练BloombergGPT时采用的方法,只是介绍了相关进展
  • 关于计算使用到的硬件,使用了64个AWS的p4d.24xlarge实例,每个p4d.24xlarge实例包含了8块40GB的A100GPU

训练过程

训练使用AWS提供的AmazonSageMaker来训练和评估BloombergGPT,并在总共64p4d.24xlarge实例上进行训练。每个p4d.24xlarge实例都有8个NVIDIA 40GB A100 GPU,这总共产生512个40GB A100 GPU。为了快速访问数据,还使用Amazon FSX For Lustre,它支持每个TiB存储单元高达1000 MB/s的读写吞吐量。

损失函数随训练步数变化曲线如下图:
在这里插入图片描述
模型共训练了139,200步,进行了约0.8个epoch训练了53天

一个epoch都没有训练完的原因是这时验证集上的损失函数已经不再继续下降了。

具体训练过程如下

  • 初始训练的batch size大小为1024,warm-up过程持续了7200步,随后作者将batch size修改为2048。
  • 115,500步之后,验证集上的损失不再下降,然后作者将学习率缩小为原始的2/3;
  • 129,900步之后,学习率缩小为之前的1/2,同时增加dropout
  • 137,100步之后,学习率再次缩小为之前的1/2
  • 最终,训练在146,000步结束。作者选取139,200这一步的模型最为最终使用的模型。

模型评估

评估任务分布

对BloombergGPT的评估分成了两部分金融领域任务与通用任务。这样做的目的也比较直观,就是验证在特定领域预训练后的模型能够在特定领域表现好,同时在通用领域的表现也不会差太多这一观点。

金融特定任务有助于检验假设,即对高质量金融特定数据进行训练将在金融任务中产生更好的结果。通用任务主要评估模型的性能是否与之前公布的结果直接可比。

对于金融相关的任务,分别收集了公开可用的金融数据任务,我们还包括了从Bloomberg内部高质量评估集中提取的任务,如用于情绪分析和命名实体识别等。对于通用任务,我们从多个现有的基准和小组结果中得出以下类别:BIG bench Hard、知识评估、阅读理解和语言任务。每种类型的任务数量和组的定义如下表所示。
在这里插入图片描述

模型对比

对比了BloombergGPT、GPT-NeoX、OPT、BLOOM、GPT-3在不同任务上的表现。注意,这里因为GPT-3模型无法获取,故仅在部分通用任务上进行了评测

各个模型使用到的token数量、参数数量、计算量如下:
在这里插入图片描述
作者对每一个模型均独立进行了评测,并且在每一个任务中使用相同的标准prompt、相同的样例、不使用任务描述和任何CoT prompt,以保证评测结果的公平性。

对于有多个答案的任务,文章中采用了**基于似然的分类方法(likelihood-based classification)进行评估;对于其他任务,文章采用贪心解码(greedy decoding)**的方式进行评估。

holdout loss

作者首先在FinPile数据集预留的部分样本上对各个模型进行了bits per byte的评估。

bits per byte指标是评估语言模型的一种常见指标,类似于perplexity,取值越小,模型越好。具体计算方法可见**How to compute bits per character (BPC)?**
各个模型在各个类型的数据上的bits per byte值如下:
在这里插入图片描述
可以看出,BloombergGPT在金融语料上的bits per byte均好于其他模型,并且在财报(Filings)这个类别上表现尤其突出。这个结果也符合预期。否则可能就没有后面任务对比的必要了。

金融领域评估

金融领域任务共有6种类型,3种判别式任务、3种生成式任务。具体任务的格式如下:
在这里插入图片描述
文章又将金融领域任务分成了外部任务和Bloomberg内部任务。在每个任务上,作者除了评估模型在任务上的表现,还评估了同一任务下不同模型生成结果之间两两比较的胜率(WR)。

外部任务

外部任务主要如下:
在这里插入图片描述

  • ConvFinQA数据集是一个针对金融领域的问答数据集,包括从新闻文章中提取出的问题和答案,旨在测试模型对金融领域相关问题的理解和推理能力
  • FiQA SA,情感分析任务,测试英语金融新闻和社交媒体标题中的情感走向。
  • Headline,新闻标题在预定义标签下的二分类。数据集包括关于黄金商品领域的英文新闻标题,标注了不同的子集。任务是判断新闻标题是否包含特定信息,例如价格上涨或价格下跌等。
  • FPB,金融短语库数据集包括来自金融新闻的句子情绪分类任务。
  • NER,命名实体识别任务,针对从提交给SEC的金融协议中收集金融数据,进行信用风险评估。

对于ConvFinQA来说,这个差距尤为显著,因为它需要使用对话式输入来对表格进行推理并生成答案,具有一定挑战性。

从评估结果来看,BloombergGPT在五项任务中的四项(ConvFinQA,FiQA SA,FPB和Headline)表现最佳,在NER(Named Entity Recognition)中排名第二。因此,BloombergGPT有其优势性。

Bloomberg内部任务之情感分析

这个任务中的情感分析均为基于内部特定方面的情感分析数据集(aspect-specific)。
在这里插入图片描述
探索性任务:NER

NER(Named Entity Recognition,命名实体识别)在很大程度上是生成LLM尚未探索的任务,我们研究的LLM论文中没有一篇报告NER性能。因此,我们将NER视为一项探索性任务,并报告初步结果。

对于生成性LLM来说,NER可能是一项艰巨的任务,这有几个原因。

  • 首先,NER是一项信息提取任务,更适合于编码器-解码器或仅编码器架构。LLM的生成性并没有给NER带来优势。
  • 与其他任务相比,NER需要大量的即时工程和更多的案例训练才能获得合理的结果。特定于金融的NER有一些微妙之处,这使得零次或少次学习变得特别困难。

例如,如果有这样一个标题“彭博社:马斯克为推特和对中国的评论添加了新功能(Bloomberg: Mr. Musk adds new features to Twitter and comments on China)”。
根据说明和下游任务需求:
(1)报道新闻机构“彭博社”是否可以被标记,这取决于我们是否想要突出的实体,
(2)“马斯克先生”或“马斯克”是要被标记为PER(人物),
(3)“推特”可以被标记为ORG(组织)或PRD(产品),因为推特产品中添加了功能,而不是组织,
(4)“中国”可能标记为ORG或LOC(地区),尽管正确的标记可能是ORG。

如果没有在提示中添加更详细的说明,LLM就不知道预期的标记行为。基于初步测试,将要预测的实体类型限制为ORG、PER和LOC,以在所有模型的内部NER任务中获得最佳性能。总的来说,过滤掉的实体不到1%。

因此,这里的NER只涉及到ORG、PER、LOC这三类实体。

同时探索性任务NER+NED是指识别出实体后再将实体链接到上市公司的股票简称。比如“AAPL announced that they will stop using Intel chips in future products.” 这句话NER的结果是“AAPL, Intel”,NER+NED的结果是 “AAPL, INTC”。

这两类任务涉及到的数据集包括了7个数据集,分别为BN(Bloomberg BN wire上内容)、BFW(Bloomberg First Word上的内容)、Filings(财报内容)、Headlines(Bloomberg news内容)、Premium(Bloogberg收录 的第三方新闻内容)、Transcripts(公司新闻发布会的文字记录)、Social Media。

最终,NER任务下,BloombergGPT仅在Headlines这一个数据集上得分最高;但在NER+NED任务下,BloombergGPT在除了Social Media任务的其他任务上均得分第一。

具体结果如下:
在这里插入图片描述

通用领域评估

作者在BIG-bench Hard(BIG-bench的一个子集,仅包含目前模型表现无法超过人类的任务)、常识测试(不提供任何背景知识,仅可以训练时使用的数据)、阅读理解语言学(消歧、语法识别、蕴含判别等)等任务上进行了测试。

在BIG-bench Hard任务上,BloombergGPT得分低于参数量更大的PaLM和BLOOM,但是与参数规模类似的GPT-NeoX或OPT66B相比,BloombergGPT的性能更接近BLOOM,这说明开发金融专用的大语言模型并没有明显牺牲其通用能力。

在常识测试任务中,BloombergGPT在1个任务上取得了第一名,在其余3个任务上取得了第二名(这里未考虑GPT-3)

在阅读理解任务上,GPT-3在所有任务上排名第一,BloombergGPT在5/6个任务上排名第二,且得分远高于BLOOM模型。

在语言学任务上,GPT-3在综合排名第一,BloombergGPT综合排名第二,且综合得分高于BLOOM模型。

评测总结

在金融领域任务上,BloombergGPT综合表现最好;

在通用任务上,BloombergGPT的综合得分优于相同参数量级的其他模型,并且在某些任务上的得分要高于参数量更大的模型。

这都说明,开发金融专用的大语言模型在金融领域取得好效果的同时,并没有以牺牲模型通用能力为代价。

要点总结:

  • BloombergGPT是Bloomberg训练出来的金融大语言模型(LLM for Finance)
  • 模型参数量为500亿,使用了包含3630亿token的金融领域数据集以及3450亿token的通用数据集
  • 隐藏层维度为7680,多头的头数为40
  • 模型采用Unigram tokenizerAdamW优化器
  • 模型在64个AWS的p4d.24xlarge实例上训练了53天,其中每个p4d.24xlarge实例包含了8块40GB的A100GPU
  • 对BloombergGPT的评估包含了两部分:金融领域评估与通用领域评估
  • 评估对比的其他大语言模型有GPT-NeoX、OPT、BLOOM、GPT-3
  • 在金融领域任务上,BloombergGPT综合表现最好在通用任务上,BloombergGPT的综合得分同样优于相同参数量级的其他模型,并且在某些任务上的得分要高于参数量更大的模型
  • BloombergGPT模型在金融领域取得好效果的同时,并没有以牺牲模型通用能力为代价
  • 对模型定性评估的结果表明,BloombergGPT可以提高工作效率
  • 出于安全性的考虑,BloogbergGPT模型不会被公开,但是模型训练和评估的相关经验和思考会被分享出来
  • 作者认为,对模型效果提升促进最大的三个因素(按影响从高到低排序)分别为精心清洗的数据集、合理的tokenizer、流行的模型结构

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工程(十七)——自己数据集跑R2live

博主创建了一个科研互助群Q&#xff1a;772356582&#xff0c;欢迎大家加入讨论。 r2live是比较早的算法&#xff0c;编译过程有很多问题&#xff0c;通过以下两个博客可以解决 编译R2LIVE问题&解决方法-CSDN博客 r2live process has died 问题解决了_required process …

3Dmax模型打开后灯光全没了---模大狮模型网

在3ds Max中&#xff0c;有时您可能会打开一个3dmax模型文件后发现灯光似乎丢失了。这可能是由于以下原因之一导致的&#xff1a; 灯光层被隐藏或删除了。在3ds Max中&#xff0c;您可以将不同的对象分配给不同的层&#xff0c;以方便管理和编辑。如果灯光对象被分配到另一个层…

【数学建模美赛M奖速成系列】Matplotlib绘图技巧(二)

Matplotlib绘图技巧&#xff08;二&#xff09; 写在前面2. 函数间区域填充函数fill_between()和fill()参数&#xff1a; 3. 散点图 scatter4. 直方图 hist5. 条形图 bar5.1 一个数据样本的条形图参数&#xff1a; 5.2 多个数据样本进行对比的直方图5.3 水平条形图参数 5.4 绘制…

堆排序(C语言版)

一.堆排序 堆排序即利用堆的思想来进行排序&#xff0c;总共分为两个步骤&#xff1a; 1. 建堆 升序&#xff1a;建大堆 降序&#xff1a;建小堆 2. 利用堆删除思想来进行排序 1.1.利用上下调整法实现堆排序 第一步&#xff1a;建堆 好了&#xff0c;每次建堆都要问自己…

ArkTS基本概念装饰器

目录 ArkTS基本概念 装饰器汇总 ArkTS基本概念 ArkTS是HarmonyOS的主力应用开发语言。 它在TypeScript&#xff08;简称TS&#xff09;的基础上&#xff0c;匹配ArkUI框架&#xff0c;扩展了声明式UI、状态管理等相应的能力&#xff0c;让开发者以更简洁、更自然的方式开发跨…

cocos creator + vscode debug

安装插件 安装插件&#xff1a;JavaScript Debugger 配置 7456 为本地cocos creator的启动端口 启动debug调试 选择对应的启动方式

低成本TB级数据库技术选型之思考两三点

一、背景 前段时间在搞毕业论文的选题&#xff0c;最头疼的就是大量的文献检索和阅读&#xff0c;从研究的角度上我们可以将文献分为四类&#xff1a; 理论文献&#xff1a;为研究提供理论的框架和基础的文献。这些文献可能并不会和所做的研究直接相关&#xff0c;甚至由于理…

叫板GPT-4的Gemini,我做了一个聊天网页,可图片输入,附教程

先看效果&#xff1a; 简介 Gemini 是谷歌研发的最新一代大语言模型&#xff0c;目前有三个版本&#xff0c;被称为中杯、大杯、超大杯&#xff0c;Gemini Ultra 号称可与GPT-4一较高低&#xff1a; Gemini Nano(预览访问) 为设备端体验而构建的最高效模型,支持离线使用场景。…

基于PI控制的PMSM永磁同步电机控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 PMSM数学模型 4.2 矢量控制策略 4.3 PI控制器设计 4.4 控制系统实现 5.完整工程文件 1.课题概述 基于PI控制的PMSM永磁同步电机控制系统simulink建模与仿真。其中&#xff0c;基于PI&#xff08;…

查看ios app运行日志

摘要 本文介绍了一款名为克魔助手的iOS应用日志查看工具&#xff0c;该工具可以方便地查看iPhone设备上应用和系统运行时的实时日志和奔溃日志。同时还提供了奔溃日志分析查看模块&#xff0c;可以对苹果奔溃日志进行符号化、格式化和分析&#xff0c;极大地简化了开发者的调试…

极值和平均值-第11届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第22讲。 极值和平均值&…

java设计模式实战【策略模式+观察者模式+命令模式+组合模式,混合模式在支付系统中的应用】

引言 在代码开发的世界里&#xff0c;理论知识的重要性毋庸置疑&#xff0c;但实战经验往往才是知识的真正试金石。正所谓&#xff0c;“读万卷书不如行万里路”&#xff0c;理论的学习需要通过实践来验证和深化。设计模式作为软件开发中的重要理论&#xff0c;其真正的价值在…

【心得】PHP反序列化高级利用(phar|session)个人笔记

目录 ①phar反序列化 ②session反序列化 ①phar反序列化 phar 认为是java的jar包 calc.exe phar能干什么 多个php合并为独立压缩包&#xff0c;不解压就能执行里面的php文件&#xff0c;支持web服务器和命令行 phar协议 phar://xxx.phar $phar->setmetadata($h); m…

计算机视觉与自然语言处理(Open AI)

1.语音识别技术 语音识别是将语音转换为文本的技术&#xff0c; 是自然语言处理的一个分支。通过特征的提取、模式的匹配将语音信号变为文本或命令&#xff0c;以实现机器识别和理解语音。 按照应用场景的不同&#xff0c;可以大致分为三类&#xff1b; • 电信级系统应用&…

动画墙纸:将视频、网页、游戏、模拟器变成windows墙纸——Lively Wallpaper

文章目录 前言下载github地址&#xff1a;网盘 关于VideoWebpagesYoutube和流媒体ShadersGIFs游戏和应用程序& more:Performance:多监视器支持&#xff1a;完结 前言 Lively Wallpaper是一款开源的视频壁纸桌面软件&#xff0c;类似 Wallpaper Engine&#xff0c;兼容 Wal…

echarts手动触发气泡的显示和隐藏

点击echarts图表后将点击的那个进行突出显示 <template><div id"demo"> </div><el-button type"primary" click"set">设置</el-button><el-button type"primary" click"cancel">取消&…

ubuntu20部署Bringing-Old-Photos-Back-to-Life

环境准备&#xff1a; ubuntu20.04 Python 3.8.10 首先将微软的「Bringing-Old-Photos-Back-to-Life」库 clone 到本地&#xff1a; git clone https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life.git cd Face_Enhancement/models/networks/ git clone https:/…

API 开放平台项目(已整理,已废弃)

项目大纲 前端 React 18Ant Design Pro 5.x 脚手架Ant Design & Procomponents 组件库Umi 4 前端框架OpenAPI 前端代码生成 后端 Java Spring BootMySQL 数据库MyBatis-Plus 及 MyBatis X 自动生成API 签名认证&#xff08;Http 调用&#xff09;Spring Boot Starter&#…

Langchain访问OpenAI ChatGPT API Account deactivated的另类方法,访问跳板机API

笔者曾经写过 ChatGPT OpenAI API请求限制 尝试解决 Account deactivated. Please contact us through our help center at help.openai.com if you need assistance. 结果如何&#xff1f; 没有啥用。目前发现一条曲线救国的方案。 1. 在官方 openai 库中使用 此处为最新Op…

Jupyter Notebook的10个常用扩展介绍

Jupyter Notebook&#xff08;前身为IPython Notebook&#xff09;是一种开源的交互式计算和数据可视化的工具&#xff0c;广泛用于数据科学、机器学习、科学研究和教育等领域。它提供了一个基于Web的界面&#xff0c;允许用户创建和共享文档&#xff0c;这些文档包含实时代码、…