原文地址:
Large Language Models 3.0,by Sebastian Raschka, on 2023-04-04
大语言模型3.0
大语言模型 1.0。距离初代Transformer模型、BERT、BLOOM、GPT-1到GPT-3等众多模型的出现,已经过去了大约五年时间。这一代大语言模型(LLM)以PaLM、Chinchilla和LLaMA为巅峰代表。第一代Transformer的共同特点是,它们都在大规模无标注文本语料库上完成预训练。
大语言模型 2.0。近期,我们看到许多预训练LLM在标注目标数据上进行微调,方式包括基于人类反馈的强化学习,或是更经典的监督学习目标——这一点我在上一期《Ahead of AI》中已有讨论。第二代LLM的典型代表包括InstructGPT和ChatGPT,还有Alpaca和Bard(本期通讯会讨论)。
大语言模型 3.0。思考第三代大语言模型会是什么样子,是件很有意思的事。近几个月的热门方向是参数高效微调,以及在领域特定数据上进行预训练(相关案例会在本期后面讨论)。但参数高效微调和领域特定数据预训练,本质上是让LLM的计算效率和数据效率更高的手段。而下一代LLM的核心,很可能会围绕多模态与多任务学习展开,为大语言模型带来全新的能力。我预计未来几个月这一方向会涌现更多研究。
本期通讯涵盖了近期围绕参数效率与多模态的大语言模型相关内容。值得一提的是,这个月开源AI领域的进展格外亮眼,因此本期的「开源亮点」部分会特别精彩。
文章与趋势
拓展LLaMA
上个月,Meta推出的LLaMA作为GPT-3的替代方案引发了巨大反响(我们在《Ahead of AI》第6期《训练方式之变》中介绍过LLaMA:https://magazine.sebastianraschka.com/p/ahead-of-ai-6-train-differently )。AI研究领域如今发展速度之快,体现在已经有大量项目基于LLaMA展开二次开发。
其中最受关注的项目之一是Alpaca。Alpaca是一个基于7B参数LLaMA模型、经过指令微调的7B语言Transformer。不过,它没有采用基于人类反馈的强化学习(RLHF,相关介绍见:https://magazine.sebastianraschka.com/p/ahead-of-ai-6-train-differently ),而是使用5.2万条指令-输出对进行监督式微调。
研究人员没有使用人工生成的指令-输出对,而是通过调用基于GPT-3的text-davinci-003模型来获取数据。因此,Alpaca本质上采用的是一种弱监督,或者说带有知识蒸馏风格的微调方式。值得注意的是,这种方式的效果可以媲美人工标注。例如在《Self-Instruct》论文(https://arxiv.org/abs/2212.10560)中,作者发现让模型基于自身生成的内容进行迭代提升,最终效果可以与InstructGPT相当。

Alpaca方法的截图,来源:https://crfm.stanford.edu/alpaca/
训练方案开源地址:https://github.com/tatsu-lab/stanford_alpaca 。据作者称,使用8张A100 GPU即可复现,预算约600美元。
如果作者正在撰写Alpaca的研究论文,这里有几个小小的期待点:
- 为什么是5.2万条指令-输出对(而不是更多或更少)?这里的微调缩放定律是怎样的?
- 这里的监督微调效果,与基于近端策略优化(PPO)的微调相比如何?
- 如果把
text-davinci-003换成ChatGPT的GPT-3.5或GPT-4,性能会有显著差异吗?
注意Alpaca官网(https://crfm.stanford.edu/alpaca/ )近期已下线,但项目仍可在GitHub获取:https://github.com/tatsu-lab/stanford_alpaca 。Alpaca下线的原因可见:https://www.theregister.com/2023/03/21/stanford_ai_alpaca_taken_offline/ ——原因是它“可能生成虚假信息、传播社会刻板印象,并产生有害语言”。
让微调更高效
传统上,我们微调大语言模型的方式要么是更新全部层,要么是只替换更新输出层——根据我的经验,更新全部层的计算量更大,但最终预测性能要好得多(我会在即将推出的《深度学习基础》课程第8单元中讲解这一点:https://lightning.ai/pages/courses/deep-learning-fundamentals/ )。

经典微调范式。
近期,研究者开始关注另一种更节省计算与显存的微调范式。这类范式通常被称为参数高效微调方法。本期我不展开详细讲解这些技术,但推荐上周发布的这篇出色综述:https://arxiv.org/abs/2303.15647 ,内容非常全面。

大语言模型的参数高效微调技术,来源:https://arxiv.org/abs/2303.15647
下面要介绍的LLaMA-Adapter,就是一项值得关注的新型参数高效微调技术。
用于LLM参数高效微调的LLaMA-Adapter
在论文《LLaMA-Adapter: Fine-tuning Language Models with ZeroInit Attention》(https://arxiv.org/abs/2303.16199)中,作者提出了一种适配器方法,可用于对LLaMA进行指令微调。
与前面提到的Alpaca方法(https://github.com/tatsu-lab/stanford_alpaca )不同,LLaMA-Adapter不会端到端地微调整个模型。相反,它在预训练、权重冻结的LLaMA模型(https://ai.facebook.com/blog/large-language-model-llama-meta-ai/)之上,只新增了120万参数的小型适配器。
使用与Alpaca相同的5.2万条指令跟随样本,最终效果与Alpaca相当。但Alpaca在8张A100上需要训练3小时,而LLaMA-Adapter的微调时间仅为其三分之一。(注:论文中提到效果相当,但我没找到具体的指标数据。)
为了在实际中取得良好效果,研究者还提出了一种初始化为全零的门控机制,防止训练初期适配器干扰预训练LLaMA模型的性能。

来自论文https://arxiv.org/abs/2303.16199的标注图表
这种适配器方法的特别之处在于,它允许我们接入其他输入模态,比如图像和视频token——这就引出了下一个话题:多模态LLM。
多模态或许是下一个风口:PaLM-E
大语言模型(LLM)的下一步是什么?遗憾的是,很难断言。我们看到纯文本模型的表现越来越好。但很难说我们是否正在接近纯文本LLM的能力上限——无论是在通用语料上预训练,还是在标注目标数据集上微调。
我非常确定,未来还会有大量研究和实验,致力于让纯文本模型表现更优——比如通过增加参数量、扩大数据集,或是改进架构与训练技术。
尽管如此,思考LLM未来发展的其他方向依然很有意思。比如,下一个趋势可能会聚焦于拓展视觉能力、其他模态,以及多任务训练。
去年,谷歌发布了PaLM(https://arxiv.org/abs/2204.02311 )——一个强有力的GPT竞品。大约一年后的现在,PaLM-E(https://arxiv.org/abs/2303.03378 )刚刚发布。我们来看看它的核心内容。
PaLM-E的研究重点是机器人操作规划。但有意思的是,当在多模态输入上训练后,该模型也展现出了视觉问答和图像字幕的涌现能力。当然,PaLM-E不是第一个支持图像输入的语言模型。但它的新颖之处在于,一张或多张图像可以灵活地嵌入到句子的任意位置。
需要说明的是,PaLM-E仍然是一个纯解码器架构的LLM,基于给定的前缀或提示自回归地生成文本补全。那么它们是如何让模型支持状态表示或图像输入的呢?很简单:它们预训练了专门的网络,将这些输入编码为嵌入向量。例如对于图像,他们实验了4B与22B参数的视觉Transformer(ViT)来生成嵌入向量,再通过线性投影匹配词元嵌入的维度。
训练时,为了构成多模态句子,它们使用特殊token(<img1>、<img2>等,如上图所示),之后再替换为嵌入后的图像(类似于词元通过嵌入层生成嵌入的方式)。
最值得探讨的问题是:我们是否应该冻结预训练LLM,只训练ViT嵌入网络?结果显示,微调LLM的效果更好,而“全混合”联合训练的性能更是提升了一倍以上。也就是说,这篇论文最大的结论是:与针对单个任务分别训练模型相比,多任务训练能提升性能。

来自PaLM-E论文的标注图,https://arxiv.org/abs/2303.03378
其他多模态LLM(MLLM)
当然,PaLM-E不是第一个、也不是唯一支持多模态的LLM(即MLLM)。其他近期或知名的例子包括:
从零开始训练大语言模型值得吗?
在领域特定数据上从零开始训练自己的大语言模型(LLM)是否值得?彭博社的研究者就这么做了,并且分享了一份详细的技术报告,介绍了数据集、模型配置和训练流程。根据我的经验,如果我们要把LLM应用在全新的数据源上(比如蛋白质氨基酸序列,相关研究见:https://academic.oup.com/bioinformatics/article/38/8/2102/6502274 等),这么做是有意义的。但对于金融文章这类相近领域的数据呢?

LLM预训练与微调的不同方式。
我们来详细聊聊这篇论文提出的模型:https://arxiv.org/pdf/2303.17564.pdf 。BloombergGPT是一个500亿参数的金融领域语言模型,在3630亿token的金融数据和3450亿token的公开通用数据集上训练而成。作为对比,GPT-3的参数量是它的3.5倍(1750亿参数),但训练token数仅为它的1/1.4(4990亿)。
当然,BloombergGPT在金融相关任务上的表现超过了其他LLM。有意思的是,它在通用语言任务上的表现也依然出色。我很想知道,如果采用两阶段预训练,或是在领域特定数据上做领域专属微调,会不会在领域数据上取得更好的效果。我猜作者没有做这些实验是出于成本考虑。
这就引出了下一个话题:这个模型是用什么硬件训练的?该模型在AWS上使用64组、每组8张A100 GPU,训练了约53天。粗略估算一下,假设A100 GPU的优惠价格是每小时1.1美元,那么总时长1274小时 × 1.1美元/小时 × 64×8张GPU = 70万美元——考虑到LLaMA论文(https://arxiv.org/abs/2302.13971)报道的训练成本是60万美元,这个数字听起来还不算太高。但需要注意的是,这个数字不包含超参数优化和失败的训练跑次。
为什么作者选择了“只有”500亿参数的架构,毕竟GPT-3是它的3.5倍大?答案很简单:他们采用了Chinchilla缩放定律,结合可用金融数据的规模,认为这个参数量是合适的。
在混合数据集上从零开始(预)训练LLM值得吗?从论文来看,模型在目标领域的表现非常好。但我们不知道它是否比以下两种方案更好:a)在预训练模型的基础上,用领域特定数据继续预训练;b)在预训练模型上做领域特定微调。
为什么他们没有基于BLOOM等现有LLM做微调或者继续训练?微调(通过RLHF或监督微调)可能更难自动化。而且他们可能不想基于现有模型继续训练,因为按照缩放定律,BLOOM模型的尺寸是它的3.5倍,太大了。
不过,如果你想采用混合预训练的方法,BloombergGPT提供了一份描述非常详尽的方案,包括架构、数据集和超参数的详细说明。
其他领域的模型
注意,BloombergGPT不是第一个从零开始在专有领域数据上训练的模型。已有大量在生物医学或法律文档上训练的模型案例。近期的一个例子是2月份分享的论文:https://arxiv.org/abs/2302.08091

来自https://arxiv.org/abs/2302.08091的标注截图
通用架构与训练改进:中间相遇
我之前提到过,纯语言模型会有更多架构和训练上的优化。这一类的其中一篇论文是https://arxiv.org/abs/2303.07295 。这篇论文提出了一种双向LLM,在预训练时利用完整序列信息,推理时利用双向上下文。
这里的“双向”不同于BERT风格的编码器——后者使用掩码语言建模来预测被掩码的词。相反,在“中间相遇”(Meet in the Middle, MiM)方法中,它们像双向LSTM那样,分别从左到右和从右到左处理序列。
乍一看,这个思路和BiLSTM很像。但其实是不同的方法:它不是把前向和后向的隐藏状态拼接起来。相反,MiM的核心是让两者达成一致。它们用一个正则项,强制两个方向生成相似的token。
这种方法没有额外的参数开销,因为前向和后向共享同一个解码器。而且,如果并行度足够,它甚至可以更快——如果两个模型生成的结果完全一致,每个模型只需要自回归生成一半的序列。
注意:我觉得对于“补全提示”类的查询,MiM在推理阶段可能不适用,但对于指令类查询,我看不出有什么问题。
推理时也可以丢弃后向路径——也就是说,训练时利用后向路径更好地利用数据,推理时只使用前向解码器。但根据消融实验,双向模型的表现还是优于单向模型。

来自https://arxiv.org/abs/2303.07295的标注图
机器学习竞赛格局
机器学习竞赛往往能很好地反映哪些技术在新数据集上真正实用。3月发布的这份全面报告《2022年机器学习竞赛现状》(https://mlcontests.com/state-of-competitive-machine-learning-2022/ )包含了很多有意思、甚至出人意料的发现!以下是几个核心结论。
不出所料,Transformer主导自然语言处理(NLP)领域。所有NLP相关的获奖方案都使用了Transformer。
卷积神经网络仍然主导计算机视觉领域。EfficientNet是计算机视觉最流行的预训练架构——大多数人都会微调预训练模型,而不是从零开始训练。
使用k折交叉验证的获奖方案,数量几乎是使用固定验证集的两倍。
Kaggle(勉强)仍是最受欢迎的竞赛平台。
几乎所有人都用Python。
在46个使用深度学习的获奖方案中,44个用了PyTorch,只有2个用了TensorFlow。
表格数据竞赛的一大意外:XGBoost的统治似乎结束了。虽然梯度提升仍然赢下了大多数表格竞赛,但LightGBM现在是更受青睐的方法,CatBoost紧随其后,XGBoost位列第三。
10场表格竞赛中,有7场的获胜方案使用了梯度提升,5场使用了深度神经网络(基于PyTorch实现),而且大多数获奖方案都是集成方法。

来自https://mlcontests.com/state-of-competitive-machine-learning-2022/的标注截图
研究亮点(两句话以内)
自从上一期《Ahead of AI》发布以来,还有很多其他精彩的新研究论文。遗憾的是,全部介绍的话这篇通讯就要变成一本书了。所以我决定新增一个「研究亮点」板块,只链接我觉得特别有意思的其他研究者论文。
自然语言处理
- 《为长序列重振循环神经网络》(https://arxiv.org/abs/2303.06349)
循环神经网络在长序列推理时效率很高,但训练速度慢,且难以优化。这篇论文提出了线性循环单元,证明经过精心设计的循环神经网络,在长序列任务上表现出色,同时训练速度也很可观。 - 《单GPU实现大语言模型高吞吐量生成推理》(https://arxiv.org/abs/2303.06865)
这篇论文介绍了FlexGen——一个专为显存有限的GPU运行LLM设计的高吞吐量生成引擎。 - 《带人类偏好的语言模型预训练》(https://arxiv.org/abs/2302.085)
该研究表明,在语言模型预训练阶段就融入人类反馈,相比“先预训练、再用反馈微调”的标准方案,能带来显著更优的偏好满足度——后者还涉及学习再遗忘不良行为的过程。结果表明,在语言模型预训练阶段就超越模仿学习、从一开始就纳入人类偏好,是更可取的做法。 - 《Hyena层级结构:迈向更大的卷积语言模型》(https://arxiv.org/abs/2302.10866)
Hyena是注意力的一种替代方案,它使用隐式参数化的长卷积和数据控制门控。在标准数据集(WikiText103和The Pile)上,Hyena为无注意力的稠密架构语言模型树立了新的业界标杆,在序列长度为2K时,达到Transformer的质量,同时训练计算量减少20%。 - 《AI生成内容(AIGC)综合综述:从GAN到ChatGPT的生成式AI发展史》(https://arxiv.org/abs/2303.04226)
一份数字内容生成的历史与综述,涵盖图像与文本,主题从GAN到ChatGPT应有尽有。 - 《面向决策的基础模型:问题、方法与机遇》(https://arxiv.org/abs/2303.04129)
预训练大语言模型有望为对话、自动驾驶、医疗、教育、机器人等应用打造强大的新系统。这篇论文概述了该领域的近期研究。
计算机视觉
- 《一致性模型》(https://arxiv.org/abs/2303.01469)
一致性模型是一类新型生成模型,无需对抗训练就能生成高质量样本。它们旨在克服扩散模型的局限,支持快速的单步图像生成。 - 《面向文生图的GAN规模化》(https://arxiv.org/abs/2303.05511)
GigaGAN实现了文生图的规模化,让模型能够利用大规模数据集。GigaGAN架构有诸多优势,包括推理速度大幅提升、生成高分辨率图像,以及支持多种潜空间编辑应用。 - 《你的扩散模型其实是零样本分类器》(https://arxiv.org/abs/2303.16203)
论文讨论了大规模文生图扩散模型带来的文本图像生成能力显著提升,这些模型还能提供条件密度估计,可用于图像生成之外的任务。最后,论文提出了一种名为扩散分类器的生成式分类方法,利用文生图扩散模型的密度估计,无需额外训练即可实现零样本分类。 - 《视觉ChatGPT:用视觉基础模型对话、绘图与编辑》(https://arxiv.org/abs/2303.04671v1)
视觉ChatGPT系统让用户能够同时使用语言和图像与ChatGPT交互,处理需要多个AI模型协作的复杂视觉问题或编辑指令。 - 《迈向普惠化的联合嵌入自监督学习》(https://arxiv.org/abs/2303.01986)
这篇论文旨在降低SimCLR这类图像自监督学习方法的门槛(我会在即将推出的《深度学习基础》课程第7单元讲解SimCLR:https://lightning.ai/pages/courses/deep-learning-fundamentals/ )。研究者简化了SimCLR,并证明仅用单个图像块作为负样本、仅用基础高斯噪声作为正样本对的数据增强,就可以训练SimCLR学到有价值的表示。 - 《用于图文预训练的Sigmoid损失》(https://arxiv.org/abs/2303.15343)
论文提出了一种简单的成对sigmoid损失用于图文预训练,不需要全局计算成对相似度来做归一化。通过这种方法,他们使用大模型和大批次,在两天内就在ImageNet零样本分类上取得了高精度。
头条新闻
去年12月ChatGPT首次推出时,仿佛真正打开了AI的闸门。从那以后,AI进入了大众视野,大语言模型的相关新闻仍然占据各大媒体头条。而且,每个月大语言模型的发展都在加速。由于很多公司最近才跟风开始训练自己的模型(见上文的BloombergGPT),而训练需要时间,我相信到今年年底,大语言模型会无处不在。
ChatGPT
- OpenAI相关:https://news.ycombinator.com/item?id=35242069 ,以及随后这条推文:https://twitter.com/sama/status/1638576434485825536?s=20 ——起因是研究者的投诉。
- https://twitter.com/sama/status/1638635717462200320?s=20 ——用户能够看到其他用户对话历史的标题。
- OpenAI发布GPT-4:https://openai.com/research/gpt-4 ,配套论文https://arxiv.org/abs/2303.08774 ——但论文完全没有技术细节,没有说明它的工作原理,或是与前代GPT模型的区别。这让期待能看到类似前代GPT模型技术报告的研究圈和开源圈感到失望。
- OpenAI发布ChatGPT插件:https://openai.com/blog/chatgpt-plugins 。
- GitHub Copilot X预览版:https://github.com/features/preview/copilot-x ,将GPT-4集成进了GitHub的Copilot。
ChatGPT竞品
- 谷歌推出Bard与ChatGPT竞争:https://www.wired.com/story/google-bard-chatbot-rolls-out-to-battle-chatgpt/
- 根据近期公告:https://news.yahoo.com/google-ceo-sundar-pichai-bard-193424475.html
- 继Bard引发的失望情绪后,Alphabet旗下的Google Brain与DeepMind“结束多年激烈竞争,联手追赶OpenAI”:https://www.theinformation.com/articles/alphabets-google-and-deepmind-pause-grudges-join-forces-to-chase-openai
- 有AI研究员从谷歌离职,称Bard是用ChatGPT的数据训练的:https://www.businessinsider.com/ai-researcher-quit-google-openai-bard-training-on-chatgpt-report-2023-3 ;谷歌否认使用OpenAI数据训练Bard:https://www.businesstoday.in/technology/news/story/bard-not-trained-on-any-data-from-chatgpt-google-denies-using-openai-data-for-training-bard-375406-2023-03-30
- 谷歌发布PaLM API与Maker Suite,面向开发者,对标OpenAI的ChatGPT API:https://developers.googleblog.com/2023/03/announcing-palm-api-and-makersuite.html
- Anthropic发布Claude,对标ChatGPT,这家初创公司称其更不容易产生幻觉:https://www.bloomberg.com/news/articles/2023-03-14/anthropic-takes-aim-at-openai-s-chatgpt-with-release-of-claude
- 有团队使用自家的昇腾910 AI处理器而非NVIDIA GPU,在中文文本上训练模型:https://arxiv.org/abs/2303.10845
- 马斯克据称要打造OpenAI竞品,以下是他批评ChatGPT的原因:https://www.forbes.com/sites/siladityaray/2023/02/28/musk-reportedly-wants-to-build-openai-rival-heres-why-hes-criticized-chatgpt/
AI监管
- 美国联邦贸易委员会关于AI生成艺术版权资格的文件:https://public-inspection.federalregister.gov/2023-05321.pdf 。总结:如果AI生成的艺术作品包含显著的人类创作投入,就可以适用版权。
- 欧盟计划监管ChatGPT等生成式AI:https://www.politico.eu/article/eu-plan-regulate-chatgpt-openai-artificial-intelligence-act/ ——因为大语言模型没有单一的既定用途,既可以用于善意,也可以用于恶意。
- 意大利隐私监管机构封禁ChatGPT:https://www.politico.eu/article/italian-privacy-regulator-bans-chatgpt/
- 美国联邦贸易委员会(FTC)相关文章:https://www.ftc.gov/business-guidance/blog/2023/02/keep-your-ai-claims-check ——提醒企业注意AI相关的虚假宣传风险。文章强调,对AI做出夸大宣传的公司将受到FTC的密切关注。
- 多位知名人士签署公开信,要求暂停GPT-4后继模型的实验6个月:https://futureoflife.org/open-letter/pause-giant-ai-experiments/ 。(我对此的评论见:https://www.linkedin.com/posts/sebastianraschka_largelanguagemodels-ai-aiethics-activity-7046917935986065408-TfIz )
开源亮点
这个月对开源来说是格外丰收的一个月。此前人们担心AI发展正走向闭源(比如GPT-4),但开源领域如今重振旗鼓、势头向好,非常棒。
PyTorch 2.0
虽然2022年12月的PyTorch大会就已经公布过(并且在《Ahead of AI》第3期也有介绍:https://magazine.sebastianraschka.com/p/ahead-of-ai-3-ainnouncements ),但PyTorch 2.0正式版在3月15日终于发布了:https://pytorch.org/blog/pytorch-2.0-release/ 。正如之前宣布的,两大核心亮点是100%向后兼容,以及新增的可选功能torch.compile,用于编译模型计算图。
我最近用torch.compile微调了一个BLOOM模型(https://sebastianraschka.com/blog/2023/llm-grad-accumulation.html ),确实感受到了非常显著的速度提升(注意:训练时间越长,模型越能从编译中获益)。

来源:https://sebastianraschka.com/blog/2023/llm-grad-accumulation.html
Lightning 2.0:面向PyTorch的Trainer 2.0与Fabric加速训练
Lightning 2.0于本月发布,更新了开源的Lightning PyTorch模型库(https://lightning.ai/docs/pytorch/stable/common/trainer.html),以及全新的开源Fabric库(https://lightning.ai/docs/fabric/stable/ )——通过先进的多GPU训练范式、混合精度训练等特性,加速原生PyTorch训练循环。

使用Fabric修改后的PyTorch训练循环示意图
你可以在这里查看Lightning 2.0的更新日志:https://lightning.ai/docs/pytorch/stable/generated/CHANGELOG.html 。
最近我写了一篇博客《让你的PyTorch模型训练(大幅)提速的几个技巧》,用到了Trainer 2.0和Fabric,如果你想看微调大语言模型的实战案例,可以去看看。

博客文章截图
Lit-LLaMA
https://github.com/Lightning-AI/lit-llama 是Meta的LLaMA大语言模型(相关讨论见:https://magazine.sebastianraschka.com/i/106859367/smaller-large-language-models )的重写实现,基于nanoGPT(https://github.com/karpathy/nanoGPT )开发。重写的动机是:LLaMA官方仓库只包含推理代码,没有训练代码。此外,原版LLaMA代码采用GPL许可证,与其他多个开源许可证不兼容;而Lit-LLaMA采用宽松的Apachev2开源许可证。

Lit-LLaMA示例,来源:https://github.com/Lightning-AI/lit-llama
GPT4All
这个项目演示了如何使用Meta的LLaMA(https://github.com/facebookresearch/llama )训练大语言模型。团队还公开了他们收集的数据、数据处理流程、训练代码和最终模型权重。此外,他们还分享了模型的4比特量化版本,可以在笔记本CPU上运行。代码采用GPL许可证。

与GPT4All的交互,来源:https://github.com/nomic-ai/gpt4all
Twitter算法
正是Twitter官方开源了其推荐算法:https://github.com/twitter/the-algorithm 。有意思的是,代码库中同时使用了TensorFlow和PyTorch。此外,scikit-learn、TorchMetrics、matplotlib等流行库也出现在仓库中。
仔细看他们的信任与安全模型部分(https://github.com/twitter/the-algorithm/tree/main/trust_and_safety_models ),会发现大多数预测语言模型都基于BERT——这是一个非常通用的编码器风格语言模型,我自己也很喜欢用它来做各种预测建模任务。

Twitter算法的代码截图,来源:https://github.com/twitter/the-algorithm/blob/main/trust_and_safety_models/toxicity/load_model.py
MLxtend 0.23
MLxtend是我维护了近十年的机器学习工具函数库。上周末我发布了新版本,感谢社区的贡献带来了诸多改进。其中包括:为热门的plot_decision_regions函数新增多进程支持,以及全新的频繁模式挖掘算法H-Mine。更多内容见更新日志:https://rasbt.github.io/mlxtend/CHANGELOG/
名言
“对于这些架构为何有效,我们给不出任何解释;和其他一切一样,我们将它们的成功归于神的善意。”
——Noam Shazeer(初代Transformer论文的第二作者),出自论文https://arxiv.org/abs/2002.05202v1
这本杂志是我的个人热情项目,不提供直接报酬。不过,如果您愿意支持我,可以考虑购买我的书:https://sebastianraschka.com/books 。如果您觉得这些书有见地、有帮助,欢迎推荐给您的朋友和同事。

https://www.amazon.com/Machine-Learning-PyTorch-Scikit-Learn-scikit-learn-ebook-dp-B09NW48MR1/dp/B09NW48MR1/ 、https://nostarch.com/machine-learning-and-ai-beyond-basics ,以及http://mng.bz/M96o
您的支持对我意义重大!非常感谢!