Kangaroo:高效缓存海量微小对象的闪存缓存

2025-05-22
Kangaroo:高效缓存海量微小对象的闪存缓存

Facebook 和卡内基梅隆大学合作研发了一种名为 Kangaroo 的新型闪存缓存,它能够高效缓存极小的对象(约 100 字节或更小)。Kangaroo 解决了现有闪存缓存设计中 DRAM 使用过多和写入次数过多的难题,通过在 Facebook 开源缓存引擎 CacheLib 中实现,开发者可轻松集成。实验表明,Kangaroo 将缓存未命中率降低了 29%,显著减轻了后端存储系统的负载,特别适用于社交媒体等需要处理大量微小对象的场景。

阅读更多

Meta开源Pyrefly:Rust打造的Python类型检查器

2025-05-17
Meta开源Pyrefly:Rust打造的Python类型检查器

Meta发布了Pyrefly的alpha版本,这是一个用Rust编写的开源Python类型检查器和IDE扩展。Pyrefly旨在提高Python代码的类型一致性,并在运行前尽早发现错误。它支持IDE集成和命令行使用,并注重性能和类型推断,即使对于未加类型注解的代码也能有效工作。Pyrefly是Meta在Pyre基础上改进而来,目标是打造一个更强大、更易扩展的类型检查器,并与Python社区共同改进Python类型系统。

阅读更多
开发

WhatsApp 的隐私保护AI处理技术:Private Processing

2025-05-02
WhatsApp 的隐私保护AI处理技术:Private Processing

WhatsApp 推出 Private Processing,一种可选的隐私保护 AI 处理技术。这项技术利用可信执行环境 (TEE) 在安全的云环境中处理用户消息,例如总结未读消息或提供写作建议,确保 Meta 和 WhatsApp 都无法访问用户数据。Private Processing 遵循可选性、透明性和用户控制等原则,并通过多种安全措施,例如机密处理、可验证的透明性以及无目标性等,来保证用户隐私和数据安全。WhatsApp 将公开 Private Processing 的部分组件,并扩大漏洞赏金计划的范围,以促进独立安全研究。

阅读更多
开发

Meta的Strobelight:一个节省15000台服务器的性能分析神器

2025-03-07
Meta的Strobelight:一个节省15000台服务器的性能分析神器

Meta开源了Strobelight,一个强大的性能分析协调器,它整合了多种技术(很多是开源的),帮助工程师优化Meta庞大的服务器集群。Strobelight并非单一工具,而是多种分析器的协调器,收集CPU使用率、内存分配等指标,并通过Scuba和Tracery等工具进行可视化。通过Strobelight,Meta已经节省了相当于15000台服务器的年度容量,其中一个案例仅仅是修改一行代码(添加一个&符号),就实现了这一惊人效果。Strobelight的优势在于其高效的eBPF技术、灵活的自定义分析器、自动化的数据收集和动态采样等。

阅读更多
科技

Meta开源代码索引系统Glean:大规模代码索引的利器

2025-01-01
Meta开源代码索引系统Glean:大规模代码索引的利器

Meta开源了其大规模代码索引系统Glean,该系统能够高效地收集、处理和查询源代码信息,为开发者工具赋能。Glean采用独特的Angle查询语言,支持多种编程语言和自定义数据模式,并通过增量索引技术有效应对大型代码库的挑战。Glean已广泛应用于Meta内部,用于代码导航、代码搜索、文档生成等,极大地提升了开发效率。

阅读更多
开发 Glean

Meta使用Haskell对抗垃圾邮件:Sigma系统升级

2024-12-22
Meta使用Haskell对抗垃圾邮件:Sigma系统升级

Meta公司使用名为Sigma的系统对抗垃圾邮件和恶意软件。Sigma最近进行了为期两年的重大改版,将原有的FXL语言替换为Haskell语言。Haskell版的Sigma每秒处理超过百万个请求,并实现了比FXL版本高20%到30%的吞吐量。选择Haskell的原因在于其纯函数式和强类型特性,以及Haxl框架带来的自动批量和并发数据获取能力。Meta团队还对GHC编译器进行了改进,并解决了GHC中的一些bug。

阅读更多
开发 Sigma

Meta大规模将Java代码迁移至Kotlin:攻克百万级代码转换难题

2024-12-22
Meta大规模将Java代码迁移至Kotlin:攻克百万级代码转换难题

Meta公司历时数年,将庞大的Android代码库从Java迁移到Kotlin。这篇文章详细介绍了Meta如何通过构建名为Kotlinator的自动化工具,克服了构建速度慢、代码检查不足等挑战,最终实现了超过一半代码的转换。Kotlinator包含多个阶段,包括预处理、使用无头模式的J2K转换、后处理和错误修复等。Meta还与JetBrains合作改进J2K,并开源部分转换步骤,以促进社区协作。文章重点阐述了如何处理空安全问题,以及在转换过程中遇到的各种代码问题和解决方案。

阅读更多
开发

Meta公开其AI硬件愿景

2024-10-15
Meta公开其AI硬件愿景

Meta在OCP全球峰会上展示了其最新的AI硬件设计,包括新的AI平台Catalina、先进的开放式机架设计Orv3以及网络结构和组件。Catalina基于NVIDIA Blackwell平台,支持最新的NVIDIA GB200 Grace Blackwell超级芯片。Meta还扩展了Grand Teton平台以支持AMD Instinct MI300X,并开发了新的网络结构DSF和51T交换机。Meta致力于开源AI硬件,并与微软合作开发了新的分散式电源机架Mount Diablo。

阅读更多
未分类 AI硬件

Meta内部的Jupyter Notebooks:Bento

2024-09-19
Meta内部的Jupyter Notebooks:Bento

本文介绍了Meta内部使用的Jupyter Notebooks发行版Bento,它是一个开源的基于Web的计算平台。Bento允许工程师将代码、文本和多媒体混合在一个文档中,并在Meta内部提供从原型设计到复杂机器学习工作流程等多种用例。文章还介绍了Bento的一些功能,包括定时运行笔记本、与同事共享以及利用浏览器中的WebAssembly在没有远程服务器组件的情况下运行笔记本。

阅读更多
未分类 Jupyter Notebooks

Meta利用人工智能提高事件响应效率

2024-08-23
Meta利用人工智能提高事件响应效率

Meta公司开发了一种新的AI辅助根本原因分析系统,用于简化系统可靠性调查。该系统结合了基于启发式的检索和基于大型语言模型的排序,以在调查过程中加快根本原因的识别。测试表明,这一新系统在识别与其网络代码库相关的调查创建时的根本原因方面达到了42%的准确率。

阅读更多
未分类 根本原因分析

Meta大规模分布式AI训练的RoCE网络

2024-08-06
Meta大规模分布式AI训练的RoCE网络

为了满足大规模分布式AI训练对网络的需求,Meta构建了基于RoCEv2协议的大规模AI网络。该网络采用独立于数据中心网络的专用后端网络,并采用两级Clos拓扑结构,实现了GPU集群的互连。为了应对LLM模型训练对GPU规模的需求,Meta设计了聚合训练交换机(ATSW)层,将多个AI区域互连起来。此外,Meta还对路由、拥塞控制等方面进行了优化,以提升网络性能。

阅读更多
未分类 RoCE

Meta如何维护大规模AI算力

2024-06-16
Meta如何维护大规模AI算力

为了满足生成式AI模型训练所需的巨大算力,Meta对其GPU训练集群进行了大规模扩容和优化。文章详细介绍了Meta维护这些集群的挑战和解决方案,包括如何确保容量保证、减少中断、安全地进行软件和固件更新等。Meta采用了一种名为“维护列车”的技术,将一小部分服务器从生产环境中移除进行维护和升级,以保证集群的稳定性和可用性。此外,Meta还开发了OpsPlanner工作编排器,用于安全地协调和执行各种维护操作,确保集群的一致性和性能。

阅读更多
未分类

MLow:Meta 推出的低比特率音频编解码器

2024-06-13
MLow:Meta 推出的低比特率音频编解码器

MLow是Meta推出的一种新型音频编解码器,旨在提升低速网络连接下的音频质量。MLow在低比特率下音质优于Opus,在6kbps时POLQA MOS评分为3.9,而Opus仅为1.89。此外,MLow的计算复杂度比Opus低10%,适用于低端设备。MLow已应用于Instagram和Messenger,并正逐步推广到WhatsApp,未来将进一步提升其在丢包网络环境下的音频恢复能力。

阅读更多

Meta如何进行大规模语言模型训练

2024-06-13
Meta如何进行大规模语言模型训练

为了应对生成式AI对算力需求的指数级增长,Meta 对其软硬件和网络基础设施进行了重构,包括提高硬件可靠性和快速恢复能力、优化GPU间的连接、改进训练软件和调度效率、选择合适的硬件配置、优化数据中心部署和网络架构、采用高效的数据存储方案等,并详细介绍了在RoCE和InfiniBand网络技术上的探索以及网络、存储等方面的优化经验。

阅读更多
未分类 大规模训练