当前位置: 首页 > 科技观察

Facebook贴文:AI模型全部迁移到PyTorch框架

时间:2023-03-12 06:05:29 科技观察

PyTorch自2017年上线以来迅??速占据GitHub热度榜首,一度大有赶超Tensorflow之势。这是一个开源的Python机器学习库,基于Torch,底层用C++实现。最近,Facebook宣布将所有人工智能系统迁移到PyTorch。Facebook的人工智能模型每天为使用其技术的数十亿人执行数万亿次推理操作。为了满足这种不断增长的需求,Facebook需要不断改进其AI框架。PyTorch的诞生考虑到Python在计算科学领域的领先地位,以及其生态的完整性和接口的易用性,几乎任何框架都不可避免地提供Python接口。于是,2016年,Facebook的一组AI研究人员开始与AI研究社区合作,迎接这些挑战。为了更好地了解什么是可用的和什么是需要的,他们试验了Theano和Torch等机器学习(ML)框架,以及来自LuaTorch、Chainer和HIPSAutograd的高级概念。经过几个月的开发,PyTorch诞生了。PyTorch不是简单地封装LuaTorch提供Python接口,而是重构了Tensor之上的所有模块,并加入了最先进的自动推导系统,成为目前最流行的动态图框架。PyTorch的初始版本在开源社区GitHub引起了轰动,并迅速成为人工智能研究人员首选的深度学习库。PyTorch提供了一个不受约束的环境,程序员可以在其中真正表达自己。一经推出,立即引起了广泛关注,并迅速在研究领域走红。自发布以来,PyTorch的关注度一直在上升。截至2017年10月18日,PyTorch的热度已经超过了其他三个框架(Caffe、MXNet和Theano),热度还在持续上升。2018年初,PyTorch1.0的发布开始了将PyTorch的研究和生产能力统一到一个框架中的工作。上面提到的Facebook的PyTorch驱动技术的许多好处已经在Facebook得到验证。从Instagram的个性化功能到AR和VR的新兴应用程序,PyTorch用于增强技术和服务。同时,简化了工作流程,减少了改进系统所需的时间。Instagram个性化技术Instagram个性化团队的使命是不断改进和完善推荐引擎。国外用户可以通过Feeds、Stories、Reels等多种渠道接收和发现Ins新闻推送。用户可以通过这些渠道找到相关的、有趣的内容。这个功能完全得益于后面的机器学习算法。借助PyTorch,Ins团队可以让Instagram成为发现您感兴趣的内容并更快地与家人和朋友分享的最佳平台之一。今天,不断改进对Instagram用户的推荐意味着训练模型,模型可以大到10TB。在PyTorch之前,训练和调试这些大型模型可能需要几个月的时间。现在有了PyTorch,只需要几周,甚至几天。在PyTorch中实施新的培训技术可以让不同团队的数百名工程师快速采用和试验。它还简化了跨团队的标准创建,使部署和改进这些模型变得更加容易。该团队还改进了其创作和训练基础设施,允许模型自动分片(分成更小的块),以便可以在大型机上训练更大的模型。他们还采用流水线和分层训练(将学习任务分解为一系列子问题或任务)等训练范式,允许模型在不牺牲质量的情况下使用更多数据。人的细分模型AR和VR正逐渐成为Facebook的重要组成部分。例如,内容创建者或普通用户——只是和朋友一起玩短视频的人,他们拍摄的视频具有个性化的、计算机生成的图形和背景。现在,想象一下他们在自己的移动设备上执行此操作,而不需要专业的图形软件或视频制作设备。这是AR的承诺,PyTorch通过显着加快训练过程并减小这些模型的大小使之成为可能。例如,致力于AR体验的研究人员创建了人物分割模型,可以仅使用手机的摄像头跟踪视频中人物的动作(包括识别他们的手和头发)。当软件捕捉到一个人在物理空间中的位置时,它会在这个人周围放置增强现实图形,以及这些图形应该如何与人互动。△人物分割让人们可以直接在移动设备上为视频制作AR效果。最初开发这些模型时,它们的规模和复杂性意味着为特定效果部署模型最多可能需要三天时间,这还不包括调试。模型修复任何错误的时间。然后是跨设备的功能问题。有时,模型在某些设备或操作系统上的运行速度不如其他设备或操作系统快,从而导致用户体验不一致。现在,使用PyTorch开发的相同模型可以在数分钟(甚至数秒)内跨多个设备和操作系统进行部署。模型使用Detectron2Go(D2Go)进行训练,Detectron2Go(D2Go)是PyTorch的一个新的、最先进的扩展。D2Go是同类工具中的第一个,它允许开发人员将他们的机器学习模型从训练一路部署到移动设备上。自今年4月完成模型迁移到PyTorch以来,推理时间提高了14%,模型加载速度提高了24%,这使得团队能够在相同延迟的移动设备上部署更复杂、更准确的模型。PyTorch与网络上的有害内容作斗争的一个核心重点是部署尖端的机器学习技术来保护人们免受仇恨言论和错误信息等有害内容的侵害。我们的目标是针对全球每种形式的内容、每种语言和社区快速准确地识别这些违反政策的行为。对于不断躲避我们系统的对手,这项任务在规模上变得越来越困难。这些挑战复杂、微妙且变化迅速。我们将继续探索人工智能如何成为检测有害内容的更有效工具。为此,FacebookAI工程师正在使用PyTorch来帮助他们更快地开发新的、更强大的模型并改进当前模型。.Facebook工程师使用PyTorch开发了FacebookAIMultimodal(FAIM),这是一个内部库和SDK,允许开发人员针对特定有害问题(例如错误消息和仇恨言论)快速创建、优化和部署自定义多模式模型,这意味着他们可以通过图片、文字、评论等元素充分识别内容。FAIM模型不依赖于一堆不同的模型,而是专注于自己的内容类型或模式,并且能够分析所有类型的内容(图像、视频等)。一个模型是WholePostIntegrityEmbeddings(WPIE),这是一种经过训练可以识别不同形式的有害内容的服务。因此,WPIE对内容有了更深入的了解,能够识别各种情况下的有害内容,并随着新形式的有害内容的出现而迅速改进。这样做的好处是更快、更高效、更全面的内容分析。例如,看似无害的句子或图像放在一起时可能呈现出完全不同的上下文。如今,超过85%的面向用户的多模式产品模型使用PyTorch和FAIM。使用FAIM创建的模型,例如WPIE,可以理解视觉和文本概念的深度交互,这意味着它们可以更准确、更彻底地检测有害内容。虽然像FAIM这样的AI工具不是我们解决问题内容的唯一方法,但它们确实帮助我们更加适应大规模应对这些挑战的方式。文字转语音随着语音助手和类似技术变得越来越普遍,我们的工程师正在努力使语音交互像人类对话一样自然,无论是在易用性和可用性方面。这些系统的行为和声音越像人类,我们与它们的交互就越无缝。今天,Facebook的工程师团队正在使用PyTorch创建语音应用程序模型,包括Facebook的“如何发音你的名字”功能、Portal上的语音交互以及文本到语音(TTS)功能。Facebook的TTS团队最近构建并部署了一个具有最先进音频质量的系统,该系统部署在CPU服务器上,无需任何专用硬件。新的TTS系统具有高度的灵活性,将在Facebook产品中创造听起来更真实自然的新语音应用发挥作用,包括VR语音功能和阅读辅助。PyTorch简化了TTS团队的整个开发管道,使开发、试验和训练新模型变得更加容易。在模型训练方面,PyTorch具有方便、灵活且易于使用的界面、python编码、一整套高度优化的算子内核和高效的多GPU原语,使模型易于调试和快速训练在规模上。在模型推理和部署方面,PyTorch有一个强大的、基于TorchScript的模型优化管道,可以将计算图转换为部署环境最有效的形式。PyTorch的轻量级高性能移动运行时(runtime)为团队提供低计算量和内存占用的高性能模型推理服务。未来,部分归功于PyTorch,语音系统不仅能理解越来越多的语言,还能对语境提示做出相应的反应,例如某人声音的音高或音量,甚至背景噪音的水平.光学字符识别众所周知,互联网是图片的集合。△图片贸易公司gettyimages官网截图了解图片中出现的文字,无论是个人照还是商业照,包含信息的图片,比如地图或菜单,甚至只是一张图片有趣的模因,将变得越来越重要。照片搜索、视障人士的屏幕阅读器以及识别和删除有害内容都依赖于分析图像和视频中的文本的机器学习系统。其中一个系统是FacebookAI开发的光学字符识别(OCR)系统。OCR可以从图像和视频中定位和提取多语言文本,用于从完整性到搜索的各种用例。通过将OCR框架切换到PyTorch,该团队已经能够使系统更加健壮和简单。OCR有两种主要模型:一种用于文本检测,一种用于文本识别。文本检测模型使用Detectron2进行训练,Detectron2是一个基于PyTorch的对象检测模型库。部署和调试。考虑到训练这些模型所需的数据量和模型本身的大小,延迟通常是开发人员关心的问题。但转向PyTorch会变得更加流畅,这将使他们能够快速试验和迭代模型的架构,并更有效地调试和部署模型。该团队目前正在开发一种新的端到端模型,可以在统一设计中处理文本检测和文本识别,从训练到部署将完全基于PyTorch。将AI模型迁移到PyTorch有哪些优势?PyTorch迁移的目标是为工程师和开发人员创建更流畅的端到端开发人员体验。平均每天有超过4000个模型在PyTorch上运行。Facebook的开发人员在将模型完全迁移到PyTorch之前经历了多个阶段,包括关键的离线和在线测试、训练(通常是再训练)、推理和发布。还进行了多项测试以检查Caffe2和PyTorch之间的性能和正确性差异,这可能需要工程师长达数周的时间才能完成。将PyTorch作为支持Facebook所有AI工作负载的底层平台,工程师可以在几分钟而不是几周内部署新的AI模型,构建更强大和高效的系统,支持新体验等等。使用PyTorch作为常用的人工智能框架的优势:1.AI模型更易于构建、编程、测试和调试2.研究和生产环境变得更加紧密3.加速在设备上的部署贡献包括加州理工学院等机构和公司如作为推动AI研究的OpenAI。论坛活跃用户超过4万,GitHub上使用PyTorch的下游项目超过7万个。在学术方面,仅从2019年6月到2020年6月,ArXiv上PyTorch的引用次数就比去年同期增长了127%。据GoogleScholar统计,PyTorch论文的原始版本被引用了4400多次。