分类: 🌏

  • 大型语言模型真的像人脑一样思考吗?

    近年来,大型语言模型(LLM)展现出惊人的能力,引发了人们对它们与人脑相似性的思考。一些研究人员试图通过测量模型预测神经信号的能力,即“脑评分”,来量化这种相似性。LLM 的内部表征在脑评分方面取得了最先进的成果,这让人们猜测它们可能与人类语言处理共享计算原理。然而,这种推断只有在 LLM 预测的神经活动子集反映了语言处理的核心要素时才有效。

    本文将对一项关于 LLM 与人脑映射的具有影响力的研究中使用的三个神经数据集进行分析,重点关注参与者阅读短篇文本的 fMRI 数据集。研究发现,当使用与先前研究中相同的数据集进行随机训练-测试分割时,一个编码时间自相关的简单特征不仅优于 LLM,而且解释了 LLM 解释的大部分神经方差。因此,研究人员建议谨慎使用随机训练-测试分割,并使用连续测试分割进行后续分析。

    LLM 的“脑评分”:真相还是幻觉?

    研究人员发现,未经训练的 LLM 在脑评分方面表现出高于预期的水平,这引发了人们对 Transformer 架构是否将计算偏向更像人脑的猜测。然而,研究表明,未经训练的 LLM 预测的神经方差,实际上主要由两个简单的特征解释:句子长度和句子位置。这削弱了 Transformer 架构更像人脑的证据。

    进一步研究发现,经训练的 LLM 在该数据集上的脑评分主要由句子长度、句子位置和代词消解后的静态词嵌入解释;一小部分额外的方差由词义嵌入和句子结构的上下文表征解释。

    揭秘 LLM 的“脑评分”:简单特征的强大力量

    为了深入了解 LLM 与人脑之间的映射关系,研究人员采用了逐步增加特征复杂度的策略,从简单的句子长度和句子位置特征开始,逐步添加词义嵌入、句法嵌入等更复杂的特征。

    结果表明,一个包含核心词义消解的简单模型,在解释 LLM 预测的神经方差方面表现出色,甚至超过了 LLM 本身。更复杂的上下文处理,例如词义消歧和上下文句法表征,在解释神经方差方面只起到了一定的补充作用。

    结论:谨慎解读 LLM 的“脑评分”

    研究表明,过度依赖脑评分可能会导致对 LLM 与人脑之间相似性的过度解读。研究人员强调,在使用脑评分进行分析时,需要对神经编码性能进行系统性分解,并与简单且理论上不重要的特征进行比较。只有在进行这种分解之后,我们才能更有把握地认为 LLM 的神经预测能力反映了人类语言处理的核心方面。

    参考文献

    [1] Feghhi, E. , Hadidi, N., Song, B., Blank, I. A., & Kao, J. C. (2023). What Are Large Language Models Mapping to in the Brain? A Case Against Over-Reliance on Brain Scores. arXiv preprint arXiv:2406.01538.

  • IPFS 的新宠:Helia,让 JavaScript 开发者拥抱去中心化

    IPFS(星际文件系统)作为一种去中心化的文件存储和分发协议,正逐渐成为 Web3 世界的基石。而 Helia 作为 IPFS 在 JavaScript 和浏览器端的现代化实现,为开发者提供了更便捷、高效的工具,让他们能够轻松地将 IPFS 集成到自己的应用中。

    Helia 的优势

    Helia 拥有以下几个关键优势:

    • 模块化: Helia 采用模块化设计,开发者可以根据自己的需求选择不同的模块组合,例如选择使用 HTTP 网关或 libp2p 进行网络连接。
    • 现代化: Helia 基于 TypeScript 开发,提供类型安全和代码提示等现代化开发体验。
    • 易用性: Helia 提供了一系列易于使用的 API,让开发者能够快速上手,将 IPFS 集成到自己的应用中。

    Helia 的应用场景

    Helia 可以应用于多种场景,例如:

    • 去中心化存储: 使用 Helia 存储网站、应用程序、数据等,避免依赖中心化的服务器。
    • 内容分发: 使用 Helia 分发内容,提高内容的可用性和安全性。
    • 去中心化应用开发: 使用 Helia 开发去中心化的应用,例如去中心化的社交网络、去中心化的存储服务等。

    Helia 的使用示例

    以下是一些使用 Helia 的示例:

    • 存储字符串:
    import { createHelia } from 'helia';
    import { strings } from '@helia/strings';
    
    const helia = await createHelia();
    const s = strings(helia);
    
    const myImmutableAddress = await s.add('hello world');
    
    console.log(await s.get(myImmutableAddress));
    // hello world
    • 存储 JSON 对象:
    import { createHelia } from 'helia';
    import { json } from '@helia/json';
    
    const helia = await createHelia();
    const j = json(helia);
    
    const myImmutableAddress = await j.add({ hello: 'world' });
    
    console.log(await j.get(myImmutableAddress));
    // { hello: 'world' }
    • 存储 DAG-JSON 对象:
    import { createHelia } from 'helia';
    import { dagJson } from '@helia/dag-json';
    
    const helia = await createHelia();
    const d = dagJson(helia);
    
    const object1 = { hello: 'world' };
    const myImmutableAddress1 = await d.add(object1);
    
    const object2 = { link: myImmutableAddress1 };
    const myImmutableAddress2 = await d.add(object2);
    
    const retrievedObject = await d.get(myImmutableAddress2);
    console.log(retrievedObject);
    // { link: CID(baguqeerasor...) }
    
    console.log(await d.get(retrievedObject.link));
    // { hello: 'world' }

    Helia 的未来

    Helia 正在不断发展,未来将会有更多功能和改进,例如:

    • 更强大的 API: 提供更丰富的 API,支持更多功能,例如文件系统操作、数据加密等。
    • 更好的性能: 优化性能,提高数据存储和检索速度。
    • 更广泛的应用: 支持更多应用场景,例如 Web3 应用、物联网应用等。

    总结

    Helia 是 IPFS 在 JavaScript 和浏览器端的现代化实现,为开发者提供了更便捷、高效的工具,让他们能够轻松地将 IPFS 集成到自己的应用中。随着 IPFS 的不断发展,Helia 将会扮演越来越重要的角色,推动 Web3 世界的构建。

    参考文献

  • 逃离中心化:星际文件系统 IPFS 的崛起

    互联网正变得越来越中心化。从域名解析到内容托管,再到路由和证书颁发,越来越多的服务都集中在少数几家大型公司手中。这种中心化趋势带来了单点故障风险,一旦这些公司出现问题,整个互联网都可能陷入瘫痪。2013 年亚马逊电商平台的宕机事件就是一个典型的例子,每分钟的损失超过 66000 美元。

    为了解决这个问题,近年来兴起了一场“网络去中心化”技术运动,旨在赋予用户更多控制权。IPFS (星际文件系统) 就是这场运动中的重要一员。IPFS 是一个完全去中心化的、内容寻址的媒体对象存储和检索平台。 它将内容的名称与其存储位置分离,并依赖去中心化的对等网络来索引和存储数据,从而避免了单一实体对网络的控制。

    IPFS 的核心概念

    IPFS 的设计基于四个主要概念:

    • 内容寻址: IPFS 使用基于哈希的内容标识符 (CID) 来标识数据,而不是使用传统的基于位置的地址。这意味着数据可以由任何对等点提供,而无需依赖特定的服务器。
    • 去中心化对象索引: IPFS 使用去中心化的 P2P 覆盖网络来索引对象的可用位置,即使一些节点失效,也不会影响数据的访问。
    • 不可变性及自认证: IPFS 使用加密哈希来自认证对象,确保数据的完整性和真实性,无需依赖证书颁发机构。
    • 开放参与: 任何人都可以部署 IPFS 节点并参与网络,无需特殊权限。

    IPFS 如何工作?

    IPFS 通过以下步骤发布和检索内容:

    1. 内容发布: 当用户将数据导入 IPFS 时,数据会被分割成块,每个块都会被分配一个唯一的 CID。然后,IPFS 会构建一个 Merkle DAG (默克尔有向无环图) 来存储这些块,并生成一个根 CID,代表整个数据的标识符。
    2. 提供者记录: 为了让其他用户找到数据,发布者需要生成一个提供者记录,将 CID 映射到自己的 PeerID (对等点标识符) 和 Multiaddress (网络地址)。
    3. DHT 索引: 提供者记录会被发布到一个去中心化的哈希表 (DHT) 上,DHT 会将 CID 和 PeerID 存储起来,并帮助用户找到数据。
    4. 内容检索: 当用户想要检索数据时,他们会向 DHT 发送请求。DHT 会根据 CID 找到最近的提供者记录,并返回提供者的 PeerID 和 Multiaddress。
    5. 对等点连接: 用户会连接到提供者,并使用 Bitswap 协议从提供者获取数据。

    IPFS 的优势

    IPFS 带来了许多优势,包括:

    • 名称持久性: 数据的标识符是不可变的,即使数据被复制或移动,其标识符也不会改变。
    • 文件完整性: IPFS 使用加密哈希来验证数据的完整性,确保数据没有被篡改。
    • 数据去重: IPFS 会自动识别和删除重复数据,节省存储空间和带宽。
    • 抗审查性: 由于数据分布在多个节点上,任何人都无法轻易删除或修改数据。
    • 网络分区容错性: 即使网络出现故障,IPFS 仍然可以正常工作。

    IPFS 的挑战

    IPFS 也面临着一些挑战,包括:

    • 激励机制: 目前 IPFS 缺乏有效的激励机制,导致用户参与度不高。
    • 访问控制: IPFS 默认不提供访问控制机制,需要用户自行实现。
    • 内容可用性: 由于 IPFS 是一个尽力而为的网络,无法保证所有数据都始终可用。

    IPFS 的未来

    尽管面临着挑战,IPFS 仍然拥有巨大的潜力。它有可能改变我们存储和访问数据的方式,并为互联网带来更去中心化、更安全、更可靠的未来。

    参考文献


    https://ipfs.io/ipfs/QmePKXH5VsUmRrWr5iQgz1gvf5AujoRpd9yxFtcx7CgeZ2?filename=IPFS%E5%8E%9F%E7%90%86%E8%AF%A6%E8%A7%A3.pdf


    https://ipfs.io/ipfs/QmSX6abumAo8BGGawLx2nRrKy4885oFiKEnpKec1oLKjxK?filename=IPFS%E4%B8%AD%E7%9A%84%E5%88%86%E5%B8%83%E5%BC%8F%E5%93%88%E5%B8%8C%E8%A1%A8DHT.pdf


  • 长文本检索的突破:LoCoV1 基准测试和 M2-BERT 模型的最新进展

    近年来,随着人工智能技术的飞速发展,长文本检索成为了一个备受关注的研究领域。传统的检索方法往往难以处理长文本,而新的模型和方法正在不断涌现,为我们提供了更强大的工具。今天,我们将介绍由斯坦福大学 Hazy Research 团队发布的最新成果:LoCoV1 长文本检索基准测试和 M2-BERT 模型的最新进展。

    LoCoV1:一个更全面的长文本检索基准测试

    在之前的一篇博文中,Hazy Research 团队曾向社区征求对长文本检索的需求。经过与研究人员和从业者的交流,他们发现法律、编程等领域对长文本检索有着迫切的需求。为了满足这些需求,他们构建了 LoCoV1 基准测试,它包含了来自法律、医学、科学、金融、公司治理、政府报告等多个领域的 12 个任务。

    LoCoV1 基准测试使用了多个真实世界的数据集,包括 Tau Scrolls、QASPER、LongBench、Legal Case Reports 等。这些数据集的共同特点是:

    • 更长、更复杂的查询和文档格式: LoCoV1 中的查询和文档往往包含大量信息,需要模型具备更强的理解能力才能进行有效的检索。
    • 能够评估模型对长文本的处理能力: LoCoV1 的设计确保了查询和文档中包含了大量相关信息,能够有效地测试模型在长文本检索方面的性能。

    Hazy Research 团队在 HuggingFace 上发布了 LoCoV1 的查询和文档,方便研究人员进行测试。

    M2-BERT 模型的最新进展:更强大的长文本检索能力

    为了更好地应对 LoCoV1 基准测试中的挑战,Hazy Research 团队对 M2-BERT 模型进行了微调,并发布了新的 M2-BERT-V2 模型。这些模型针对 128、2k、8k 和 32k 的输入 token 进行了优化,并可以在 HuggingFace 和 Together 平台上进行推理。

    在 LoCoV1 基准测试上,M2-BERT-V2 模型的表现非常出色,甚至超过了更大规模的模型。例如,M2-BERT-80M-32k-Retrieval 模型在 LoCoV1 上取得了 95.2 的得分,超过了 4 倍大小的 E5-Mistral 模型和 85 倍大小的 OpenAI Ada 模型。

    总结与展望

    LoCoV1 基准测试和 M2-BERT 模型的最新进展,标志着长文本检索领域取得了新的突破。未来,Hazy Research 团队将继续探索如何将神经网络、词汇方法和混合方法相结合,进一步提升长文本检索的性能。

    参考文献

    Announcing LoCoV1 and the Latest M2-BERT Models · Hazy Research

  • 从DNA学习:生物学领域的重大挑战

    引言

    近年来,人工智能(AI)在各个领域取得了突破性进展,自然语言处理领域更是如此。大型语言模型(LLM)的出现,让我们看到了AI在理解和生成人类语言方面的巨大潜力。然而,生物学领域却相对落后。DNA作为生命的基本代码,蕴藏着丰富的生物信息,但我们对它的理解还远远不够。

    DNA:生物学的语言

    DNA就像一门复杂的语言,包含着关于生命运作的全部信息。它由四种碱基(A. T、C、G)组成,排列组合形成基因,进而决定了生物体的性状和功能。然而,与人类语言不同,DNA语言更加复杂,包含着多种模态,例如DNA、RNA和蛋白质。这些模态相互关联,共同构成生命活动的复杂网络。

    Evo:一个突破性的DNA模型

    为了更好地理解和利用DNA信息,斯坦福大学Hazy Research团队开发了一个名为Evo的生物基础模型。Evo是一个长上下文模型,能够处理超过65万个token的DNA序列,并进行预测和生成任务。

    Evo的训练数据来自270万个原核生物和噬菌体基因组,包含3000亿个token。它基于StripedHyena架构,结合了旋转注意力机制,并通过高效的上下文扩展技术,将上下文长度扩展到131000个token。

    Evo的亮点

    • 跨模态学习: Evo能够学习DNA、RNA和蛋白质之间的关系,在蛋白质功能预测方面取得了与专门的蛋白质模型(如ESM2和ProGen)相当的性能,即使没有被明确地展示蛋白质编码区域。
    • 全基因组理解: Evo能够预测基因的必要性,即哪些基因对于生物体的生存至关重要。它可以通过分析DNA突变来预测基因的必要性,而无需进行实验室实验。
    • 生成能力: Evo能够生成新的分子、系统,甚至整个基因组。它可以设计新的CRISPR系统,这为创建新的基因编辑工具开辟了新的途径。

    DNA建模的挑战

    DNA建模面临着许多挑战,其中最主要的是:

    • 长距离建模: 人类基因组包含30亿个核苷酸,需要模型能够处理长距离的序列信息。
    • 单核苷酸分辨率: 进化过程中的单个核苷酸突变会对生物体产生重要影响,因此模型需要能够识别和理解单个核苷酸的变化。
    • 多种模态: DNA包含多种模态,需要模型能够理解这些模态之间的关系。

    DNA的扩展规律

    为了更好地理解DNA模型的扩展规律,Hazy Research团队进行了DNA扩展规律实验。他们训练了300个模型,涵盖了Transformer++、Mamba、Hyen和StripedHyena等多种架构,并通过改变模型大小和数据集大小来观察模型性能的变化。

    实验结果表明,Transformer++在DNA建模方面表现较差,而Hyen和StripedHyena则表现出更好的扩展率。这表明,自然语言模型的架构不一定适用于DNA建模。

    机械架构设计

    为了更好地理解模型架构的选择,Hazy Research团队开发了一种新的框架,称为机械架构设计(MAD)。MAD利用合成任务来测试不同的架构设计选择,并建立了合成任务性能与扩展规律之间的联系。

    未来方向

    Evo的出现为生物学研究开辟了新的可能性。未来,研究人员将继续努力改进Evo模型,并将其应用于更多领域,例如:

    • 提示工程和对齐技术: 通过提示工程和对齐技术,可以提高Evo模型的设计序列的控制性和质量。
    • 多模态学习: 将领域特定知识注入Evo模型,可以提高模型的性能。
    • 评估方法: 开发更有效的评估方法,可以更好地评估模型的性能。

    结论

    从DNA学习是生物学领域的重大挑战,也是人工智能领域的重要机遇。Evo模型的出现标志着生物学研究进入了一个新的时代。随着人工智能技术的不断发展,我们有理由相信,未来我们将能够更好地理解和利用DNA信息,为人类健康和社会发展做出更大的贡献。

    参考文献

    • [1] Hazy Research. (2024). Learning from DNA: a grand challenge in biology. Hazy Research Blog. https://hazyresearch.stanford.edu/blog/2024-03-14-evo
  • 日耳曼人:从蛮荒到文明的迁徙之旅

    日耳曼人,这个曾经让罗马帝国胆寒的民族,如今已成为欧洲文明的重要组成部分。他们的足迹遍布欧洲,他们的语言和文化影响着世界各地。但日耳曼人究竟是谁?他们从何而来?又经历了怎样的历史变迁?让我们一起走进日耳曼人的世界,探寻他们的起源和发展。

    “日耳曼人”:一个模糊的概念

    “日耳曼人”并非一个单一的民族,而是一些语言、文化和习俗相近的民族(部落社会)的总称。他们从公元前2千年到4世纪生活在欧洲大陆西北部,包括今天的德国、奥地利、瑞士、荷兰、丹麦、挪威、瑞典等地区。

    “日耳曼”一词的起源尚无定论,但最可信的理论认为它源于高卢语,意为“邻近的人”。 也有学者认为,这个词在凯尔特语中意为“吵闹的”。 值得注意的是,日耳曼人自己可能并没有将自己看作是同一个民族,直到罗马人开始用“日耳曼人”来称呼他们。

    从语言学和考古学中寻找答案

    由于缺乏文字记载,我们只能通过考古学和语言学来了解日耳曼人的早期历史。通过比较日耳曼语和其它印欧语言,语言学家们可以重建“前日耳曼语”,即日耳曼语的祖先语言。

    研究表明,日耳曼语属于印欧语系,与凯尔特语和古意大利语关系密切。 这三种语言被认为是古欧洲语言,在青铜器时代早期(约公元前3000-2000年)是中欧的通用语言。 日耳曼语与凯尔特语的亲缘关系也体现在一些词汇的借用上。 此外,日耳曼语也对芬兰语等语言产生了影响。

    考古学研究则表明,欧洲北部的青铜器时代居民很可能是日耳曼人的祖先。 但关于更早的石器时代居民与日耳曼人的关系,目前尚无定论。

    罗马人的眼中钉:日耳曼人的扩张

    最早关于日耳曼人的记载来自他们与希腊人和罗马人的接触。公元前330年,希腊旅行家皮西亚斯记录了北海地区和当地居民的情况。 公元前200年,东日耳曼人中的巴斯塔奈人入侵了今天的罗马尼亚东部,与马其顿和巴尔干半岛上的其他民族发生战争。

    公元前1世纪,日耳曼人开始频繁与罗马发生冲突。辛布里人和条顿人南下,对罗马帝国构成严重威胁。 尽管罗马军队最终战胜了他们,但日耳曼人对罗马边境的威胁从未消失。

    公元1世纪,罗马帝国试图将边界扩展到易北河,但最终在公元9年的条顿堡森林战役中惨败。 这场战役是日耳曼人反抗罗马帝国统治的标志性事件,也标志着罗马帝国向东扩张的终结。

    日耳曼人的迁徙:民族大迁徙的序幕

    从公元2世纪开始,日耳曼人开始大规模迁徙。 他们向南、向西扩张,对罗马帝国的边境造成巨大压力。 公元3世纪,日耳曼人入侵罗马帝国,最终导致了西罗马帝国的灭亡。

    日耳曼人的迁徙是多种因素造成的,包括人口增长、气候变化、饥荒以及与其他民族的冲突。 这些迁徙也导致了欧洲民族的重新洗牌,形成了新的民族和国家。

    日耳曼人的文化和生活

    日耳曼人主要以农业为生,但也有一些游牧民族。 他们没有货币,以物易物进行贸易。 他们的社会结构比较简单,以氏族和部落为单位。

    日耳曼人信仰多神教,崇拜自然神灵。 他们的神话和传说在北欧神话中得到了传承。 他们也有一些独特的艺术形式,例如卢恩字母。

    日耳曼人的遗产:影响深远

    日耳曼人对欧洲文明的影响是深远的。 他们的语言演化成了英语、德语、荷兰语、瑞典语、挪威语等多种语言。 他们的文化和习俗也对欧洲文化产生了深远的影响。

    日耳曼人的历史是一部充满传奇和英雄事迹的历史,也是一部关于迁徙、战争和融合的历史。 他们的故事告诉我们,民族的兴衰更替是历史的必然规律,而文明的传承和发展则是人类共同的追求。

    参考文献

    • Oxford Dictionary of English Etymology 1963
    • McBain’s An Etymological Dictionary of the Gaelic Language
    • Schulze, Hagen. Grundriss der Germanischen Philologie. Cambridge, MA: Harvard University Press. 1998: 4.
    • “German”, The Concise Oxford Dictionary of English Etymology. Ed. T. F. Hoad. Oxford: Oxford University Press, 1996. Oxford Reference Online. Oxford University Press. Retrieved 4 March 2008.
    • Partridge, Eric, Origins: A Short Etymological Dictionary of Modern English. London: Routledge, 1958.
    • Mallory; Adams, The Oxford Introduction to Proto-Indo-European and the Proto-Indo-European World. Oxford: Oxford University Press, 2006.
    • 严毅. 日耳曼人. 世界知识. 1982, (19): 30.
    • 凯撒 高卢战记
    • 塔西佗 日耳曼尼亚志
    • 维基百科:日耳曼人
  • 斯坦福“雷猫”:GPU 性能的秘密武器

    AI 计算需求与日俱增,如何让 GPU 充分发挥潜力成为一大难题。斯坦福大学的研究人员最近发布了一个名为“雷猫”(ThunderKittens)的工具,它可以显著提升 GPU 的运行效率,甚至比目前最快的 FlashAttention2 还要快 30%!

    雷猫的秘密武器在于它对 GPU 硬件的深度理解。研究人员从“硬件实际需要什么?如何满足这些需求?”这两个问题出发,设计了一个嵌入式 CUDA DSL 工具。雷猫通过操作小型张量块(tile)来简化 AI 内核的编写,并充分利用张量核心、异步数据传输和共享内存等硬件特性。

    H100:性能之王,如何榨干它的潜力?

    研究人员以英伟达最新的 H100 GPU 为例,深入探讨了如何优化 GPU。H100 拥有 989 TFLOPs 的半精度矩阵乘法计算能力,但要充分发挥它的能力,关键是保持张量核心持续运算。

    然而,要做到这一点并不容易。研究人员发现,H100 硬件具有一些特性,对于保持矩阵乘法的运行至关重要:

    • WGMMA 指令: H100 引入了新的指令集 WGMMA,它允许 128 个线程跨 SM 所有子单元协作同步,并从共享内存及寄存器异步启动矩阵乘法。这些指令对于充分利用 H100 的计算能力是必不可少的,没有它们,GPU 的峰值利用率会损失 37%。
    • 共享内存: 共享内存的延迟虽然看似不多,但对于高速运行的张量核心来说已经足够显著。此外,共享内存的存储单元独立,处理不当会导致 bank conflicts,显著拖慢内核速度。
    • 地址生成: H100 的张量核心和内存速度极快,仅生成用于获取数据的内存地址就占用了芯片的大量资源。英伟达提供的张量内存加速器(TMA)可以异步提取张量的一部分,大大节省了地址生成的开销。
    • 占用率: 占用率指的是 GPU 上同时调度的线程数。高占用率可以隐藏缺陷或同步问题,但一个设计良好的 pipeline 即使在占用率不高的情况下也能运行得相当快。

    雷猫:小而精,性能大提升

    为了更轻松地编写所需的内核类型,并充分发挥硬件的全部潜力,雷猫应运而生。它是一个嵌入在 CUDA 中的 DSL,包含四种模板类型:寄存器 tiles、寄存器向量、共享 tiles 和共享向量。雷猫提供了一系列操作来处理这些张量,既可在 warp 级别使用,也可用于多个 warp 协作。

    雷猫的优势在于它的小而简单,功能有限,但它符合 AI 和硬件的发展趋势。研究人员认为,AI 的设计理念应该根据硬件特性进行重新定义,例如循环状态应该足够大以适应一个 SM,计算的密度应该不低于硬件的需求。

    未来展望:AI 与硬件的深度融合

    雷猫的出现,标志着 AI 和硬件深度融合的新方向。研究人员认为,未来需要利用对硬件的了解,设计与之匹配的 AI,从而进一步提升 GPU 的性能,释放 AI 的潜力。

    雷猫的未来展望:

    • 跨平台支持: 研究人员计划将雷猫扩展到 AMD 硬件平台,进一步扩大其应用范围。
    • 更深度的硬件融合: 雷猫团队将继续研究如何更深入地利用 GPU 硬件特性,例如利用 H100 的分布式共享内存,以进一步提升性能。
    • AI 设计理念的革新: 研究人员认为,未来 AI 的设计理念应该更加贴近硬件,例如循环状态的大小应该与 SM 的容量相匹配,计算密度应该不低于硬件的需求。

    雷猫的出现,为 AI 计算领域带来了新的希望。通过深入理解硬件特性,并设计与之匹配的 AI,我们可以进一步提升 GPU 的性能,释放 AI 的潜力,为 AI 技术的进步贡献力量。

    参考文献:

    [1] https://hazyresearch.stanford.edu/blog/2024-05-12-tk


    斯坦福大学的研究人员开发了一款名为“雷猫”的新工具,它被称为GPU性能的秘密武器。这个工具可以提高GPU的运行效率,比使用FlashAttention-2(FA2)还要快。通过使用雷猫,研究人员成功地将H100 GPU的性能提升了30%[1]

    以下是关于斯坦福“雷猫”工具的一些关键信息:

    1. 工具简介:
    • 雷猫是一个嵌入式CUDA DSL工具,它可以简化AI内核的编写,并充分利用底层硬件能力[1]
    • 雷猫的主要抽象是寄存器和共享内存中的小型张量块(tile),与GPU中对小矩阵乘法的优化相匹配[1]
    1. 工具优势:
    • 使用雷猫实现的注意力机制内核,代码量少且能实现很高的硬件利用率,性能超过直接使用底层库(如Cutlass)[1]
    • 雷猫可以帮助开发者相对简单地编写代码,充分利用张量核心、异步数据传输和共享内存等硬件特性[1]
    1. H100 GPU的优化方法:
    • H100 GPU是斯坦福研究人员探讨的一个例子,用于讨论GPU的优化方法[1]
    • H100 GPU具有80GB的HBM3内存、50MB的L2缓存和132个流式多处理器(SM)等硬件细节[1]
    • 为了充分发挥H100的计算能力,关键是保持张量核心持续运算[1]
    1. 保持张量核心持续运算的注意事项:
    • WGMMA指令是保持矩阵乘法运行的关键,但使用起来较为麻烦[1]
    • 共享内存的速度可能不如预期快,需要额外注意[1]
    • 生成地址的成本较高,需要注意控制[1]
    • 保持高占用率对于提升性能是有益的,寄存器至关重要[1]

    斯坦福大学的研究人员通过这项研究和开发的“雷猫”工具,成功提高了GPU的运行效率,为AI算力资源紧张的时代提供了一种新的解决方案。这项研究对于进一步优化GPU性能和提高AI算力的利用率具有重要意义。


    Learn more:

    1. 斯坦福让“GPU高速运转”的新工具火了,比FlashAttention2更快创事记新浪科技_新浪网
    2. 斯坦福让”GPU高速运转”的新工具火了,比FlashAttention2更快 | 量子位
    3. 优化架构,降低频率,骁龙8gen2高性能、低功耗的秘密武器之一|高通|gpu|处理器|cpu|骁龙+移动平台_网易订阅

  • 斯坦福新工具“雷猫”:让 GPU 性能飙升,比 FlashAttention2 更快!

    AI 算力资源越来越紧张,如何让 GPU 充分发挥潜力成为一大难题。最近,斯坦福大学的研究人员发布了一个名为“雷猫”(ThunderKittens)的工具,它可以显著提升 GPU 的运行效率,甚至比目前最快的 FlashAttention2 还要快 30%!

    雷猫的秘密武器在于它对 GPU 硬件的深度理解。研究人员从“硬件实际需要什么?如何满足这些需求?”这两个问题出发,设计了一个嵌入式 CUDA DSL 工具。雷猫通过操作小型张量块(tile)来简化 AI 内核的编写,并充分利用张量核心、异步数据传输和共享内存等硬件特性。

    H100:性能之王,如何榨干它的潜力?

    研究人员以英伟达最新的 H100 GPU 为例,深入探讨了如何优化 GPU。H100 拥有 989 TFLOPs 的半精度矩阵乘法计算能力,但要充分发挥它的能力,关键是保持张量核心持续运算。

    然而,要做到这一点并不容易。研究人员发现,H100 硬件具有一些特性,对于保持矩阵乘法的运行至关重要:

    • WGMMA 指令: H100 引入了新的指令集 WGMMA,它允许 128 个线程跨 SM 所有子单元协作同步,并从共享内存及寄存器异步启动矩阵乘法。这些指令对于充分利用 H100 的计算能力是必不可少的,没有它们,GPU 的峰值利用率会损失 37%。
    • 共享内存: 共享内存的延迟虽然看似不多,但对于高速运行的张量核心来说已经足够显著。此外,共享内存的存储单元独立,处理不当会导致 bank conflicts,显著拖慢内核速度。
    • 地址生成: H100 的张量核心和内存速度极快,仅生成用于获取数据的内存地址就占用了芯片的大量资源。英伟达提供的张量内存加速器(TMA)可以异步提取张量的一部分,大大节省了地址生成的开销。
    • 占用率: 占用率指的是 GPU 上同时调度的线程数。高占用率可以隐藏缺陷或同步问题,但一个设计良好的 pipeline 即使在占用率不高的情况下也能运行得相当快。

    雷猫:小而精,性能大提升

    为了更轻松地编写所需的内核类型,并充分发挥硬件的全部潜力,雷猫应运而生。它是一个嵌入在 CUDA 中的 DSL,包含四种模板类型:寄存器 tiles、寄存器向量、共享 tiles 和共享向量。雷猫提供了一系列操作来处理这些张量,既可在 warp 级别使用,也可用于多个 warp 协作。

    雷猫的优势在于它的小而简单,功能有限,但它符合 AI 和硬件的发展趋势。研究人员认为,AI 的设计理念应该根据硬件特性进行重新定义,例如循环状态应该足够大以适应一个 SM,计算的密度应该不低于硬件的需求。

    未来展望:AI 与硬件的深度融合

    雷猫的出现,标志着 AI 和硬件深度融合的新方向。研究人员认为,未来需要利用对硬件的了解,设计与之匹配的 AI,从而进一步提升 GPU 的性能,释放 AI 的潜力。

    参考文献:

    [1] https://hazyresearch.stanford.edu/blog/2024-05-12-tk

    [2] https://github.com/HazyResearch/ThunderKittens

    [3] https://news.ycombinator.com/item?id=40337936


    斯坦福大学的研究人员最近发布了一个名为“雷猫”(ThunderKittens)的工具,它可以显著提升 GPU 的运行效率,比目前最快的 FlashAttention2 还要快30% [1]。雷猫是一个嵌入在 CUDA 中的 DSL 工具,通过操作小型张量块来简化 AI 内核的编写,并充分利用 GPU 硬件的特性,如张量核心、异步数据传输和共享内存等 [1]

    下面是关于雷猫和 GPU 性能提升的一些关键信息:

    雷猫:GPU 性能提升的秘密武器

    • 雷猫是一个嵌入在 CUDA 中的 DSL 工具,通过操作小型张量块来简化 AI 内核的编写,并充分利用 GPU 硬件的特性 [1].
    • 雷猫提供了四种模板类型:寄存器 tiles、寄存器向量、共享 tiles 和共享向量,用于处理张量操作 [1].
    • 雷猫的优势在于它的小而简单,功能有限,但符合 AI 和硬件的发展趋势 [1].

    GPU 性能提升的关键因素

    • GPU 硬件具有一些特性,对于保持矩阵乘法的运行至关重要 [1]:
    • WGMMA 指令:H100 GPU 引入了新的指令集 WGMMA,允许线程跨 SM 所有子单元协作同步,并从共享内存及寄存器异步启动矩阵乘法 [1].
    • 共享内存:共享内存的延迟对于高速运行的张量核心来说已经足够显著,处理不当会导致 bank conflicts,拖慢内核速度 [1].
    • 地址生成:GPU 的张量核心和内存速度极快,但生成用于获取数据的内存地址占用了大量资源,张量内存加速器(TMA)可以异步提取张量的一部分,节省了地址生成的开销 [1].
    • 占用率:高占用率可以隐藏缺陷或同步问题,但设计良好的 pipeline 即使在占用率不高的情况下也能运行得相当快 [1].

    未来展望:AI 与硬件的深度融合

    • 雷猫的出现标志着 AI 和硬件深度融合的新方向,未来需要利用对硬件的了解,设计与之匹配的 AI,进一步提升 GPU 的性能,释放 AI 的潜力 [1].

    参考文献:

    1. 比标准Attention提速5-9倍,大模型都在用的FlashAttention v2来了 | 机器之心 [1]
    2. 斯坦福大学发布的ThunderKittens工具 [1]
    3. https://news.ycombinator.com/item?id=40337936 [1]

    Learn more:

    1. 比标准Attention提速5-9倍,大模型都在用的FlashAttention v2来了 | 机器之心
    2. 通透理解FlashAttention与FlashAttention2:全面降低显存读写、加快计算速度-CSDN博客
    3. FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning | Princeton NLP Group
  • 斯坦福“雷猫”:让 GPU 高速运转,比 FlashAttention2 还快!

    AI 算力资源越来越紧张,如何提升 GPU 的运行效率成为了热门话题。斯坦福大学的研究人员近日推出了一个名为 ThunderKittens(暂且译为“雷猫”)的嵌入式 CUDA DSL 工具,它能显著提升 GPU 的性能,甚至比目前最快的 FlashAttention-2 还要快 30%。

    “雷猫”的秘密武器:小型张量块

    “雷猫”的强大之处在于它巧妙地利用了 GPU 的硬件特性。它将 AI 内核的编写简化,并充分利用底层硬件能力。具体来说,它主要抽象了寄存器和共享内存中的小型张量块(tile),这与目前 GPU 中对小矩阵乘法的优化相匹配。通过操作这些 tile,开发者可以相对简单地编写代码,充分利用张量核心、异步数据传输和共享内存等硬件特性。

    H100:如何榨干它的潜力?

    为了更好地理解“雷猫”的原理,我们以英伟达最新的 H100 GPU 为例。H100 拥有强大的计算能力,但要充分发挥它的潜力,需要克服一些挑战。

    • WGMMA 指令:H100 引入了一套新的指令集,名为“warp group matrix multiply accumulate”。这些指令对于充分发挥 H100 的计算能力至关重要,但它们的使用也颇为复杂,需要精心控制内存请求的合并和避免 bank conflicts。
    • 共享内存:共享内存的速度并不如预期快,使用时需要格外注意。处理不当可能会引发 bank conflicts,显著拖慢内核速度。
    • 地址生成:生成地址的成本较高,特别是加入复杂的交错或重排模式时,这种情况更为明显。
    • 占用率:保持高占用率对于提升性能是有益的,寄存器至关重要。

    “雷猫”:简化代码,提升性能

    为了解决这些挑战,斯坦福的研究人员开发了“雷猫”。它包含四种模板类型:寄存器 tiles、寄存器向量、共享 tiles 和共享向量。开发者可以使用这些模板类型和一系列操作来处理张量,并充分利用 GPU 的硬件特性。

    “雷猫”的优势:

    • 简化代码:使用“雷猫”编写的内核代码量更少,复杂性更低。
    • 提升性能:“雷猫”可以显著提高 GPU 的硬件利用率,性能超过直接使用底层库(如 Cutlass)。
    • 适应性强:“雷猫”作为一个嵌入到 CUDA 中的库,其提供的抽象层在遇到不支持的功能时能够很好地处理。

    未来展望:

    斯坦福的研究人员认为,小型张量块的设计理念符合 AI 和硬件的发展趋势。他们相信,未来会看到更多基于小型张量块的 AI 设计,以及硬件对小型矩阵乘法的支持。

    总结:

    “雷猫”是一个强大的工具,它可以帮助开发者更轻松地编写高效的 AI 内核,并充分发挥 GPU 的潜力。它不仅能提升 AI 模型的训练和推理速度,还能促进一系列高吞吐量应用的发展。

    参考文献:

    [1] https://hazyresearch.stanford.edu/blog/2024-05-12-tk
    [2] https://github.com/HazyResearch/ThunderKittens
    [3] https://news.ycombinator.com/item?id=40337936

人生梦想 - 关注前沿的计算机技术 acejoy.com