T5、RoBERTa、悟道·天鹰、紫东太初、CPM作者谈基础模型前沿技术丨大模型科研、创业避坑指南...

news2024/11/16 23:57:54

导读

大语言模型日益火爆,学者们的研究方向是指明灯。那么相关大模型重要项目的主要贡献者怎么看?6月9日的北京智源大会“基础模型前沿技术”论坛邀请了T5、RoBERTa、悟道·天鹰、紫东太初、CPM等重要模型工作作者出席。

图注:五位嘉宾现场讨论,包括:清华大学副教授、智源学者刘知远;Birch.ai核心创始人及CTO刘胤焓;中科院自动化所研究员刘静;谷歌研究科学家周彦祺;上海交通大学清源研究院副教授刘鹏飞(连线)

这些青年学者就大模型时代的科研重点和难点,以及从创业公司、大厂、高校、科研院所等等如何看待大模型带来的机会,发表了看法。在现场,学者们给出了非常走心的技术建议与发言。

· 多方消息证明,GPT-4是个稀疏模型。——周彦祺

· 大模型想要获得认知能力,必须要从单模态走向多模态。——刘静

· 我们应对甲方是:卑微到尘埃,有求必应,随叫随到。——刘胤焓

· 个人认为奖励模型非常重要,RLHF不太重要。——刘鹏飞

· 基础模型已经成为AI大模型时代的“CPU”,是单一“产品”投入最大的部分。——林咏华

刘胤焓:利用RLHF建立实时的AI系统

f68b8995d119b454f9f3efd4d2470fd7.png

近年来大语言模型在prompt-tuning和fine-tuning方向的研究有很多,而在本次报告中,来自BirchAI的刘胤焓从产品和客户的角度阐释了大语言模型在RLHF中的价值。

dd2a71767547f155e0cb0017582bdfe5.png

当今世界是一个人与机器共存的时代,由于机器对于人类社会理解的局限,短期内机器无法完全取代人类,更多的是作为人类的助手而存在。作为助手,通用的大语言模型虽然可以很好地完成一些通用的任务,但对于个体用户,某些专业领域用户以及公司用户的个性服务尚且有所欠缺。对此,建立一个实时的AI系统可以很好地提供一个解决方案。

实时的AI系统可以可以量化的收集到客户信息,并根据客户的修改次数评估AI的生成是否符合客户的要求。利用这些信息提供的数据,通过强化学习来训练模型,从而产出个更为性化的生成。

用一个例子解释如何应用人类反馈信息和大语言模型搭建实时系统:以用户向客服提出退货申请为例,大模型可以查找用户以往的数据,并根据公式政策决定是否同意退货或者给用户优惠,但通常人工客服给用户的回答更加人性化,此时,如果搭建实时系统,模型就能够吸收人工客服的回答,并通过强化学习来进行模仿输出。并且,模型可以通过追踪不同用户后续的表现,来判断哪种客服的回答更能留住客户,从而相应地提高训练权重。

在技术层面上,基于OpenAI去年3月份的InstructGPT的论文,以及PPO方法,Birch建立了自己的系统,并且得到了一个比初始SFT更好的Policy。他们的评估策略来自于用户的反馈。总的来说,PPO可以理解为,在文章“价值”一定的情况下,让每个文字更加出彩。

刘胤焓认为,现在生成式 AI只能提供一个解决方案,我们真正需要的是搭建一个平台,使AI可以更高效地帮助人类节省时间。今后大语言模型应当成为一个平台、一个生态系统而不仅仅是一个文本的输出。

周彦祺:通过稀疏的MoE模型扩大LLM

e5dd37572f66af87dc56aa1ffda65562.png

纵观深度学习发展史,深度学习的发展其实建立在硬件的发展之上,硬件的快速发展也促成了近年来大模型的蓬勃发展。然而,近年来我们正在接近摩尔定律极限,因此,不能再通过简单地将参数翻倍或将标记(Token)翻倍来大幅度地持续扩展密集型大语言模型。这是一个非常低效的、不太可持续的方式。我们需要一种更可持续的方式来扩展大语言模型。

百度的一篇论文显示,在给定模型的大小和总训练数据的情况下,模型的性能是可预测的。几年后,openAI也基于扩大计算资源、数据集大小,以及参数规模给出了大模型的扩大法则(Scaling Law)。这使得更多的公司和机构可以训练自己的大模型。

比如,谷歌的T5模型。T5模型保留了原始Transformer的大多数架构,它最大的贡献之一,是将所有NLP任务都描述为文本到文本(text-to-text)的任务。T5的另一个贡献是开源了C4数据集,这些数据实际上使整个研究界受益匪浅。

从T5开始,大公司间的竞争越来越激烈。T5拥有11B的参数,GPT-3有175B,而2022年发布的PaLM有540B。但稠密模型超过500亿参数非常困难。多方消息验证,即使是GPT4也是稀疏架构。

dd9ff125649e9a580b18208987fbd5e2.png

所以周彦祺分享了通过稀疏模型MoE(Mixture-of-Experts layer, 专家混合型)扩大大语言模型的方法。以GLaM模型为例,它包含1.2T个参数,但实际上被激活的参数(activated parameters)只有97B,远少于GPT-3,也就是说,它是稀疏激活的MoE。它与GPT-3同样是只有解码器的模型,但与GPT-3相比,GlaM获得了更好的性能。

但Token-based MoE 也有局限性,糟糕的专家路由策略(例如导致负载不平衡的策略)会导致某些专家训练不足,从而导致专家的专业性不足或过度。为了解决这个问题,他们提出了一个叫做专家选择的路由算法。先前的工作使用top-k函数为每个标记分配固定数量的专家,而不考虑不同标记的相对重要性。不是让标记选择top-k专家,而是让专家选择top-k标记。因此,每个标记可以被送到不同数量的专家那里,每个专家可以有一个固定的容量。在此基础上,为了进一步改善Moe方法,他们又提出了一个非统一的架构:Brainfomers模型,这种模型基于在Transformer的基础上进行了优化设计,并创建一个搜索空间(Search Space),来提升神经网络的性能。它比GLaM基线快5倍以上。

那么如何才能使语言模型得到更新,并让基础模型,比方说预先训练好的GPT-4适应一些目标下游任务领域呢?周彦祺的团队提出了专家混合型的渐进式终身学习。这种方法可以次线性地增加参数的数量,同时引入新的训练数据,并增加一个表示损失,这样模型就不会忘记以前的训练数据。

刘静:多模态预训练的简单回归与思考

646907b0200f73a52c4a74f5b85bc5eb.png

刘静从为什么关注多模态大模型,如何进行多模态大模型训练,接下来如何发展多模态大模型,三个方面做了《多模态预训练的简单回归与思考》主题演讲。她提到,今天的大模型完全颠覆了过去十多年以深度学习为核心的AI范式,能从大规模无监督数据中挖掘信息的大模型,有望突破当前AI应用落地难的瓶颈。同时,刘静表示,多模态的数据无处不在,人类更多的表达方式或者更常用的表达方式是通过去看、去听、去想,不一定用文字记载。因此,大模型想要获得认知能力,必须要从单模态走向多模态。

目前大规模数据和基于Transformer架构的基础模型,以及自监督学习,可以让模型具备很好的通用性和模态间的关联能力。这也是大模型的基础。但是让大模型服务于实际应用,重要的是进行模型的适配和微调。显然,动辄千亿、万亿参数的模型,让全参数微调变得非常困难。因此,如何更高效、更低成本地微调这样的模型变成了重要的研究方向。为此,业界提出了包括PromptTuning、适配器方法、LoRA等方法,希望实现低成本的增量式微调。

多模态预训练模型的未来发展方向,包括通过更强大的语言模型、更大的视觉模型和更大的音频模型,以及更多的数据来提升模型的性能。对此现象,刘静也表示:“大模型的发展是一条有效的路,通过堆积数据和模型,性能还可以进一步提升。但这条路并不适合所有人,特别是学界,一味追求大并不是长处,因此需要通过其他方向来精细化和优化模型。”

2af49f0d34c294aaa50971ce32029806.png

林咏华:工程化打造AI中的“CPU”

157e376da98a104ad3b2a2c888dacc05.png

动辄百亿甚至千亿规模的大模型,训练成本花费巨大。林咏华在《悟道·天鹰大模型—— 工程化打造AI中的“CPU”》报告中提到,要用工程化的方式来打造一套“大模型进化的流水线”,可持续地提升模型训练效率,才能让基础模型持续向产业辐射能量。她提到,基础模型已经成为AI大模型时代的“CPU”——单一“产品”中投入最大的部分。经过粗略估算,用 1T token 数据训练330亿规模的大模型,大概需要 2000 万人民币的投入,包括算力、数据、评测、人力等成本。

因此,只有采用系统化、标准化、可持续的训练流程,基础模型才能释放后续模型能力提升的潜力,并赋能产业落地。工程化打造大模型包括以下几个步骤:数据采集和处理是基础,模型训练是核心、模型评测能把控阶段性的训练方向,持续迭代则让模型不断进步。

bb25487d932c201851b66f87b8eb77fe.jpeg

在报告中,林咏华介绍,悟道·天鹰(Aquila) 语言大模型就是工程化的产物,是首个具备中英双语知识、支持商用许可协议、国内数据合规需求的开源语言大模型,系列模型包括 Aquila基础模型(7B、33B),AquilaChat对话模型(7B、33B)以及 AquilaCode-7B “文本-代码”生成模型。

Aquila基础模型(7B、33B)在技术上继承了 GPT-3、LLaMA 等的架构设计优点,替换了一批更高效的底层算子实现、重新设计实现了中英双语的 tokenizer,升级了 BMTrain 并行训练方法,实现了比 Magtron+DeepSpeed ZeRO-2 将近8倍的训练效率。

AquilaChat 对话模型(7B、33B)支持流畅的文本对话及多种语言类生成任务,通过定义可扩展的特殊指令规范,实现 AquilaChat对其它模型和工具的调用,且易于扩展。例如,调用智源开源的 AltDiffusion 多语言文图生成模型,实现了流畅的文图生成能力; 配合智源 InstructFace 多步可控文生图模型,轻松实现对人脸图像的多步可控编辑。

AquilaCode-7B “文本-代码”生成模型,基于 Aquila-7B 强大的基础模型能力,以小数据集、小参数量,实现高性能,是目前支持中英双语的、性能最好的开源代码模型,经过了高质量过滤、使用有合规开源许可的训练代码数据进行训练。此外,AquilaCode-7B 分别在英伟达和国产芯片上完成了代码模型的训练。

最重要的是,悟道·天鹰(Aquila) 语言大模型具备可持续迭代的能力,后续将不断完善训练数据、优化训练方法、提升模型性能,在更优秀的基础模型基座上,培育枝繁叶茂的“模型树”,持续开源开放。

最后,林咏华表示,只有打造可持续向前的大模型训练范式,将数据、训练、评测、迭代等步骤形成闭环,才能让基础大模型像CPU在计算机系统中起到核心和基础的作用一样,成为经济发展的基础设施。

圆桌论坛:大模型时代的Tips

刘知远:你认为在大模型时代,最需要关注什么技术?

刘鹏飞:关注模型预训练中的数据结构化。

数据工作的重要性,已经在“有监督微调(SFT)”阶段验证,而现在有文章称,模型预训练会在很快“穷尽”自然语言的文本数据。因此,秉着预训练不仅是加数据,更要加信息的原则,如何把多模态中结构性的信息纳入模型,是我接下来考虑的方向。

同时,提示工程(Prompt Engineering)的存在是非常糟糕的事情,背后是大模型的黑盒性质所导致,正是不知道模型预训练阶段如何“存”数据,所以在“取”会尝试各种Prompt。如果数据的结构足够透明,我相信问题会变得简单一些。

奖励模型非常重要。个人认为RLHF(Reinforcement Learning from Human Feedback)不重要,我们更需要高质量的奖励模型,不止是二元(binary)的形式,也不能只追求精细的形式,而是希望能够变成生成(generative)的形式,输出一个分布或一个函数,表示智能体做得好坏的概率或期望。

刘知远:大家背景各异,请分别来自创业公司、研究所、大厂、高校的四位,从个人经验出发,谈谈如何在大模型时代发挥自身优势。

刘胤焓:我有两段工作经历。

2019-2020年初在Facebook 担任AI研究者者的时候,谷歌做出了第一代大模型BERT,我则参与、领导研发出了RoBERTa、BART。后面Facebook又继续推出了OPT模型,以及现在一些最新大语言模型。

Facebook给我的感受是,他们所有的领导人都对大语言非常感兴趣,主打一个“大”,且投入不计成本,花费多少钱都没关系,最后会将技术进行开源。

那段时间,大家不停的在讨论模型上限、参数上限、数据上限。整个行业都想探索大语言到底能够干些什么。

直到我创业。我发现,要理性看待大语言模型,尤其是在一些小领域。例如医疗健康的用户,他们关心疾病知识、药品方案,但对航班和酒店的预订等无关紧要的问题不甚关心。

因此,结论是:通用大语言模型,对垂直领域的创业公司来说,完全没有必要。因为要更注重专业性。

另一方面,从实际应用来看,大语言模型的成本非常高。有时候一个中等、更加“专注”的模型或许更加有用。

刘静:高校、研究院的使命是进行创新、有用的研究,大模型就是一个例子。我们在创新方面的优势是源源不断的学生资源,以及可以规划长期的研究目标,不像企业需要短期见效。因此,我们可以更稳定地不断创新,并引领前沿方向。

例如在大语言模型里,他们可以探索更强的自监督算法、更好的数据清洗、更强的模型协同等问题。

在选择方向时,要有好的眼光,选择有用的方向。大模型这条路径没有看到头,我们的研究方向,应该聚焦用小而高质量的数据来获得和大模型相当的能力,然后更好地服务于应用。

另一个适合学界的领域是“AI for science”,要和生命工程、脑科学的领域进行合作,需要长期投入才能见效。

周彦祺:创业公司超越传统大厂还是有难度。以OpenAI和谷歌这场大模型对拼为例,谷歌并没有落后。谷歌有世界上最大的云计算平台,最强大的TPU和GPU资源,以及最优秀的系统和软件层面的技术。而且大公司显然更关注长期问题,无论是数据标准,还是模型安全,显然都更合规。

刘鹏飞:首先,高校教师要承担起作为学者的责任,例如RLHF的重要性等。这些可能是创业公司不愿意花时间研究。

其次,梳理各方的战场,包括学术界、工业界、VC、创业公司,明确每个人应该承担怎样的角色,让这个领域各司其职,做得更好。

再者,帮助领域找到科学进步的方向,敢于提出不一样的观点,产生更加准确的方向。特别是在评估大模型时,找到可靠的公正的评估方法,避免走弯路。

最后,培养学生,让他们知道成长路径,不需要天赋异禀,只要有兴趣和热情,就可以一起往前走。

刘知远:大模型领域,你最想做什么?如果有充足的预算,你想如何解决?

刘胤焓:我想要一个高质量的数据集,因为数据永远大于架构,架构可能只是微调或微微调的结果。大语言模型应该做成一个生态,不仅仅是文字,还要超出文字,像个贴身小秘书一样,记录他的需求,随叫随到。

刘静:我想继续攻关多模态对话,让人和机器用图文音自由交流。长远目标是让机器人用各种感官去感知和探索世界,和人类沟通。

周彦祺:短期目标是在大公司里研究大语言模型,建立一个超级大的分布式系统,降低大语言模型的成本,让它和Google search一样快速。长期目标是理解大语言模型的原理,探索是否有可能用更强的算力或量子计算机。

短期目标是把语言模型的数学解题能力,做成和GPT-4回答其他问题一样好,找到做这件事的秘诀和方法。另外,如果有1w张卡,从头来一遍训练,提高自己对数据的理解和处理能力。

 观众问答

观众A:机器人能否像ChatGPT那样执行各种任务,比如端水杯。实现这个功能的难点在哪里?

刘静:机器人能否像ChatGPT那样执行各种任务,关键要打通感知到决策。机器人要能看到、定位、执行任务,而不是被动接收图片或文本。现在的多模态大模型还不能真正融合多媒体信息,也不能根据环境提问或交互。机器人要做到像人一样,还有很多工作要做,但是路线是通的,未来会有更好的成果出现。

观众B:三个问题,首先,对于大厂的同学,遇到什么样的机会,会促使你离开谷歌去创业?

其次,高校科研的同学,对于创业如何看?

最后,对于创业的同学,是怎样的心态应对甲方的需求和压力?

周彦祺:每当我不顺的时候,就会想离开谷歌,但是又觉得谷歌有更好的环境和资源,如果在谷歌都解决不了,在其他公司也可能发挥不了才能。

如果我离开了谷歌,可能是由于我有非常想做的事情。例如打造ChatGPT这样的爆款产品。目前谷歌并没有限制我研究的步子,暂时不会离开。

刘静:坚持自己想要做的事情,根据自己的特性和时机选择创业或科研。我们科研院所的多模态大模型不比企业差,在视频理解上有优势。

刘胤焓:13个字形容应对甲方:卑微到尘埃,有求必应,随叫随到。

观众C:如何看待用大语言模型做推理?尤其是数学推理方向。有人认为语言模型不应该“学会”数学题,应该调用工具辅助语言模型。

刘鹏飞:大语言模型做数学推理是基本的能力,但是也需要结合其他的工具来提高效率和性能。建议先分析不同的数学问题的类型和特点,然后选择最合适的方法来解决,不要排斥任何一种方式。大语言模型在复杂的多步推理和形式化问题上有优势,但是也需要不断改进。

观众D:如何解决大语言模型训练中的幻觉问题?

周彦祺:两种方式。首先,可以用更大的语言模型来做一个质量检测的模型,用来评估小模型生成的数据的安全性和真实性。其次,可以用谷歌搜索或者其他的索引工具来给生成的数据加上引用,让用户可以追溯数据的来源和可信度。当然也可以结合检测模型和搜索工具来实现。

观众E:如何“破解”大语言模型序列长度的限制?

刘胤焓:我使用滑动窗口算法。用滑动窗口在不同的窗口里做生成,然后再把生成的结果合并起来。要注意,一定要保证训练数据对齐,要不然效果会差很多。

周彦祺:GPT-4也遇到了类似的问题,运算瓶颈在于注意力机制(Attention)。应该用更高效的注意力机制来替代全连接的注意力机制。可以用稀疏注意力的方法,就是用一个局部注意力加一个固定跨度的全连接注意力,这和 MOE 的方法有点类似。

观众F:大模型例如GPT-4的数学推理表现较差,如何用小模型进行优化?

刘鹏飞:大模型做数学推理需要全栈式的方法,包括预训练、有监督的微调(SFT)等阶段。预训练阶段要构造相关的语料,让模型学习数学或者推理的基本概念,比如最大公约数等。有监督微调阶段,要把数学的多步推理展开,如此才能适配大模型。

观众G:怎么看待提示工程师作为一个职业,会发展成一个学科么?

周彦祺:提示工程师会后成为最快消失的职业。已经在研究了SoftPromp了,慢慢就不需要人工了。

刘知远:请大家分享一句话结束今天的论坛。

刘胤焓:说三句话。我本科学的是化工,后来自学计算机,有幸做研究发表NLP的论文,现在在创业。没有任何一样东西是恒定的,没有任何一样东西是一直风靡全球的,但是总会有新的东西,所以不停的去改变自己,迎接新的东西,找到自己喜爱的方向,追逐自己的梦想,但是不能随波逐流。

刘静:首先要坚定,在未来的三五年,大模型会颠覆很多领域。第二,坚持。坚持自己认为有价值的东西。第三,不要盲目追风。

周彦祺:放眼未来,不止考虑5个月的事情,科研要考虑未来5年、10年。

刘鹏飞:像比尔·盖茨之前说过的,做人工智能需要有责任心,最终目标是什么,如果是可以推动全人类变好的话,做每件事情都不太会有错。

- 点击查看原文 观看大会回放 -

ec34b682cd77fd4d860d3c77388b969d.jpeg

Hinton:我对“青蛙”创造出“人”这件事后果很紧张 | 全文整理+视频

06b5c3df6477d89a4e606a8dc53fe8a2.jpeg

黄铁军:难以预测,无法闭幕 | 2023智源大会“AI安全与对齐论坛”

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

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

相关文章

chatgpt赋能python:Python如何设置画布颜色:一份详尽指南

Python如何设置画布颜色:一份详尽指南 在计算机图形学中,画布颜色是指画布的背景颜色。当然,通过Python设置画布颜色非常简单,本篇文章将为您提供一份详尽指南。 什么是画布颜色? 在Python中创建一个画布时&#xf…

MySQL 官方示例数据库如何下载

文章结构 下载 MySQL 的示例数据库示例数据库介绍以及安装后续就是自己使用了参考网址 MySQL 提供了一些非常好的用来演示 MySQL 各项功能的示例数据库,同 Oracle 也提供了示例数据库。但是很少有人知道 MySQL 也提供,或许是因为它没有像 Oracle 一样在安…

chatgpt赋能python:Python教程:如何设置画布大小?

Python教程:如何设置画布大小? 在Python中,我们可以使用各种图形库来创建各种类型的图。有时,我们需要调整图像的大小以适应我们的需求。所以,在这篇文章中,我将介绍如何使用Python来设置画布大小。 什么…

cocos creator 帧同步游戏示例

最近闲来无事重新研究一下同步策略里面的帧同步,首先说下帧同步与状态同步的区别, 1:帧同步: 帧同步是一种多人游戏中常用的网络同步技术,用于确保不同玩家之间的游戏状态保持一致。在帧同步中,所有玩家通…

chatgpt赋能python:Python计算字符串中的小写字母

Python计算字符串中的小写字母 在搜索引擎优化中,我们经常需要计算一个文本中小写字母的数量。Python语言的强大和灵活性使得它成为实现这一目标的理想选择。在本文中,我们将介绍如何使用Python语言计算字符串中的小写字母。 了解Python字符串 在Pyth…

Nodejs三、模块化

零、文章目录 Nodejs三、模块化 1、模块化的基本概念 (1)模块化是什么 模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。 (2&#xff…

基于Java汽车养护管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

计算机网络408题(2020-2022)

2020年 2021年 下面借此大题来分析主机H1访问Web服务器的应用场景的全部过程。 2022年 综合大题 冲突域是指一组设备共享同一段物理网络,当其中一个设备发送数据时,其他设备必须等待,以避免数据冲突。在一个冲突域中,当两个或多…

计算机网络管理 实验4(二) SNMP报文管理信息结构SMI及其规定的ASN.1分析并使用Wireshark抓包分析sysContact的相关信息

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &am…

关系数据库SQL数据查询

关系数据库SQL数据查询 数据查询 一、单表查询 1.查询仅涉及一个表,选择表中的若干列 [例1] 查询全体学生的学号与姓名。SELECT Sno,SnameFROM Student; [例2] 查询全体学生的姓名、学号、所在系。SELECT Sname,Sno,SdeptFROM Student;查询全部列 选出所有属…

python代码实现生成二维码

二维码结构: 从图中我们可以看出二维码结构整体划分为功能图形和编码区两大部分,功能图形又细分为:空白区、位置探测图形、位置探测图形分隔符、定位图形、校正图形,而编码区细分为:格式信息、版本信息、数据和纠错码字…

Flutter进阶-List数组的深浅拷贝问题

浅拷贝:拷贝指针深拷贝:拷贝一份新的对象 浅拷贝出现的问题:操作一个数组另一个数组也发生改变 List list [1, 2, 3, 4, 5]; List copyList list; copyList[0] abc; print(list);///打印: [abc,2,3,4,5] print(copyList);///打…

机器学习——博客推荐系统

前言 在当今的信息时代,技术博客已成为知识、见解和娱乐的重要来源。随着博客内容的日益丰富,找到最相关和最引人入胜的文章对用户来说可能是一项艰巨的任务。为了应对这一挑战,我们需要一个全面的博客推荐系统,利用尖端技术和机…

RabbitMQ + SpringCloud使用及避坑(大章)

RabbitMQ 的开发语言是Erlang,它的源码阅读起来学习成本太高了,所以这里就不详细看了,本次主要是结合springCloud 的项目来真正使用RabbitMQ 的几种交换器,还有一些业务场景的模拟,最主要的还是避坑。 为什么说是避坑…

JavaSE进阶--玩转IO流

文章目录 前言一、File类介绍1、概念引入2、实际应用2.1 操作文件2.2 操作文件夹 二、IO流介绍三、字符流1、读文件1.1 一次读一个1.2 一次读多个,使用char数组去装 2、写文件2.1 一次写一个2.2 一次写完,使用字符数组 3、文件复制3.1 综合应用3.2 使用缓…

ESP32(MicroPython)LVGL输入字符显示到OLED屏幕

本程序用于输入字符显示到OLED屏幕(按回车键输出字符到屏幕),依次输出六行字符,再按回车会清空屏幕并从第一行开始输出。 代码如下 import lvgl as lv import time from espidf import VSPI_HOST from ili9XXX import ili9341…

模拟随机验证码

网拷一篇中英文文本,去除标点空格作为验证码字符集。 (本笔记适合对 python 的随机模块有一定了解的的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》&a…

如何在IDEA上实现JDBC编程

💕人生在世,不如意事常八九,若把烦恼全都写在纸上,时间长了纸也会烦。所以,没事的时候给自己多一些微笑,少一些烦恼。💕 🐼作者:不能再留遗憾了🐼 &#x1f3…

【备战秋招】每日一题:4月23日美团春招第二题:题面+题目思路 + C++/python/js/Go/java带注释

为了更好的阅读体检,为了更好的阅读体检,,可以查看我的算法学习博客第二题-制作骰子 在线评测链接:P1246 题目内容 塔子哥是一个喜欢手工制作的人,他经常用各种材料制作一些有趣的物品。他最近想要制作一个骰子,但是…

Oracle11gRAC安装JVM组件

目录: 安装前检查:安装JVM组件:方式一(图形化安装)方式二(执行脚本安装) 检查DB JVM状态脚本 安装前检查: 检查角色: select * from dba_roles where ROLE in (JAVAIDP…