绿色检查
链接复制到剪贴板

利用Hugging Face 的开源工具为简历项目提供动力

与我们一起重温YOLO Vision 2024 的主题演讲,重点探讨Hugging Face的开源工具如何推动人工智能的发展。

选择正确的算法只是构建有影响力的计算机视觉解决方案的一部分。人工智能工程师通常要处理大量数据集,针对特定任务对模型进行微调,并优化人工智能系统以获得实际性能。随着人工智能应用的快速普及,对简化这些流程的工具的需求也在不断增长。

在由Ultralytics 支持的年度混合活动YOLO Vision 2024(YV24)上,人工智能专家和技术爱好者齐聚一堂,共同探索计算机视觉领域的最新创新。此次活动引发了对各种话题的讨论,例如如何加快人工智能应用的开发。

Hugging Face 是一个开源人工智能平台,可简化模型训练、优化和部署。Hugging Face 的机器学习工程师Pavel Lakubovskii 分享了其工具如何改进计算机视觉任务的工作流程,例如检测图像中的物体、将图像归类为不同的组,以及在没有特定实例的事先训练(零镜头学习)的情况下进行预测。

Hugging Face Hub 承载并提供对各种人工智能和计算机视觉模型(如Ultralytics YOLO11)的访问。在本文中,我们将回顾Pavel 演讲的主要内容,并了解开发人员如何使用Hugging Face的开源工具快速构建和部署人工智能模型。

图 1.帕维尔在 YV24 的舞台上。

Hugging Face 枢纽支持更快的人工智能开发

Pavel 在演讲中首先介绍了开源人工智能平台Hugging Face ,该平台为各种应用提供预训练模型。这些模型专为人工智能的不同分支而设计,包括自然语言处理(NLP)、计算机视觉和多模态人工智能,使系统能够处理文本、图像和音频等不同类型的数据。

Pavel 提到,Hugging Face Hub 目前已托管了 100 多万个模型,开发人员可以轻松找到适合其特定项目的模型。Hugging Face 旨在通过提供模型训练、微调和部署工具来简化人工智能开发。当开发人员可以尝试使用不同的模型时,就能简化将人工智能集成到现实世界应用中的过程。

Hugging Face 最初以 NLP 著称,后来扩展到计算机视觉和多模态人工智能领域,使开发人员能够处理更广泛的人工智能任务。它还拥有一个强大的社区,开发人员可以通过论坛、Discord 和 GitHub 进行协作、分享见解并获得支持。

探索计算机视觉应用中的Hugging Face 模型

Pavel 更详细地解释了Hugging Face工具如何使计算机视觉应用的构建变得更容易。开发人员可以用它们完成图像分类、物体检测和视觉语言应用等任务。

他还指出,这些计算机视觉任务中有许多可以通过Hugging Face Hub 上提供的预训练模型来处理,从而减少了从头开始训练的需要,节省了时间。事实上,Hugging Face 为图像分类任务提供了13000多个预训练模型,包括食品分类、宠物分类和情感检测模型。

他强调了这些模型的易用性,他说:"你甚至可能不需要为你的项目训练一个模型--你可能会在 Hub 上找到一个已经由社区的人训练过的模型。 

用于物体检测的Hugging Face 模型 

帕维尔还举例说明了 "Hugging Face 如何帮助进行物体检测,这是计算机视觉的一项关键功能,用于识别和定位图像中的物体。即使标注的数据有限,Hugging Face Hub 上提供的预训练模型也能提高物体检测的效率。 

他还简要介绍了为完成这项任务而制作的几种模型,您可以在Hugging Face 上找到这些模型:

  • 实时目标检测模型:对于速度至关重要的动态环境,Detection Transformer (DETR) 等模型可提供实时物体检测功能。DETR 以 COCO 数据集为基础进行训练,旨在高效处理多尺度特征,因此适合时间敏感型应用。
  • 视觉语言模型:这些模型结合了图像和文本处理,使人工智能系统能够将图像与描述相匹配,或识别训练数据之外的物体。这方面的例子包括CLIP 和 SigLIP, 它们通过将文本与视觉效果联系起来来改进图像搜索,并使人工智能解决方案能够通过理解上下文来识别新物体。
  • 零镜头物体检测模型:它们可以通过理解图像和文本之间的关系来识别以前从未见过的物体。这方面的例子包括 OwlVit、GroundingDINO 和 OmDet,它们利用零镜头学习来检测新物体,而无需标注训练数据。

如何使用Hugging Face 模型

随后,Pavel 将重点转移到对Hugging Face 模型的实际操作上,并解释了开发人员可以利用这些模型的三种方法:探索模型、快速测试模型和进一步定制模型。

他演示了开发人员如何在不编写任何代码的情况下直接在Hugging Face Hub 上浏览模型,从而轻松地通过交互式界面即时测试模型。"帕维尔补充说:"你甚至不需要编写一行代码,也不需要在电脑上下载模型,就可以进行测试。由于某些模型体积较大,在 Hub 上运行这些模型有助于避免存储和处理方面的限制。

图 2.如何使用Hugging Face 模型。

此外,Hugging Face Inference API 还能让开发人员通过简单的 API 调用运行人工智能模型。它非常适合快速测试、概念验证项目和快速原型开发,而无需复杂的设置。

对于更高级的用例,开发人员可以使用Hugging Face Transformers 框架,这是一个开源工具,可为文本、视觉和音频任务提供预训练模型,同时支持PyTorch 和TensorFlow。Pavel 解释说,只需两行代码,开发人员就能从Hugging Face Hub 获取模型,并将其链接到预处理工具(如图像处理器),为视觉人工智能应用分析图像数据。

用Hugging Face优化人工智能工作流程

接下来,Pavel 介绍了Hugging Face 如何简化人工智能工作流程。他谈到的一个关键话题是优化 Transformers 中的注意力机制,这是深度学习模型的一个核心功能,可以帮助它专注于输入数据中最相关的部分。这可以提高语言处理和计算机视觉任务的准确性。不过,这可能会耗费大量资源。

优化注意力机制可以显著降低内存使用率,同时提高速度。帕维尔指出:"例如,通过切换到更高效的注意力实现,你可以看到性能提高了 1.8 倍。

Hugging Face 在 Transformers 框架内为更高效的注意力实现提供了内置支持。开发人员只需在加载模型时指定一种替代注意力实现方式,即可启用这些优化功能。

优化和Torch 编译

他还谈到了量化,这是一种通过降低所使用数字的精度来缩小人工智能模型的技术,但不会对性能造成太大影响。这有助于模型使用更少的内存,运行得更快,使其更适合智能手机和嵌入式系统等处理能力有限的设备。

为了进一步提高效率,Pavel 推出了Hugging Face 优化库,这是一套专为优化和部署模型而设计的工具。只需几行代码,开发人员就能应用量化技术,并将模型转换为ONNX (开放神经网络交换)等高效格式,使其能在不同类型的硬件(包括云服务器和边缘设备)上顺利运行。

图 3.帕维尔介绍了 Optimum 库及其功能。

最后,Pavel 提到了PyTorch Compile 的优势,它是PyTorch 的一项功能,可以优化人工智能模型处理数据的方式,使其运行得更快、更高效。Hugging Face 在其 Transformers 和 Optimum 库中集成了Torch Compile,开发人员只需修改极少的代码就能利用这些性能改进。 

通过优化模型的计算结构,Torch Compile 可以加快推理时间,将帧速率从每秒 29 帧提高到 150 帧,而不会影响精度或质量。

使用Hugging Face 工具部署模型

接着,Pavel 简要介绍了开发人员在选择合适的模型和最佳开发方法后,如何使用Hugging Face 工具扩展和部署 Vision AI 模型。

例如,开发人员可以使用 Gradio 和 Streamlit 部署交互式人工智能应用。Gradio 允许开发人员为机器学习模型创建基于网络的界面,而 Streamlit 则有助于使用简单的Python 脚本构建交互式数据应用。 

Pavel 还指出:"你不需要从头开始编写一切,"他指的是Hugging Face 提供的指南、培训笔记本和示例脚本。这些资源可以帮助开发人员快速上手,而无需从头开始构建一切。

图 4.帕维尔在 YV24 上讨论 "Hugging Face "的功能。

Hugging Face 枢纽的好处 

在主题发言的最后,Pavel 总结了使用Hugging Face Hub 的优势。他强调了它是如何简化模型管理和协作的。他还呼吁大家关注指南、笔记本和教程的可用性,它们可以帮助初学者和专家理解和实施人工智能模型。

"Hub上已经有很多很酷的空间。你可以找到类似的空间,克隆共享代码,修改几行,用自己的模型替换,然后推送回去,"他解释说,鼓励开发者利用平台的灵活性。

主要收获 

在 YV24 的演讲中,Pavel 分享了Hugging Face 如何提供支持人工智能模型训练、优化和部署的工具。例如,Transformers、Optimum 和Torch Compile 等创新工具可以帮助开发人员提高模型性能。

随着人工智能模型变得更加高效,量化和边缘部署方面的进步使得在资源有限的设备上运行这些模型变得更加容易。这些改进与Hugging Face 等工具和Ultralytics YOLO11 等先进的计算机视觉模型相结合,是构建可扩展、高性能视觉人工智能应用的关键。

加入我们不断壮大的社区!探索我们的GitHub 仓库,了解人工智能,查看我们的yolo 许可证,开始您的视觉人工智能项目。对医疗保健领域的计算机视觉农业领域的计算机视觉等创新感兴趣?访问我们的解决方案页面,了解更多信息!

Facebook 徽标Twitter 徽标LinkedIn 徽标复制链接符号

在此类别中阅读更多内容

让我们共同打造人工智能的未来

开始您的未来机器学习之旅