Month: June 2024

ActivityPub是一种开放的、基于分布式社交网络的协议ActivityPub是一种开放的、基于分布式社交网络的协议

Reblog via admin ActivityPub是一种开放的、基于分布式社交网络的协议,用于创建、更新和删除内容,并实现服务器之间的通信和内容传递。它为客户端到服务器和服务器到服务器提供了API接口,使得用户可以方便地在不同的社交网络平台之间进行交流和互动。 ActivityPub的目标是构建一个去中心化的社交网络,让任何人都可以在网络上运行自己的节点,并与其他服务器上的用户进行关注、点赞、评论等互动。这种去中心化的架构使得用户可以更好地掌控自己的数据和隐私,并且不受单一平台的限制。 ActivityPub使用ActivityStreams作为其词汇,它包含了表示社交网络中各种活动和内容的常用术语。ActivityStreams的词汇已经包含了大部分我们在社交网络中需要使用的词汇,但即使它没有覆盖到我们所需的所有情况,我们仍然可以通过扩展JSON-LD来自定义新的词汇。 JSON-LD是一种用于表示语义数据的JSON扩展格式,它可以将数据组织成图形结构,并提供了一种机制来连接不同的数据源。对于了解JSON-LD的人来说,可以采取更加高级的链接数据方法;而对于不熟悉JSON-LD的人来说,JSON-LD文档和ActivityStreams可以被理解为普通的JSON格式。通过使用JSON-LD,我们可以更好地描述和表示社交网络中的各种活动和内容。 在ActivityPub中,用户通过其在服务器上的帐户来表示为”actors”,每个帐户对应一个独立的”actor”。每个”actor”都有自己的收件箱(inbox)和发件箱(outbox),用于接收和发送消息。用户可以在发件箱中发布消息,其他用户可以通过收件箱接收到这些消息。服务器之间也可以相互传递消息和内容,以实现跨服务器的互联互通。 举个例子,假设我们有两个用户Alyssa和Ben,他们分别在不同的服务器上拥有自己的帐户。当Alyssa想给Ben发送一条消息时,她会将消息发布到自己的发件箱中。然后,Alyssa的服务器会查找Ben的收件箱地址,并将消息发送到Ben的收件箱中。Ben可以通过检查自己的收件箱来读取Alyssa发送的消息。 此外,ActivityPub还支持用户之间的关注、点赞、评论等互动。用户可以关注其他用户的帐户,以便在自己的收件箱中接收他们的消息。用户还可以对其他用户的帖子进行点赞或评论,这些互动也会通过服务器之间的通信进行传递。 ActivityPub协议是世界广泛支持的社交网络标准,在Fediverse中得到了广泛应用。该标准由Evan Prodromou(StatusNet的创始人)等人共同编写,并于2018年1月被W3C发布为推荐标准。 ActivityPub的独特之处在于它允许用户在不同的服务器上创建帐户,并与其他服务器上的用户进行互动。这种联邦架构使得用户可以选择自己喜欢的服务器,并与其他用户跨服务器进行关注、点赞、评论等互动。 目前,许多社交网络平台已经实现了ActivityPub协议,包括Mastodon、PeerTube、Pixelfed等。这些平台都允许用户在自己的服务器上创建帐户,并与其他平台上的用户进行互动。用户可以通过关注其他用户的帐户,接收他们的消息和更新。他们还可以在自己的发件箱中发布消息,使其可供其他用户阅读和互动。 此外,ActivityPub还支持用户之间的私信功能。用户可以通过私信功能与其他用户进行一对一的私密对话,这些对话只有双方能够看到。 Mastodon是基于ActivityPub协议构建的一个开源微博平台,类似于Twitter。用户可以在Mastodon上创建自己的帐户,并与其他用户进行关注、点赞、评论等互动。Mastodon的一个独特之处在于它由许多独立的服务器组成,这些服务器之间通过ActivityPub协议进行通信,用户可以选择加入任何一个服务器。 PeerTube是基于ActivityPub协议构建的一个开源视频分享平台,类似于YouTube。用户可以在PeerTube上上传和分享视频,并与其他用户进行互动。PeerTube的联邦架构允许用户自主选择他们信任的服务器,并在不同的服务器之间共享视频内容。 Pixelfed是基于ActivityPub协议构建的一个开源图片分享平台,类似于Instagram。用户可以在Pixelfed上上传和分享图片,并与其他用户进行互动。Pixelfed的联邦架构使得用户可以选择他们喜欢的服务器,并与其他服务器上的用户进行互动。 随着ActivityPub协议的不断发展和完善,越来越多的社交网络平台将采用这一标准。这将促进不同平台之间的互操作性和联邦互联,使用户能够更加自由地选择他们喜欢的平台,并与不同平台上的用户进行交流和互动。 未来,我们可以期待更多创新和发展,例如更加智能化的内容推荐算法、更加灵活的隐私设置以及更加丰富的互动功能。ActivityPub将继续推动社交网络的去中心化和用户自主性的发展,为用户提供更加丰富、安全和自由的社交网络体验。 参考文献: https://www.zhichai.net/activitypub%ef%bc%9a%e6%9e%84%e5%bb%ba%e5%88%86%e5%b8%83%e5%bc%8f%e7%a4%be%e4%ba%a4%e7%bd%91%e7%bb%9c%e7%9a%84%e5%bc%80%e6%94%be%e5%8d%8f%e8%ae%ae/ [...]

探索Intel Ultra CPU中的NPU与DirectML的结合探索Intel Ultra CPU中的NPU与DirectML的结合

在人工智能(AI)逐渐融入各类应用的今天,新的技术正在不断改变我们的PC体验。Intel Ultra CPU中的神经处理单元(NPU)便是其中的一个亮点。本文将详细介绍NPU的功能和DirectML在Windows上的应用,帮助读者更好地理解这两者的结合如何推动AI的发展。 什么是NPU? NPU,全称为神经处理单元(Neural Processor Unit),是一种专门用于执行机器学习工作负载的处理器。与传统的CPU和GPU不同,NPU专门设计用于处理AI计算任务,具有高性能和低功耗的特点。这种创新的处理器能够释放CPU和GPU的计算资源,专注于高效执行AI工作负载,从而为用户提供更流畅的AI体验。 根据Intel社区博客《解锁Intel的神经处理单元与DirectML》[1],Intel Ultra CPU中的NPU集成在SoC中,能够以相对较低的功耗执行高性能AI计算任务。这种设计不仅提升了AI计算的效率,还为PC带来了更多的可能性,例如创新的AI应用和更强大的生产力工具。 什么是DirectML? DirectML是Windows上的机器学习平台API,它提供了对硬件加速器的通用抽象层。DirectML最初支持GPU,现在也扩展支持NPU。它是DirectX家族的一部分,与DirectX 12兼容,并且可以与其他DirectX组件(如DirectX 12)集成。此外,DirectML还与流行的机器学习和工具框架(如ONNX Runtime和Olive)集成,简化了在Windows生态系统中开发和部署AI体验的过程。 在《DirectML:加速Windows上的AI,现在支持NPU》[2]一文中提到,DirectML是一种低级别、硬件抽象的API,它能够直接访问现代设备(如GPU和NPU)的硬件功能。这种设计使得开发者可以利用DirectML在Windows平台上创建高效的AI应用。 DirectML与Intel NPU的结合 DirectML已经推出了对Intel Core Ultra处理器上NPU加速的开发者预览版本。这一版本支持在新的Windows 11设备上使用Intel Core Ultra处理器的NPU,并且可以运行一部分经过优化的机器学习模型。尽管目前的开发者预览版本仍处于初期阶段,只支持特定的模型,并且可能存在一些兼容性和性能方面的问题,但这个版本标志着AI PC时代的开始。 根据DirectX开发者博客《Introducing Neural Processor Unit (NPU) [...]

波音“吹哨人”之死:安全与责任的双重危机波音“吹哨人”之死:安全与责任的双重危机

引言 2024年3月9日,波音公司前质量经理约翰·巴内特(John Barnett)的离奇死亡,让公众的目光再次聚焦于这家航空巨头的产品质量与安全问题。巴内特曾是波音的“吹哨人”,勇敢揭露了波音787梦想飞机的严重安全问题,却在退休后面临了来自公司的报复和敌对工作环境。 巴内特的警示 巴内特在波音北查尔斯顿工厂担任质量经理期间,发现了波音787梦想飞机存在的安全隐患。他曾向BBC透露:“在企业产量的压力之下,生产线上的工人们故意将有缺陷的零部件安装到飞机上。”^1 这一行为直接威胁到乘客的安全。 波音的回应与后果 波音公司对巴内特的指控拒不承认,但美国监管机构联邦航空管理局(FAA)的审查却揭露了相似的问题。2017年,FAA在审查中发现工厂内有53个有缺陷的零件下落不明^2。然而,波音公司并未采取有效措施解决问题,反而对巴内特进行了诋毁和职业上的阻碍。 企业文化的质疑 波音公司近年来推行的“多样性、平等与包容”(DEI)项目,引发了外界对其企业文化的质疑。埃隆·马斯克(Elon Musk)在社交媒体上指责波音公司,认为其优先考虑DEI而非乘客安全^3。波音公司年度计划中将DEI和气候目标与高管奖金挂钩,这可能导致公司在招聘和技术考量上偏离了安全和质量的核心^4。 FAA与波音的“亲密关系” 美国联邦航空管理局(FAA)与波音公司之间的关系也受到了质疑。FAA在监管上的缺位,以及波音公司在安全测试上的“自我认证”,使得存在重大质量缺陷的飞机得以正常投入使用^5。这种监管上的松懈,不仅影响了波音公司的产品质量,更可能对其长期发展带来严重的后果。 美国制造业的系统性缺陷 波音公司的案例反映出美国制造业的系统性缺陷。过度依赖外包生产,以及政府与企业之间的密切合作,导致了监管的难度和范围的扩大。《华尔街日报》指出,外包策略虽然加快了技术开发的速度,但也增加了监管的挑战^6。 结语 巴内特的死亡不仅是一场悲剧,更是对波音公司以及整个美国制造业安全与责任的一次严峻考验。企业在追求经济利益的同时,不应忽视对乘客安全的责任。政府机构在监管上也应保持警惕,避免因过度亲密的合作关系而导致监管缺位。 参考文献 [...]

美国波音公司的质量经理莫名其妙的“自杀”身亡美国波音公司的质量经理莫名其妙的“自杀”身亡

美国波音公司的质量经理约翰·巴尼特的自杀身亡引起了广泛关注。以下是关于这一事件的详细信息: 综合来看,约翰·巴尼特作为波音公司的质量经理和吹哨人,在揭发公司安全问题的过程中承受了巨大的压力。他的自杀事件引发了对波音公司安全问题和内部打压行为的关注和争议。 Learn more: =除了约翰·巴尼特之外,波音公司还有其他员工因举报安全问题而遭到报复的情况。 根据新华网的报道[1],两名波音工程师曾因飞机的技术事项与管理层意见不和,遭到打击报复。这两名工程师坚持要求遵循联邦航空局新指南,但上级认为这样会增加成本并且延误生产,因此不同意。在联邦航空局的支持下,上级最终不得不同意。然而,这两名员工后来被波音方面给予负面评定,其中一名员工已经离职。 此外,根据半岛电视台的报道[2],波音公司在过去三年里向美国工作场所安全监管机构提出了32起举报投诉。这显示出这家陷入困境的飞机制造商正在接受越来越严格的标准审查,暗示可能存在其他员工因举报安全问题而遭到报复的情况。 Learn more: [...]

教授大型语言模型表达自信心:SaySelf教授大型语言模型表达自信心:SaySelf

摘要 大型语言模型(LLMs)经常会生成不准确或虚构的信息,并且通常在面对陌生问题时无法表达其不确定性,这限制了它们的广泛应用。以往的工作通过直接或自一致提示,或构建特定数据集进行监督微调来引导LLMs表达自信心。基于提示的方法表现较差,而基于训练的方法仅限于二进制或不准确的群体级别的置信度估计。在这项工作中,我们提出了先进的SaySelf训练框架,教会LLMs表达更准确细粒度的置信度估计。此外,除了置信度分数,SaySelf还引导LLMs生成自我反思的论证,清晰地识别其参数知识中的差距并解释其不确定性。这是通过使用LLMs自动总结特定知识中的不确定性的自然语言实现的。总结是基于对多个抽样推理链中的不一致性的分析,并利用得到的数据进行监督微调。此外,我们使用精心设计的奖励函数进行强化学习,来校准置信度估计,激励LLMs提供准确、高置信度的预测,并惩罚错误输出中的过度自信。在内部分布和外部分布的数据集上的实验结果证明了SaySelf在减少置信度校准误差和保持任务性能方面的有效性。我们展示了生成的自我反思论证是合理的,并且可以进一步提高校准性能。 引言 大型语言模型(LLMs)在推理和生成有效回答方面展现出了显著的能力,然而它们经常生成不受其训练数据或输入支持的信息(即幻觉),并且通常在面对陌生问题时不愿意表达其不确定性。因此,准确获取LLMs的可靠置信度估计至关重要。以往的工作主要包括基于提示和基于训练的方法来引导LLMs表达置信度。基于提示的方法使用特定提示来生成置信度分数,或者多次提示LLMs生成答案,并使用一致性水平作为置信度指标,但这些方法在置信度校准性能上表现较差或会导致额外的推理延迟。基于训练的方法构建了用于微调的专门数据集,鼓励LLMs表达不确定性。然而,这些方法经常提供次优或二进制的置信度估计,无法准确反映模型的置信度水平。在这项工作中,我们提出SaySelf,一种训练框架,用于教导LLMs生成更准确和细粒度的置信度估计。重要的是,SaySelf不仅限于以往的置信度引导,还使LLMs能够生成自我反思的论证,指出其知识差距并解释其置信度估计。我们通过使用LLMs自动总结多个抽样推理链中的不一致性来实现这一目标,并以第一人称的自然语言表达特定知识的不确定性。为了实现准确的置信度估计,我们使用精心设计的奖励函数进行强化学习,激励LLMs生成准确、高置信度的预测,并惩罚错误输出### SaySelf框架 SaySelf框架由两个关键阶段组成:监督微调和来自任务监督的强化学习。 监督微调阶段 在监督微调阶段,我们的目标是构建一个包含问题、推理链、自我反思论证和置信度估计的监督数据集D。我们通过从LLMs中抽样多个推理链来构建此数据集。然后,我们对抽样的推理链进行聚类,选择每个簇中的一个实例作为代表。为了得到置信度估计c,我们首先使用HotpotQA中的标注答案检查每个簇中的选定实例的正确性。然后,根据每个簇中的推理链的大小Sc计算置信度估计:c = round(Sc / N × 10),其中Sc是推理链的大小,N是抽样次数。 为了得到自我反思论证r,我们指示LLMs仔细分析和比较所有选定的推理链,重点关注提供的知识事实的不一致性。然后,我们要求LLMs从第一人称的角度用自然语言总结“为什么LLMs不确定”。总结即是自我反思论证r。我们在附录A中提供了用于生成自我反思论证的提示。 通过监督微调,我们使用D对LLMs进行微调。目标函数如下: 其中Θ表示LLMs的参数,c’是置信度估计c的自然语言表达。 来自任务监督的强化学习阶段 由于监督微调的性质,模型往往会产生相同的置信度水平,例如正确答案的置信度较低,错误答案的置信度较高。为了解决这个问题,我们使用强化学习进一步校准LLMs的置信度估计,并鼓励模型生成更准确、区分度更高的值。在采样阶段,LLMs被要求生成答案、自我反思论证和置信度水平。为了优化模型,我们根据与标准答案的对比评估生成的答案,并设计了一个奖励函数。奖励函数考虑了答案的准确性和置信度。为了鼓励模型产生更多区分度的值,奖励函数具有二次输出。 我们使用Proximal Policy Optimization(PPO)算法对LLMs进行训练,根据定义的奖励函数进行优化。 实验结果 我们在多个数据集上进行了实验,包括HotpotQA、TruthfulQA、StrategyQA、FEVER、HaluEval和ParaRel。我们衡量了置信度校准性能、任务性能以及自我反思论证的准确性。 实验结果表明,SaySelf在减少置信度校准误差、提高置信度区分度和保持任务性能方面显著优于基线方法。与其他基线方法相比,SaySelf在各方面的表现都有显著提升。 结论 本文提出了SaySelf框架,用于从LLMs中获取更准确和细粒度的置信度估计和自我反思论证。SaySelf通过监督微调和基于任务的强化学习两个阶段实现。我们的实验结果验证了SaySelf在减少置信度校准误 [...]

探索SaySelf:让大型语言模型表达信心的自我反思方法探索SaySelf:让大型语言模型表达信心的自我反思方法

在当今人工智能领域,大型语言模型(LLMs)已经展现出令人惊叹的推理和生成有效响应的能力。然而,它们在生成不准确或虚构信息(即“幻觉”)方面也存在显著问题,且通常无法明确表达它们的信心水平。这大大限制了它们的应用范围。那么,有没有一种方法可以让这些模型更准确地表达信心,并提供自我反思的理由呢?本文将带您探索一种全新的训练框架——SaySelf,它旨在解决这一问题。 1. 了解SaySelf的背景 大型语言模型在面对陌生问题时,常常会生成虚构信息,而无法准确传达其信心水平。之前的研究尝试通过直接提示或自一致性提示等方法来引导模型表达信心,但这些方法的效果并不理想。此外,构建专门的数据集进行监督微调的方法也存在局限性,通常只能生成二元或不准确的组级信心估计。 先前方法的局限性 2. SaySelf的创新之处 SaySelf不仅仅是一个训练框架,它还教会模型生成更精细的信心估计,并通过自我反思的理由解释其不确定性。 自我反思的理由 SaySelf通过自动总结模型在特定知识上的不确定性,生成自我反思的理由。这一过程基于对多个推理链条不一致性的分析,生成的数据用于监督微调。具体步骤如下: 强化学习的作用 为了校准信心估计,SaySelf采用了一种精心设计的奖励函数,通过强化学习激励模型生成准确的高信心预测,并对错误输出中的过度自信进行惩罚。 3. 实验结果与应用 在多个数据集上的表现 实验结果表明,SaySelf在多个数据集(包括分布内和分布外的数据集)上显著降低了信心校准误差,并保持了任务性能。此外,生成的自我反思理由合理,可以进一步改进校准性能。 应用前景 SaySelf的研究成果不仅对相关学术研究具有影响,还在实际应用中具有广泛的潜力,包括但不限于以下几个方面: 4. 结语 SaySelf为大型语言模型的信心表达和不确定性解释提供了一种创新的方法。通过监督微调和强化学习的结合,SaySelf不仅提高了模型的信心校准精度,还生成了有助于理解模型内部不确定性的自我反思理由。未来,SaySelf有望在提高AI的可信度和互动性能方面发挥重要作用。 参考文献 Xu, T., Wu, S., Diao, S., Liu, X., [...]

教会大语言模型表达自信:自我反思性解释的应用教会大语言模型表达自信:自我反思性解释的应用

摘要: 大型语言模型(LLM)在回答问题时,经常会生成不准确或捏造的信息,并且通常无法表明其置信度,这限制了它们的广泛应用。本文将介绍一种名为 SaySelf 的全新训练框架,它能够教会 LLM 表达更准确、更细粒度的置信度估计,并生成自我反思性解释,以明确识别其参数知识中的差距并解释其不确定性。 一、LLM 的困境:幻觉与不确定性 大型语言模型(LLM)虽然在推理和生成方面表现出色,但它们也经常会生成不准确或捏造的信息,我们称之为“幻觉”。更糟糕的是,当面对不熟悉的问题时,LLM 通常无法表达其不确定性。 “LLMs’ hallucination refers to instances where these models generate information that is not supported by their training data or the [...]

Analysis of “SaySelf: Teaching LLMs to Express Confidence with Self-Reflective Rationales”Analysis of “SaySelf: Teaching LLMs to Express Confidence with Self-Reflective Rationales”

This paper introduces SaySelf, a novel framework designed to address the limitations of Large Language Models (LLMs) in expressing confidence and acknowledging uncertainty. The key contributions and findings are: Problem: [...]

解密 Llama:探秘大型语言模型的训练之道 – 损失函数篇解密 Llama:探秘大型语言模型的训练之道 – 损失函数篇

大型语言模型 (LLM) 如 Llama,凭借其强大的文本生成能力,在聊天机器人、机器翻译、代码生成等领域掀起了一场技术革命。而这卓越性能的背后,离不开精心设计的训练过程,其中损失函数扮演着至关重要的角色,它引导着模型不断优化,最终达到令人惊叹的效果。 1. 损失函数:指引模型学习的方向 试想一下,训练 LLM 就像教孩子学习写作。我们会给孩子看大量的文章,并告诉他们哪些写得好,哪些写得不好,以及如何改进。在这个过程中,评价文章好坏的标准就是损失函数。 对于 LLM 来说,损失函数的目标是衡量模型预测的文本序列与真实文本序列之间的差异。损失函数的值越小,说明模型预测得越准确,反之则说明模型需要进一步调整。 2. Llama 的利器:交叉熵损失函数 Llama 主要使用交叉熵损失函数 (Cross-Entropy Loss) 进行训练。 2.1 交叉熵:信息论与概率的邂逅 交叉熵的概念源于信息论,用于衡量两个概率分布之间的差异。在 LLM 中,这两个概率分布分别代表: 2.2 以公式阐述本质 假设我们要预测一句话的下一个词,模型预测的概率分布为 [0.1, 0.2, [...]

Llama训练过程中,如何制定 损失函数Llama训练过程中,如何制定 损失函数

在训练语言模型(如LLaMA)时,损失函数(Loss Function)的选择和制定非常重要。损失函数用于衡量模型的预测与实际目标之间的差异,并指导模型参数的更新,以提高模型的性能。对于语言模型,通常使用交叉熵损失函数(Cross Entropy Loss),但具体的实现可以根据不同的任务和需求进行调整。 以下是制定损失函数的一般步骤和考虑因素: 示例代码 下面是一个简化的示例代码片段,展示了如何在训练循环中计算交叉熵损失: 上述步骤和示例代码展示了如何在语言模型(如LLaMA)的训练过程中制定和计算损失函数。接下来,我们可以进一步优化和扩展这个流程,考虑更多实际训练中的细节。 进一步优化和扩展 总结 在训练语言模型(如LLaMA)时,制定损失函数的关键步骤包括选择适当的损失函数(通常为交叉熵损失),确保输入和输出形状匹配,考虑掩码来处理填充部分,以及使用优化器和反向传播来更新模型参数。进一步优化可以包括梯度裁剪、学习率调度器和有效的批量处理等方法。 通过这些步骤和优化技巧,可以有效地训练语言模型,使其在语言生成任务中表现出色。 [...]