Press "Enter" to skip to content

四海吧 Posts

Optimum+ONNX Runtime – 为您的Hugging Face模型提供更简单、更快速的训练

介绍 语言、视觉和语音中基于Transformer的模型正变得更大,以支持复杂的多模态用例。增加模型大小直接影响训练这些模型所需的资源,并随着大小的增加而扩展。Hugging Face和微软的ONNX Runtime团队正在合作,共同构建细调大型语言、语音和视觉模型的先进技术。Hugging Face的Optimum库通过与ONNX Runtime的集成来进行训练,为许多流行的Hugging Face模型提供了一个开放的解决方案,可以将训练时间提高35%或更多。我们介绍了Hugging Face Optimum和ONNX Runtime训练生态系统的详细信息,并通过性能数据突出了使用Optimum库的好处。 性能结果 下图显示了使用ONNX Runtime和DeepSpeed ZeRO Stage 1进行训练时,Hugging Face模型在Optimum下的加速效果,从39%加速到130%。性能测量是在选择的Hugging Face模型上进行的,基准运行使用PyTorch,第二次运行仅使用ONNX Runtime进行训练,最后一次运行使用ONNX Runtime + DeepSpeed ZeRO Stage 1,显示出最大的增益。基准PyTorch运行使用的优化器是AdamW优化器,ORT训练运行使用融合Adam优化器。这些运行是在具有8个GPU的单个Nvidia…

Leave a Comment

伦理和社会通讯第三期:Hugging Face的道德开放

使命:开放和良好的机器学习 在我们追求民主化良好的机器学习(ML)的使命中,我们研究如何支持ML社区工作,同时也赋予人们审查和预防可能的危害的能力。开放的发展和科学使权力分散,使许多人能够共同从事反映他们需求和价值的人工智能工作。尽管开放性使广泛的观点能够为研究和整体人工智能做出贡献,但也面临着较少风险控制的紧张局势。 由于这些系统的动态和迅速发展的特性,对ML构件的调节提出了独特的挑战。事实上,随着ML模型变得越来越先进并能够生成越来越多样化的内容,有害或意外输出的潜力增加,需要制定强大的调节和评估策略。此外,ML模型的复杂性和它们处理的大量数据加剧了识别和解决潜在偏见和道德问题的挑战。 作为主办方,我们意识到我们可能会加剧对用户和整个世界的伤害的责任。通常情况下,这些伤害对少数群体的影响是不平等的,具体取决于上下文。我们采取的方法是分析每个上下文中存在的紧张局势,并对公司和Hugging Face社区展开讨论。虽然许多模型可能会加剧伤害,尤其是歧视性内容,但我们正在采取一系列措施来识别风险最高的模型以及采取何种行动。重要的是,来自不同背景的积极观点对于理解、衡量和减轻影响不同人群的潜在危害至关重要。 我们正在开发工具和安全措施,除了改善我们的文档实践,以确保开源科学能够赋予个人力量,同时继续将潜在危害降至最低。 伦理类别 我们推动良好开放ML工作的第一个主要方面是推广那些优先考虑价值观和利益相关方的ML开发工具和积极实例。这有助于用户采取具体步骤解决未解决的问题,并提出可行的替代方案,以摒弃ML开发中的有害实践。 为了帮助用户发现和参与与伦理相关的ML工作,我们编制了一组标签。这6个高级类别是基于社区成员贡献的空间的分析而确定的。它们旨在为您提供一种无专业术语的思考伦理技术的方式: 严谨的工作特别关注以最佳实践为导向的开发。在ML中,这可能意味着研究失败案例(包括进行偏见和公平性审计),通过安全措施保护隐私,并确保潜在用户(技术和非技术人员)了解项目的限制。 同意的工作支持使用和受这些技术影响的人的自主权。 有社会意识的工作向我们展示了技术如何支持社会、环境和科学努力。 可持续的工作强调并探索使机器学习在生态上可持续的技术。 包容性的工作扩大了机器学习世界中谁进行构建和受益的范围。 好奇的工作揭示了挑战社区对技术与其关系的重新思考的不平等和权力结构。 了解更多信息,请访问https://huggingface.co/ethics 请留意这些术语,因为我们将在Hub上的一些新项目中使用这些标签,并根据社区贡献进行更新! 保障措施 将开放发布视为“全有或全无”的观点忽视了决定ML构件正面或负面影响的广泛背景。对ML系统共享和重复使用具有更多控制杠杆支持协作开发和分析,减少了促进有害使用或滥用的风险;为了实现更多的开放和创新参与,以共享利益为目的。 我们直接与贡献者互动,并解决紧迫的问题。为了将其提升到下一个层次,我们正在建立基于社区的流程。这种方法赋予Hugging Face贡献者和受贡献者影响的人权力,以确定限制、共享和额外机制,以确保在我们的平台上提供的模型和数据。我们将关注的三个主要方面是:构件的起源、构件的处理方式以及构件的使用情况。在这方面,我们: 为我们的社区推出了标记功能,以确定ML构件或社区内容(模型、数据集、空间或讨论)是否违反我们的内容准则, 监控我们的社区讨论板,以确保Hub用户遵守行为守则, 以详细介绍社会影响、偏见和预期使用案例以及超出范围使用案例的模型卡的方式充实我们下载量最多的模型的文档, 创建面向受众的标签,例如“不适合所有受众”的标签,可添加到存储库的卡片元数据中,以避免未经请求的暴力和性内容,…

Leave a Comment

语音合成、识别与更多功能的 SpeechT5

我们很高兴地宣布,SpeechT5现在已经在🤗 Transformers中可用,这是一个开源库,提供了易于使用的最先进的机器学习模型的实现。 SpeechT5最初在《SpeechT5: Unified-Modal Encoder-Decoder Pre-Training for Spoken Language Processing》一文中进行了描述,该论文是由微软亚洲研究院的研究人员撰写的。该论文作者发布的官方检查点可在Hugging Face Hub上找到。 如果您想立即开始,这里有一些Spaces上的演示: 语音合成(TTS) 语音转换 自动语音识别 介绍 SpeechT5不是一个,也不是两个,而是三种语音模型在一个架构中。 它可以进行: 语音转文本,用于自动语音识别或说话人识别, 文本转语音,用于合成音频,以及 语音转语音,用于在不同的声音之间进行转换或执行语音增强。 SpeechT5背后的主要思想是在文本转语音、语音转文本、文本转文本和语音转语音数据的混合中预训练单个模型。这样,模型可以同时从文本和语音中学习。这种预训练方法的结果是一个拥有文本和语音共享的统一的隐藏表示空间的模型。 SpeechT5的核心是一个常规的Transformer编码器-解码器模型。就像任何其他Transformer一样,编码器-解码器网络使用隐藏表示来建模序列到序列的转换。这个Transformer骨干网络对于所有SpeechT5任务都是相同的。 为了使同一个Transformer能够处理文本和语音数据,添加了所谓的预网络和后网络。预网络的任务是将输入文本或语音转换为Transformer使用的隐藏表示。后网络将来自Transformer的输出转换为文本或语音。…

Leave a Comment

使用🤗 PEFT 进行参数高效微调

动机 基于Transformer架构的大型语言模型(LLMs),如GPT、T5和BERT,在各种自然语言处理(NLP)任务中取得了最先进的结果。它们还开始进军其他领域,如计算机视觉(CV)(VIT、稳定扩散、LayoutLM)和音频(Whisper、XLS-R)。传统范式是在通用的网络规模数据上进行大规模预训练,然后对下游任务进行微调。与直接使用预训练的LLMs(例如零样本推理)相比,将这些预训练的LLMs在下游数据集上进行微调可以获得巨大的性能提升。 然而,随着模型变得越来越大,完全微调在消费者硬件上变得不可行。此外,为每个下游任务独立存储和部署微调模型非常昂贵,因为微调模型与原始预训练模型的大小相同。参数高效微调(PEFT)方法旨在解决这两个问题! PEFT方法仅微调少量(额外的)模型参数,同时冻结预训练LLMs的大部分参数,从而大大降低计算和存储成本。这也克服了LLMs在完全微调过程中出现的灾难性遗忘问题。PEFT方法在低数据范围内也表现出优于微调的效果,并更好地推广到领域外场景。它可以应用于各种模态,例如图像分类和稳定扩散梦之间。 它还有助于可移植性,用户可以使用PEFT方法调整模型,以获得几MB大小的小检查点,与完全微调的大检查点相比,例如bigscience/mt0-xxl占用40GB的存储空间,完全微调将导致每个下游数据集的40GB检查点,而使用PEFT方法,每个下游数据集只需几MB,同时实现与完全微调相当的性能。PEFT方法中的小训练权重添加到预训练的LLMs之上。因此,可以通过添加小权重而无需替换整个模型来使用相同的LLMs进行多个任务。 简而言之,PEFT方法使您能够获得与完全微调相当的性能,同时只需少量可训练参数。 今天,我们很高兴介绍🤗 PEFT库,它与🤗 Transformers和🤗 Accelerate完美集成,提供最新的参数高效微调技术。这使得可以使用Transformers中最受欢迎和性能最好的模型,同时结合Accelerate的简单性和可扩展性。下面是当前支持的PEFT方法,更多方法即将推出: LoRA: LORA: 大型语言模型的低秩自适应 Prefix Tuning: P-Tuning v2: 提示调整在各种规模和任务上可与微调相媲美 Prompt Tuning: 多尺度参数高效提示调整的强大力量 P-Tuning: GPT也懂 应用案例 我们在这里探索了许多有趣的应用案例。以下是其中几个最有趣的案例:…

Leave a Comment

使用BLIP-2进行零样本图像到文本生成

本指南介绍了Salesforce Research的BLIP-2,它可以在🤗 Transformers中使用一套最先进的视觉语言模型。我们将向您展示如何在图像字幕、提示图像字幕、视觉问答和基于聊天的提示中使用它。 目录 介绍 BLIP-2的内部结构是什么? 如何在Hugging Face Transformers中使用BLIP-2 图像字幕 提示图像字幕 视觉问答 基于聊天的提示 结论 致谢 介绍 近年来,计算机视觉和自然语言处理取得了快速发展。然而,许多现实世界的问题本质上是多模态的-它们涉及到多个不同形式的数据,如图像和文本。视觉语言模型面临的挑战是如何结合这些模态,以打开各种应用的大门。视觉语言模型可以处理的一些图像到文本的任务包括图像字幕、图像文本检索和视觉问答。图像字幕可以帮助视觉障碍者、创建有用的产品描述、识别超越文本的不适当内容等。图像文本检索可以应用于多模态搜索,以及自动驾驶等应用中。视觉问答可以在教育中发挥作用,实现多模态的聊天机器人,并在各种领域特定的信息检索应用中提供帮助。 现代计算机视觉和自然语言模型变得更加强大,但与之前的模型相比也显著增大了体积。虽然预训练单模态模型需要消耗大量资源且昂贵,但端到端视觉和语言预训练的成本变得越来越高。BLIP-2通过引入一种新的视觉语言预训练范式来解决这一挑战,该范式可以潜在地利用任何预训练的视觉编码器和LLM的组合,而无需对整个架构进行端到端的预训练。这在显著减少可训练参数和预训练成本的同时,实现了多个视觉语言任务的最先进结果。此外,这种方法为多模态ChatGPT模型铺平了道路。 BLIP-2的内部结构是什么? BLIP-2通过在现有的冻结预训练图像编码器和冻结大型语言模型之间添加了一个轻量级的查询变换器(Q-Former),来弥合视觉和语言模型之间的模态差距。Q-Former是BLIP-2中唯一可训练的部分,图像编码器和语言模型都保持冻结状态。 Q-Former是一个由两个子模块组成的变换器模型,它们共享相同的自注意力层: 一个图像变换器,与冻结的图像编码器进行交互以进行视觉特征提取 一个文本变换器,可以作为文本编码器和文本解码器 图像变换器从图像编码器中提取固定数量的输出特征,与输入图像分辨率无关,并接收可学习的查询嵌入作为输入。查询还可以通过相同的自注意力层与文本进行交互。 Q-Former在两个阶段进行预训练。在第一阶段中,图像编码器被冻结,Q-Former通过三个损失进行训练:…

Leave a Comment

在🧨扩散器中的ControlNet

自从 Stable Diffusion 席卷全球以来,人们一直在寻找更多控制生成过程结果的方法。ControlNet 提供了一个简洁的界面,允许用户在很大程度上自定义生成过程。通过 ControlNet ,用户可以轻松地使用不同的空间上下文(如深度图、分割图、涂鸦、关键点等)来调整生成过程! 我们可以将卡通图转化为具有令人难以置信的一致性的逼真照片。 逼真的 Lofi 女孩 甚至可以将其用作室内设计师。 之前 之后 您可以将您的草图涂鸦转化为艺术绘画。 之前 之后 此外,还可以让一些著名的标志活起来。 之前 之后 有了 ControlNet ,天空就是极限 🌠 在这篇博文中,我们首先介绍了…

Leave a Comment

多变量概率时间序列预测与Informer

介绍 几个月前,我们介绍了时间序列变换器,它是将传统的Transformer(Vaswani等人,2017年)应用于预测,并展示了单变量概率预测任务的示例(即单独预测每个时间序列的一维分布)。在本文中,我们介绍了Informer模型(Zhou, Haoyi等人,2021年),这是AAAI21最佳论文,现在已经在🤗 Transformers中可用。我们将展示如何使用Informer模型进行多变量概率预测任务,即预测未来时间序列目标值的向量分布。需要注意的是,这也适用于传统的时间序列变换器模型。 多变量概率时间序列预测 就概率预测的建模而言,当处理多变量时间序列时,Transformer/Informer不需要进行任何更改。在单变量和多变量设置中,模型将接收一个向量序列,因此唯一的变化在于输出或发射方面。 对于高维数据的完整条件分布建模可能会导致计算开销过大,因此方法会采用一些分布的近似方法,最简单的方法是将数据建模为来自同一族分布的独立分布,或者对完整协方差进行低秩近似等。在这里,我们只采用独立(或对角)发射,这在我们实现的分布族中是支持的。 Informer – 内部原理 Informer基于传统的Transformer(Vaswani等人,2017年),引入了两个主要改进。为了理解这些改进,让我们回顾一下传统Transformer的缺点: 经典自注意力的二次计算:传统Transformer的计算复杂度为O(T^2D),其中T是时间序列长度,D是隐藏状态的维度。对于长序列时间序列预测(也称为LSTF问题),这可能会导致计算开销非常大。为了解决这个问题,Informer采用了一种称为ProbSparse注意力的新的自注意机制,其时间和空间复杂度为O(T log T)。 堆叠层时的内存瓶颈:当堆叠N个编码器/解码器层时,传统Transformer的内存使用量为O(NT^2),这限制了模型处理长序列的能力。Informer使用了一种称为Distilling操作的方法,将层之间的输入大小减小到其一半。通过这样做,可以将整体内存使用量减小为O(N⋅T log T)。 正如您所看到的,Informer模型的动机类似于Longformer(Beltagy等人,2020年),Sparse Transformer(Child等人,2019年)和其他自然语言处理论文,用于减少自注意机制的二次复杂度,特别是在输入序列较长时。现在,让我们深入了解ProbSparse注意力和Distilling操作,并附带代码示例。 ProbSparse注意力 ProbSparse的主要思想是经典自注意力分数形成了一个长尾分布,其中“活跃”的查询位于“头部”分数中,而“懒惰”的查询位于“尾部”区域中。通过“活跃”查询,我们指的是一个查询qi,使得点积⟨qi, ki⟩对主要注意力产生贡献,而“懒惰”的查询形成的点积生成的注意力是微不足道的。这里,qi和ki分别是Q和K注意力矩阵中的第i行。 在理解“活跃”和“懒惰”查询的思想之后,ProbSparse注意力选择“活跃”查询,并创建一个缩减的查询矩阵Qreduced,用于在O(T log T)的时间内计算注意力权重。让我们通过代码示例更详细地了解这一点。…

Leave a Comment

朱庇特 X 拥抱面孔

我们很高兴地宣布,我们对在Hugging Face Hub上托管的Jupyter笔记本的支持得到了改进! 从作为必要的学习资源到成为模型开发的关键工具,Jupyter笔记本已经成为机器学习许多领域的重要组成部分。笔记本的交互和可视化特性使您在开发模型、数据集和演示时能够快速获得反馈。对于许多人来说,他们首次接触训练机器学习模型是通过Jupyter笔记本,许多从业者将笔记本作为开发和传达工作的关键工具。 Hugging Face是一个协作的机器学习平台,社区已经共享了超过150,000个模型、25,000个数据集和30,000个机器学习应用程序。Hub具有模型和数据集版本控制工具,包括模型卡片和客户端库以自动化版本控制过程。然而,仅包含一个包含超参数的模型卡片并不足以提供最佳的可重现性;这就是笔记本可以帮助的地方。除了这些模型、数据集和演示之外,Hub还托管了超过7,000个笔记本。这些笔记本经常记录了模型或数据集的开发过程,并可以提供指导和教程,展示其他人如何使用这些资源。因此,我们对于我们在Hub上托管笔记本的改进支持感到非常兴奋。 我们做了哪些改变? Jupyter笔记本文件(通常以ipynb扩展名共享)是JSON文件。虽然可以直接查看这些文件,但这不是一种人类可读的格式。我们现在为在Hub上托管的笔记本添加了渲染支持。这意味着笔记本现在将以人类可读的格式显示。 在Hub上托管的笔记本在渲染前后的对比。 我们为什么对在Hub上托管更多的笔记本感到兴奋? 笔记本帮助记录人们如何使用您的模型和数据集;在与您的模型和数据集相同的地方共享笔记本,使其他人更容易使用您在Hub上创建和共享的资源。 许多人使用Hub开发机器学习组合。现在您还可以用Jupyter笔记本来补充这个组合。 支持一键直接在Google Colab上打开在Hub上托管的笔记本,使Hub上的笔记本体验更加强大。敬请期待未来的公告!

Leave a Comment

使用Hugging Face和Flower的联合学习

本教程将展示如何利用Hugging Face和Flower在多个客户端上联合训练语言模型。更具体地说,我们将对IMDB评分数据集上的预训练Transformer模型(distilBERT)进行微调,用于序列分类。最终目标是判断电影评分是积极的还是消极的。 此外,还提供了一个笔记本,但它不是在多个独立的客户端上运行,而是利用Flower的模拟功能(使用flwr[‘simulation’]),以在Google Colab中模拟联合设置(这意味着我们将调用start_simulation而不是start_server,并且需要进行一些其他修改)。 依赖项 为了跟随本教程,您需要安装以下软件包:datasets、evaluate、flwr、torch和transformers。可以使用pip来完成安装: pip install datasets evaluate flwr torch transformers 标准的Hugging Face工作流程 处理数据 为了获取IMDB数据集,我们将使用Hugging Face的datasets库。然后,我们需要对数据进行标记化并创建PyTorch的数据加载器,这些都在load_data函数中完成: import random import torch from datasets import…

Leave a Comment

大规模语言模型的快速推理:Habana Gaudi2加速器上的BLOOMZ

本文将向您展示如何使用🤗 Optimum Habana在Habana® Gaudi®2上轻松部署像BLOOM这样拥有数百亿参数的大型语言模型,这是Gaudi2和🤗 Transformers库之间的桥梁。正如本文所示,根据所展示的基准测试,这将使您能够比目前市场上任何GPU都更快地运行推理。 随着模型越来越大,将它们部署到生产环境中进行推理变得越来越具有挑战性。硬件和软件都经历了很多创新来解决这些挑战,因此让我们深入了解如何高效地克服它们! BLOOMZ BLOOM是一个训练用于完成文本序列的1760亿参数自回归模型。它可以处理46种不同的语言和13种编程语言。作为BigScience计划的一部分,BLOOM是一个涉及世界各地大量研究人员和工程师的开放科学项目。最近,另一个具有完全相同架构的模型发布了:BLOOMZ,它是BLOOM在多个任务上进行了微调的版本,从而提高了泛化和零样本[^1]能力。 这样的大型模型在训练和推理方面提出了新的内存和速度挑战。即使在16位精度下,一个实例也需要352 GB的内存!您可能很难在目前找到具有如此大内存的任何设备,但像Habana Gaudi2这样的最新硬件确实可以以低延迟在BLOOM和BLOOMZ模型上执行推理。 Habana Gaudi2 Gaudi2是由Habana Labs设计的第二代AI硬件加速器。单个服务器包含8个加速器设备(称为Habana处理单元或HPUs),每个设备具有96GB的内存,可以容纳非常大的模型。然而,如果计算速度慢,那么托管模型就没有什么意义。幸运的是,Gaudi2在这个方面表现出色:它与GPU不同,其架构使得加速器能够并行执行通用矩阵乘法(GeMM)和其他操作,从而加快深度学习工作流程。这些特性使得Gaudi2成为LLM训练和推理的良好选择。 Habana的SDK SynapseAI™支持PyTorch和DeepSpeed加速LLM的训练和推理。SynapseAI图编译器将优化图中累积的操作的执行(例如操作融合、数据布局管理、并行化、流水线处理和内存管理以及图级优化)。 此外,SynapseAI最近引入了对HPU图和DeepSpeed推理的支持,这些对于延迟敏感的应用非常合适,如下面的基准测试所示。 所有这些功能都集成到了🤗 Optimum Habana库中,以便在Gaudi上部署您的模型非常简单。在此处查看快速入门页面。 如果您想获得Gaudi2的访问权限,请访问Intel开发者云并按照这个指南。 基准测试 在本节中,我们将提供BLOOMZ在Gaudi2、第一代Gaudi和Nvidia A100…

Leave a Comment

使用Substra创建隐私保护人工智能

随着生成技术的迅猛发展,机器学习正处于其历史上非常令人兴奋的阶段。推动这一发展的模型需要更多的数据来产生有影响力的结果,因此,探索新的方法以在确保数据隐私和安全的前提下合规地收集数据变得越来越重要。 在许多涉及敏感信息领域,例如医疗保健,往往没有足够高质量的数据可用于训练这些需要大量数据的模型。数据集被隔离在不同的学术中心和医疗机构中,并且由于涉及患者和专有信息的隐私问题,很难公开共享。保护患者数据的法规,如HIPAA,对于保护个人的私密健康信息至关重要,但它们可能限制机器学习研究的进展,因为数据科学家无法获取有效训练模型所需的大量数据。能够与现有法规一起工作,积极保护患者数据的技术将对解决这些隔离问题、加速机器学习研究和在这些领域部署的速度至关重要。 这就是联邦学习的用武之地。查看我们与Substra合作创建的空间,以了解更多信息! 什么是联邦学习? 联邦学习(FL)是一种分散式机器学习技术,允许您使用多个数据提供者训练模型。数据不需要从所有来源收集到单个服务器上,而是可以保留在本地服务器上,只有最终模型的权重在服务器之间传输。 由于数据从不离开其来源,联邦学习自然是一种以隐私为先的方法。这种技术不仅改善了数据安全和隐私,还使数据科学家能够使用来自不同来源的数据构建更好的模型,增加了模型的鲁棒性,并提供了更好的表示,与仅使用单一来源数据训练的模型相比。这不仅因为数据数量的增加,还因为减少了由数据采集技术和设备引起的数据捕获技术和设备引起的微小差异,或患者群体的人口统计学分布差异等造成的偏差风险。有了多个数据源,我们可以构建更具一般化能力的模型,最终在真实世界环境中表现更好。有关联邦学习的更多信息,我们建议查看谷歌的这本解释漫画。 Substra是一个专为真实生产环境而构建的开源联邦学习框架。虽然联邦学习是一个相对较新的领域,并且在过去的十年中才开始发展,但它已经使机器学习研究能够以前所未有的方式取得进展。例如,10家竞争的生物制药公司传统上从不与对方共享数据,但是他们在MELLODDY项目中建立了合作关系,共享了世界上最大的已知生化或细胞活性的小分子集合。这最终使所有参与公司能够为药物研究建立更准确的预测模型,这是医学研究的一个重大里程碑。 Substra x HF 联邦学习能力的研究正在迅速增长,但大部分最近的工作仍然局限于模拟环境。由于部署和构建联邦网络的困难,真实世界的实例和实施仍然有限。作为领先的开源联邦学习平台,Substra在许多复杂的安全环境和IT基础设施中经过了实战测试,并在乳腺癌研究中取得了医学突破。 Hugging Face与管理Substra的团队合作创建了这个空间,目的是让您了解研究人员和科学家面临的现实挑战,主要是缺乏集中的高质量数据,这些数据对AI‘准备好’。由于您可以控制这些样本的分发,您将能够看到一个简单模型对数据变化的反应。然后,您可以观察使用联邦学习训练的模型与使用单一来源数据训练的模型相比,几乎总是在验证数据上表现更好。 结论 尽管联邦学习一直领先于其他各种增强隐私的技术(PETs),如安全飞地和多方计算,但这些技术仍然可以与联邦学习相结合,创建多层次的隐私保护环境。如果您对这些技术如何在医学中促进合作感兴趣,可以在这里了解更多信息。 无论使用何种方法,重要的是要警惕数据隐私是我们所有人的权利。在这个人工智能的繁荣中,保护隐私和伦理至关重要。 如果你想在项目中尝试Substra并实现联邦学习,你可以在这里查看文档。

Leave a Comment

使用Transformer进行图分类

在之前的博客中,我们探讨了关于图机器学习的一些理论方面。这篇博客将介绍如何使用Transformers库进行图分类(您也可以通过下载演示笔记本来跟随这个过程!) 目前,在Transformers中唯一可用的图转换模型是微软的Graphormer,所以我们将在这里使用它。我们期待看到其他人将会使用和整合哪些模型 🤗 要求 要按照本教程操作,您需要安装datasets和transformers(版本>=4.27.2),您可以使用pip install -U datasets transformers来安装。 数据 要使用图数据,您可以从自己的数据集开始,或者使用Hub上提供的数据集。我们将重点介绍如何使用已有的数据集,但是您也可以随意添加您自己的数据集! 加载 从Hub加载图数据集非常简单。让我们加载”ogbg-mohiv”数据集(Stanford的Open Graph Benchmark中的一个基准数据集),该数据集存储在OGB仓库中: from datasets import load_dataset # Hub上只有一个分割 dataset = load_dataset(“OGB/ogbg-molhiv”) dataset…

Leave a Comment

使用AWS Inferentia2加速Hugging Face Transformers

在过去五年中,Transformer模型[1]已成为许多机器学习(ML)任务的事实标准,例如自然语言处理(NLP)、计算机视觉(CV)、语音等。如今,许多数据科学家和ML工程师依赖于流行的Transformer架构,如BERT[2]、RoBERTa[3]、Vision Transformer[4]或Hugging Face Hub上提供的130,000多个预训练模型,以实现拥有最先进准确性的复杂业务问题的解决方案。 然而,尽管它们的伟大之处,但在生产环境中部署Transformer模型可能具有挑战性。除了通常与模型部署相关的基础设施问题,我们主要通过我们的Inference Endpoints服务解决了这个问题,Transformer是大型模型,其通常超过多GB的标记。大型语言模型(LLM)如GPT-J-6B、Flan-T5或Opt-30B可达数十GB,更不用说像BLOOM这样的巨无霸,我们自家的LLM,其大小达到350GB。 将这些模型适配到单个加速器上可能非常困难,更不用说获得应用程序所需的高吞吐量和低推理延迟,如对话应用程序和搜索。迄今为止,ML专家已经设计了复杂的手动技术来切分大型模型,在加速器集群上分发它们,并优化其延迟。不幸的是,这项工作非常困难、耗时,并且对许多ML从业者来说是无法企及的。 在Hugging Face,我们正在普及ML,并始终寻求与那些相信每个开发者和组织都应受益于最先进模型的公司合作。为此,我们很高兴与亚马逊网络服务(AWS)合作,为AWS Inferentia 2优化Hugging Face Transformers!这是一种新型的用于推断的专用加速器,具有前所未有的吞吐量、延迟、每瓦性能和可扩展性。 介绍AWS Inferentia2 AWS Inferentia2是2019年推出的Inferentia1的下一代。由Inferentia1提供动力,Amazon EC2 Inf1实例的吞吐量比基于NVIDIA A10G GPU的可比G5实例高25%,成本低70%,而Inferentia2则再次突破界限。 新的Inferentia2芯片相比Inferentia提供了4倍的吞吐量增加和10倍的延迟降低。同样,新的Amazon EC2 Inf2实例的吞吐量最多提高2.6倍,延迟降低8.1倍,性能每瓦提高50%,优势明显。Inferentia 2将为您提供最佳的两个方面:高吞吐量的推理成本优化和低推理延迟的应用程序响应时间。…

Leave a Comment

如何在空间中托管Unity游戏

你知道你可以在Hugging Face Space中托管Unity游戏吗?不知道吗?是的,你可以! Hugging Face Spaces是构建、托管和共享演示的简单方式。虽然它们通常用于机器学习演示,但也可以托管可玩的Unity游戏。以下是一些示例: Huggy 农场游戏 Unity API演示 以下是如何在Space中托管您自己的Unity游戏的方法。 第一步:使用静态HTML模板创建Space 首先,转到Hugging Face Spaces创建一个space。 选择“静态HTML”模板,为您的Space命名,并创建它。 第二步:使用Git克隆Space 使用Git将新创建的Space克隆到本地计算机。您可以在终端或命令提示符中运行以下命令来完成此操作: git clone https://huggingface.co/spaces/{your-username}/{your-space-name} 第三步:打开您的Unity项目 打开您要在Space中托管的Unity项目。 第四步:切换构建目标为WebGL 导航到文件…

Leave a Comment

介绍HuggingFace博客给中文用户:与中国人工智能社区促进合作

本文也有简体中文版,请点击这里阅读。 欢迎来到我们为中文用户打造的博客! 我们很高兴地推出了Hugging Face面向中文用户的新博客:hf.co/blog/zh!一批志愿者致力于将我们宝贵的资源进行翻译,包括博客文章和关于transformers、diffusion和强化学习的全面课程。这一举措旨在使我们的内容更加易于访问于不断增长的中国AI社区,促进相互学习和合作。 认可中国AI社区的成就 我们想要突出中国AI社区的卓越成就和贡献,该社区展现了卓越的才能和创新。开创性的进展,如HuggingGPT,ChatGLM,RWKV,ChatYuan,ModelScope的文本到视频模型以及IDEA CCNL和BAAI的贡献,彰显了社区的巨大潜力。 此外,中国AI社区还积极参与创建时尚的空间,如川湖GPT和GPT学院,进一步展示了其热情和创造力。 我们一直与PaddlePaddle等组织合作,以确保与Hugging Face的无缝集成,为机器学习领域的更多合作努力赋予更多力量。 加强合作关系和未来活动 我们为与中国合作伙伴的合作历史感到自豪,我们曾共同参与各种活动,促进了知识交流和合作,推动了AI社区的发展。我们的一些合作努力包括: 与DataWhale合作的在线ChatGPT课程(正在进行中) 北京首次线下聚会,为JAX/Diffusers社区活动 与百姓AI共同组织的Prompt工程黑客马拉松 与PaddlePaddle合作的Lora模型微调 与HeyWhale合作的稳定扩散模型微调活动 我们很高兴地宣布,我们将继续通过促进更多的合作和共同努力来加强与中国AI社区的联系。这些举措将为知识分享和专业交流创造机会,推动我们社区之间的协作开源机器学习,并应对合作操作系统机器学习领域的挑战和机遇。 超越界限:拥抱多元化的AI社区 在我们迈入这个新篇章的同时,我们与中国AI社区的合作将成为一个平台,弥合文化和语言的障碍,促进AI领域的创新与合作。在Hugging Face,我们重视多元化的观点和声音,致力于创建一个友好和包容的社区,推动道德和公平的AI发展。 加入我们,共同踏上这个激动人心的旅程,敬请关注我们的博客,了解有关中国社区的进展和未来的合作努力的更多更新! 您也可以在以下平台找到我们: BAAI,Bilibili,CNBlogs,CSDN,掘金,开源中国,SegmentFault,知乎

Leave a Comment

使用🤗 Transformers和TensorFlow和TPU训练语言模型

介绍 TPU训练是一项有用的技能:TPU Pod具有高性能和极高的可扩展性,可以轻松训练具有任意规模的模型,从几千万个参数到数百亿个参数:Google的PaLM模型(超过5000亿个参数!)完全是在TPU Pod上进行训练的。 我们之前写过一个教程和一个Colab示例,展示了如何使用TensorFlow进行小规模的TPU训练,并介绍了需要了解的核心概念,以便在TPU上运行您的模型。这次,我们将进一步提升水平,使用TensorFlow和TPU从头开始训练一个遮蔽语言模型,包括从训练分词器和准备数据集到最终模型训练和上传的每个步骤。这是一项任务,您可能需要专用的TPU节点(或VM),而不仅仅是Colab,因此我们将重点放在这里。 与我们的Colab示例一样,我们利用了TensorFlow非常干净的TPU支持,通过XLA和TPUStrategy。我们还将受益于🤗 Transformers中大多数TensorFlow模型完全兼容XLA。令人惊讶的是,只需做一点点工作就可以让它们运行在TPU上。 然而,与我们的Colab示例不同,这个示例旨在可扩展,并且更接近实际的训练过程——尽管我们默认只使用了一个BERT大小的模型,但只需更改几个配置选项,代码就可以扩展到更大的模型和更强大的TPU Pod片段。 动机 为什么我们现在要写这个指南呢?毕竟,🤗 Transformers多年来一直支持TensorFlow。但是,让这些模型在TPU上训练一直是社区的一个主要痛点。这是因为: 许多模型不兼容XLA 数据收集器没有使用原生的TF操作 我们认为XLA是未来的发展方向:它是JAX的核心编译器,TensorFlow有一流的支持,甚至还可以从PyTorch中使用它。因此,我们大力推动使我们的代码库与XLA兼容,并消除XLA和TPU兼容性之间的任何其他障碍。这意味着用户应该能够在TPU上训练我们的大多数TensorFlow模型而无需麻烦。 现在还有另一个重要的理由关心TPU训练:最近在LLMs和生成式AI方面取得的重大进展引起了公众对模型训练的巨大兴趣,因此对于大多数人来说,获得最先进的GPU变得非常困难。知道如何在TPU上进行训练为您提供了另一种获得超高性能计算硬件的途径,这比在eBay上竞标最后一台H100然后在办公桌前丑陋地哭泣要好得多。您值得更好的待遇。根据经验来说:一旦您熟悉了在TPU上训练,您可能就不想回到过去了。 预期结果 我们将从头开始在WikiText数据集(v1)上训练一个RoBERTa(基础模型)。除了训练模型之外,我们还将训练分词器,将数据进行分词并以TFRecord格式上传到Google Cloud Storage,以供TPU训练使用。您可以在此目录中找到所有的代码。如果您是某种类型的人,您可以跳过本文的其余部分,直接转到代码。如果您留下来,我们将深入研究代码库中的一些关键思想。 这里的许多思想也在我们的Colab示例中提到过,但我们希望向用户展示一个完整的端到端示例,将所有内容整合在一起并展示其实际效果,而不仅仅是在高层次上介绍概念。以下图表以图形方式概述了使用TensorFlow和TPU训练🤗 Transformers语言模型的步骤: 获取数据和训练分词器 如前所述,我们使用了WikiText数据集(v1)。您可以访问Hugging Face…

Leave a Comment

在免费版Google Colab上使用🧨扩散器运行IF

TL;DR:我们展示了如何在免费的 Google Colab 上使用🧨扩散器运行最强大的开源文本到图像模型之一IF。 您还可以直接在 Hugging Face Space 中探索该模型的功能。 图片来自官方 IF GitHub 仓库。 简介 IF 是一种基于像素的文本到图像生成模型,由 DeepFloyd 在2023年4月底发布。该模型的架构受到 Google 的闭源 Imagen 的强烈启发。 与 Stable Diffusion…

Leave a Comment

深入研究文本到视频模型

使用ModelScope生成的视频样本。 文本到视频是生成模型中令人难以置信的新进展之一。正如其名字所示,文本到视频是一个相对较新的计算机视觉任务,涉及从文本描述生成一系列时间和空间上连续一致的图像序列。虽然这个任务看起来与文本到图像非常相似,但实际上更加困难。这些模型如何工作?它们与文本到图像模型有何不同?我们可以期望它们有什么样的性能? 在本博文中,我们将讨论文本到视频模型的过去、现在和未来。我们将首先回顾文本到视频和文本到图像任务之间的区别,并讨论无条件和文本条件视频生成的独特挑战。此外,我们还将介绍文本到视频模型的最新发展,探讨这些方法的工作原理和能力。最后,我们将谈谈Hugging Face正在做的工作,以促进这些模型的集成和使用,并分享一些有趣的演示和资源,无论是在Hugging Face Hub内还是外部。 从各种文本描述输入生成的视频示例,图片来源于Make-a-Video。 文本到视频 vs. 文本到图像 近年来,文本到图像生成模型的发展进展如此之快,以至于很难跟上最新状态。让我们先进行一个简单回顾。 仅仅两年前,首批开放词汇、高质量的文本到图像生成模型问世。这第一波文本到图像模型包括VQGAN-CLIP、XMC-GAN和GauGAN2,它们都采用了GAN架构。随后,OpenAI在2021年初推出了非常受欢迎的基于Transformer的DALL-E,2022年4月推出了DALL-E 2,以及由Stable Diffusion和Imagen开创的新一波扩散模型。Stable Diffusion的巨大成功导致了许多产品化的扩散模型,如DreamStudio和RunwayML GEN-1,以及与现有产品的集成,如Midjourney。 尽管扩散模型在文本到图像生成方面具有令人印象深刻的能力,但扩散和非扩散的文本到视频模型在生成能力方面受到了极大的限制。文本到视频通常在非常短的片段上进行训练,这意味着它们需要一种计算昂贵且缓慢的滑动窗口方法来生成长视频。因此,这些模型在部署和扩展方面非常困难,并且在上下文和长度方面仍然受限。 文本到视频任务在多个方面面临着独特的挑战。其中一些主要挑战包括: 计算挑战:确保帧之间的空间和时间一致性会产生长期依赖,这带来了高计算成本,使得训练这样的模型对于大多数研究人员来说不可承受。 缺乏高质量的数据集:用于文本到视频生成的多模态数据集稀缺,并且往往标注不完整,这使得学习复杂的运动语义变得困难。 关于视频字幕的模糊性:以便让模型更容易学习,描述视频的方式是一个未解之谜。单一的短文本提示不足以提供完整的视频描述。生成的视频必须基于一系列提示或叙述随时间发生的情节的故事。 在下一节中,我们将讨论文本到视频领域的发展时间线以及分别提出的各种方法来解决这些挑战。从更高层面上看,文本到视频的工作提出了以下一种或多种方法: 新的、更高质量的数据集,更容易学习。 在没有配对的文本-视频数据的情况下训练这样的模型的方法。 更高效的方法生成更长、更高分辨率的视频。…

Leave a Comment

辅助生成:一种朝着低延迟文本生成的新方向

大型语言模型目前非常流行,许多公司都在投入大量资源来扩展这些模型并开发新的功能。然而,作为拥有越来越短注意力的人类,我们也不喜欢它们的响应速度慢。延迟对于良好的用户体验至关重要,因此尽管质量较低(例如在代码补全中),人们通常还是使用较小的模型。 为什么文本生成如此缓慢?是什么阻止了你在不破产的情况下部署低延迟的大型语言模型?在本博客文章中,我们将重新审视自回归文本生成的瓶颈,并介绍一种解决延迟问题的新解码方法。通过使用我们的新方法——辅助生成,您可以在通用硬件上减少延迟高达10倍! 理解文本生成的延迟 现代文本生成的核心原理很容易理解。让我们来看看其核心部分——机器学习模型。输入包含一个文本序列,其中包括迄今为止生成的文本以及其他可能的模型特定组件(例如,Whisper还具有音频输入)。模型接受输入并运行前向传递:将输入馈送到模型并依次通过其各个层,直到预测出下一个标记的非归一化对数概率(也称为logits)。一个标记可以由整个单词、子单词或甚至单个字符组成,这取决于模型的设计。如果您想深入了解文本生成的这个部分,可以参考图示的GPT-2。 模型的前向传递可以获得下一个标记的logits,您可以自由操作这些logits(例如,将不希望出现的单词或序列的概率设为0)。文本生成的下一步是从这些logits中选择下一个标记。常见的策略包括选择最有可能的标记,即贪婪解码,或从它们的分布中进行抽样,也称为多项分布抽样。通过将模型的前向传递与下一个标记的选择迭代地结合起来,就可以实现文本生成。当涉及到解码方法时,这只是冰山一角,请参考我们关于文本生成的博客文章以进行深入探索。 从上面的描述中,文本生成的延迟瓶颈显而易见:对于大型模型来说,运行模型的前向传递速度较慢,您可能需要按顺序进行数百次前向传递。但让我们深入探讨一下:为什么前向传递速度慢?前向传递通常由矩阵乘法主导,通过快速访问对应的维基百科条目,您可以了解到在这个操作中,内存带宽是限制因素(例如,从GPU内存到GPU计算核心)。换句话说,前向传递的瓶颈来自于将模型层的权重加载到设备的计算核心中,而不是来自于执行计算本身。 目前,有三个主要途径可以提高文本生成的性能,都是解决模型前向传递性能的。首先,您可以进行硬件特定的模型优化。例如,您的设备可能与Flash Attention兼容,通过重新排序操作来加速注意力层,或者使用INT8量化来减小模型权重的大小。 其次,当您知道会同时进行多个文本生成请求时,您可以对输入进行批处理,从而大幅增加吞吐量,但会有一定的延迟惩罚。设备加载的模型层权重现在可以在并行处理多个输入行上使用,这意味着您可以在大致相同的内存带宽负担下获得更多的标记输出。批处理的问题在于需要额外的设备内存(或将内存转移到其他地方)- 在这个范围的末端,您可以看到类似FlexGen的项目,它以牺牲延迟为代价来优化吞吐量。 # 展示批量生成对性能的影响的示例。测量设备:RTX3090 from transformers import AutoModelForCausalLM, AutoTokenizer import time tokenizer = AutoTokenizer.from_pretrained(“distilgpt2”) model = AutoModelForCausalLM.from_pretrained(“distilgpt2”).to(“cuda”)…

Leave a Comment

越小越好:Q8-Chat,一种在Xeon上高效的生成式人工智能体验

大型语言模型(LLMs)正在机器学习领域大放异彩。得益于它们的Transformer架构,LLMs具有从大量的非结构化数据(如文本、图像、视频或音频)中学习的非凡能力。它们在许多任务类型上表现出色,无论是像文本分类这样的抽取型任务,还是像文本摘要和文本到图像生成这样的生成型任务。 正如其名称所示,LLMs是大型模型,通常超过100亿个参数。有些模型甚至超过1000亿个参数,如BLOOM模型。LLMs需要大量的计算能力,通常在高端GPU中找到,以便在低延迟的使用情况下(如搜索或对话应用)能够快速预测。不幸的是,对于许多组织来说,相关成本可能是难以承受的,这使得在他们的应用中使用最先进的LLMs变得困难。 在本文中,我们将讨论优化技术,帮助减小LLM的大小并降低推理延迟,从而使它们能够在Intel CPU上有效运行。 量化基础知识 LLMs通常使用16位浮点参数(也称为FP16/BF16)进行训练。因此,存储单个权重或激活值的数值需要2个字节的内存。此外,浮点运算比整数运算更复杂且更慢,需要更多的计算能力。 量化是一种模型压缩技术,旨在通过减小模型参数可能取值的范围来解决这两个问题。例如,您可以将模型量化为更低精度的8位整数(INT8),以缩小模型并用简单且更快的整数运算替换复杂的浮点运算。 简而言之,量化会重新缩放模型参数的数值范围。当成功时,它会使您的模型至少缩小2倍,而不会对模型准确性产生任何影响。 您可以在训练期间应用量化,即所谓的量化感知训练(QAT),这通常会取得最佳结果。如果您希望量化现有模型,您可以应用训练后量化(PTQ),这是一种速度更快、需要非常少的计算能力的技术。 有多种量化工具可供选择。例如,PyTorch内置支持量化。您还可以使用Hugging Face Optimum Intel库,该库包含了方便开发者使用的QAT和PTQ的API。 量化LLMs 最近的研究[1] [2]表明,当前的量化技术在LLMs上效果不佳。特别是,LLMs在所有层和标记中的特定激活通道中存在大幅度的异常值。以下是使用OPT-13B模型的一个示例。您可以看到一个激活通道在所有标记中的数值要比其他所有通道大得多。这种现象在模型的所有Transformer层中都可见。 *来源:SmoothQuant* 迄今为止,最佳的量化技术是对激活按标记进行量化,这会导致截断异常值或向下溢出的低幅度激活。这两种解决方案都会严重影响模型质量。此外,量化感知训练需要额外的模型训练,这在大多数情况下由于计算资源和数据的不足是不可行的。 SmoothQuant [3] [4]是一种解决这个问题的新的量化技术。它对权重和激活值应用联合数学变换,将激活值的异常值和非异常值之间的比例降低,而权重的比例则增加。这种变换使得Transformer的各层“量化友好”,并且能够在不影响模型质量的情况下进行8位量化。因此,SmoothQuant可以产生更小、更快的模型,可以在Intel CPU平台上良好运行。 *来源:SmoothQuant* 现在,让我们看看当SmoothQuant应用于流行的LLMs时会发生什么。 使用SmoothQuant量化LLMs…

Leave a Comment

使用InstructPix2Pix进行指令调整的稳定扩散

本文探讨了指令调优,以教会Stable Diffusion跟随指令来翻译或处理输入图像。通过这种方法,我们可以使用输入图像和“指令”来提示Stable Diffusion,例如- 对自然图像应用卡通滤镜。 教会Stable Diffusion遵循用户指令在输入图像上执行编辑的想法是在《InstructPix2Pix: 学习遵循图像编辑指令》中引入的。我们讨论了如何扩展InstructPix2Pix的训练策略,以遵循与图像翻译任务(如卡通化)和低级图像处理任务(如图像去雨)相关的更具体的指令。我们涵盖了以下内容: 指令调优简介 背后的动机 数据集准备 训练实验和结果 潜在的应用和限制 待解决的问题 我们的代码、预训练模型和数据集可以在这里找到。 介绍和动机 指令调优是一种通过监督的方式教导语言模型遵循指令来解决任务的方法。它是由Google在《Fine-tuned Language Models Are Zero-Shot Learners (FLAN)》中介绍的。从最近的时候开始,您可能还记得像Alpaca和FLAN V2这样的作品,它们是指令调优对各种任务有益的很好的示例。 下图展示了指令调优的一个公式化(也称为“指令微调”)。在FLAN V2论文中,作者采用一个预训练的语言模型(例如T5)并在一个示例数据集上进行微调,如下图所示。…

Leave a Comment

🐶Safetensors经过审计,被确认为真正安全,并成为默认选项

Hugging Face(拥抱面孔),与EleutherAI和Stability AI密切合作,已经对safetensors库进行了外部安全审计,审计结果使得这三个组织可以朝着将该库设为保存模型的默认格式迈进。 Trail of Bits所进行的完整安全审计结果可以在这里找到:Report。 以下博文解释了该库的起源,为什么这些审计结果很重要以及下一步的计划。 safetensors是什么? 🐶 safetensors是一个用于在最常见的框架中保存和加载张量的库(包括PyTorch、TensorFlow、JAX、PaddlePaddle和NumPy)。 为了更具体地解释,我们将使用PyTorch。 import torch from safetensors.torch import load_file, save_file weights = {“embeddings”: torch.zeros((10, 100))} save_file(weights, “model.safetensors”)…

Leave a Comment

介绍 BERTopic 与 Hugging Face Hub 的集成

我们非常高兴地宣布BERTopic Python库的重大更新,扩展了其功能并进一步简化了主题建模爱好者和从业人员的工作流程。BERTopic现在支持直接将训练好的主题模型推送到和从Hugging Face Hub拉取。这种新的集成为在生产环境中轻松利用BERTopic的功能提供了令人兴奋的可能性。 什么是主题建模? 主题建模是一种可以帮助揭示一组文档中隐藏的主题的方法。通过分析文档中的词语,我们可以找到揭示这些潜在主题的模式和连接。例如,一个关于机器学习的文档更有可能使用“梯度”和“嵌入”等词语,而不是关于烘焙面包的文档。 每个文档通常涵盖不同比例的多个主题。通过检查词语统计,我们可以识别出代表这些主题的相关词语的聚类。这使我们能够分析一组文档,并确定它们讨论的主题,以及每个文档内主题的平衡。最近,主题建模的新方法已经超越了使用词语,而是使用更丰富的表示,如基于Transformer的模型提供的表示。 什么是BERTopic? BERTopic是一个先进的Python库,使用各种嵌入技术和c-TF-IDF进行主题建模过程,从而创建出密集的聚类,方便解释主题,同时保留主题描述中的重要词语。 BERTopic库概述 尽管BERTopic易于入门,但它支持一系列高级主题建模方法,包括引导、监督、半监督和手动主题建模。最近,BERTopic还增加了对多模态主题模型的支持。BERTopic还提供了一套丰富的工具来生成可视化效果。 BERTopic为用户提供了一个强大的工具,可以发现文本集合中的重要主题,从而获得有价值的见解。使用BERTopic,用户可以分析客户评论、探索研究论文或轻松对新闻文章进行分类,使其成为任何希望从文本数据中提取有意义信息的人的必备工具。 使用Hugging Face Hub进行BERTopic模型管理 通过最新的集成,BERTopic用户可以轻松地将其训练好的主题模型推送到和从Hugging Face Hub拉取。这种集成标志着简化在不同环境中部署和管理BERTopic模型的重要里程碑。 将BERTopic模型训练并推送到Hub的过程可以在几行代码中完成 from bertopic import BERTopic topic_model =…

Leave a Comment

介绍适用于Amazon SageMaker的Hugging Face LLM推理容器

这是一个关于如何使用新的Hugging Face LLM Inference Container将开源LLMs(如BLOOM)部署到Amazon SageMaker进行推理的示例。我们将部署12B Pythia Open Assistant Model,这是一个使用Open Assistant数据集训练的开源Chat LLM。 示例内容包括: 设置开发环境 获取新的Hugging Face LLM DLC 将Open Assistant 12B部署到Amazon SageMaker 运行推理并与我们的模型聊天 创建由Amazon SageMaker支持的Gradio…

Leave a Comment

Hugging Face 被法国数据保护机构选中,加入增强支持计划

这篇博文最初发表于LinkedIn,发布日期为05/15/2023 我们很高兴地宣布,Hugging Face已被法国数据保护机构CNIL选中,成为其增强支持计划的受益者!在40多个候选公司中,这个新计划选中了三家“具有较强经济发展潜力”的公司,将为它们在数据保护方面的职责理解和实施提供支持。在快速发展的人工智能领域,这是一项艰巨而必要的任务。 在尊重人们的隐私权方面,机器学习和人工智能的最新发展带来了新的问题和挑战。在Hugging Face的工作和合作中,我们对这些挑战格外敏感。我们与来自许多不同国家和机构的数百名研究人员合作举办的BigScience研讨会是第一个明确将隐私置于核心位置的大型语言模型训练项目,通过多管齐下的方法来涵盖数据选择与管理、数据处理和模型共享。最近与ServiceNow共同主办的BigCode项目也投入了大量资源来应对隐私风险,并创建了支持假名化的新工具,将受益于其他项目。这些努力帮助我们更好地了解在人工智能开发过程的不同层面上,在技术上有什么是必要和可行的,以便更好地应对与个人数据相关的法律要求和风险。 法国数据保护机构CNIL的陪伴计划,将受益于其专业知识和作为法国数据保护机构的角色,将在支持我们推进GDPR合规方面发挥重要作用,并为我们的用户社区在隐私和数据保护问题上提供清晰的指导。我们期待着与CNIL共同努力,以更有远见地解决这些问题,并帮助开发出尊重人们数据权利的令人惊艳的新型机器学习技术!

Leave a Comment

宣布开源人工智能游戏研讨会 🎮

释放你的创造力,用AI工具制作游戏吧! 我们很高兴地宣布首届开源AI游戏开发大赛,您将使用AI工具来创建游戏。 借助AI提升游戏体验和工作流程的潜力,我们很期待看到您能取得什么成就:将生成式AI工具(如Stable Diffusion)融入您的游戏或工作流程中,以解锁新功能并加速开发过程。 从纹理生成到逼真的NPC和真实的语音合成,选择多种多样。 📆 记下日期:游戏开发大赛将于7月7日至9日举行。 立即领取您在游戏开发大赛中的免费名额 👉 https://itch.io/jam/open-source-ai-game-jam 为什么我们要组织这个活动? 在一些热门游戏开发大赛限制使用AI工具的时代,我们认为提供一个专门展示AI为游戏开发者带来的不可思议可能性的平台至关重要。尤其是当这些工具是开放、透明和可访问的时。 我们希望这些活动能够蓬勃发展,并为独立开发者提供所需的工具,提高生产力并释放他们的全部潜力。 什么是AI工具? AI工具,特别是像Stable Diffusion这样的生成式工具,为游戏开发打开了一个全新的世界。 从加速工作流程到游戏内功能,您可以利用AI的力量进行纹理生成、逼真的非玩家角色(NPC)和真实的语音合成功能。 立即领取您在游戏开发大赛中的免费名额 👉 https://itch.io/jam/open-source-ai-game-jam 谁可以参加? 欢迎所有人参加开源AI游戏开发大赛,无论技能水平或所在地。您可以单独参与或组成任意规模的团队。 有哪些要求? 要参加,您的游戏应该可以在网络上(例如itch.io)或Windows上进行游玩。此外,您需要将至少一个开源的AI工具融入到您的游戏或工作流程中。 我们将提供更多详情来指导您。…

Leave a Comment

Unity中的AI语音识别

介绍 本教程将指导您使用Hugging Face Unity API在Unity游戏中实现最先进的语音识别。该功能可用于给予指令、与NPC进行对话、提高可访问性或其他需要将口语转换为文本的功能。 要在Unity中尝试语音识别,请查看itch.io上的实时演示。 先决条件 本教程假设您具备Unity的基本知识。它还要求您已安装Hugging Face Unity API。有关设置API的说明,请查看我们之前的博客文章。 步骤 1. 设置场景 在本教程中,我们将设置一个非常简单的场景,玩家可以在其中开始和停止录制,然后将结果转换为文本。 首先创建一个Unity项目,然后创建一个带有四个UI元素的画布: 开始按钮:用于开始录制。 停止按钮:用于停止录制。 文本(TextMeshPro):用于显示语音识别的结果。 2. 设置脚本 创建一个名为SpeechRecognitionTest的脚本,并将其附加到一个空的游戏对象上。 在脚本中,定义对UI组件的引用: [SerializeField] private…

Leave a Comment

欢迎 fastText 加入 Hugging Face Hub

fastText是一个用于高效学习文本表示和分类的库。由Meta AI于2016年开源,fastText整合了过去几十年来在自然语言处理和机器学习中有影响力的关键思想:使用词袋和n-gram词袋表示句子,使用子词信息,利用隐藏表示在类之间共享信息。 为了加快计算速度,fastText使用了分层softmax,利用了类别分布不平衡的特点。所有这些技术为用户提供了可扩展的文本表示和分类解决方案。 Hugging Face现在托管了所有157种语言的词向量和最新的语言识别模型的官方镜像。这意味着使用Hugging Face,您可以轻松地下载并使用这些模型。 查找模型 157种语言的词向量和语言识别模型可以在Meta AI组织中找到。例如,您可以在这里找到英语词向量的模型页面,以及这里找到语言识别模型。 小部件 此集成包括对文本分类和特征提取小部件的支持。在这里尝试语言识别小部件和特征提取小部件! 如何使用 以下是如何加载和使用预训练的向量: >>> import fasttext >>> from huggingface_hub import hf_hub_download >>> model_path = hf_hub_download(repo_id=”facebook/fasttext-en-vectors”,…

Leave a Comment

DuckDB:分析存储在Hugging Face Hub上的50,000+个数据集

Hugging Face Hub致力于为所有人提供开放的数据集访问,并为用户提供探索和理解数据集的工具。您可以找到许多用于训练流行的大型语言模型(LLMs)(如Falcon,Dolly,MPT和StarCoder)的数据集。有用于解决数据集中的公平性和偏见的工具,如Disaggregators,以及用于预览数据集中示例的工具,如数据集查看器。 使用数据集查看器预览OpenAssistant数据集。 我们很高兴与您分享,我们最近为帮助您分析Hub上的数据集添加了另一个功能; 您可以在Hub上的任何存储的数据集上使用DuckDB运行SQL查询!根据2022年StackOverflow开发者调查,SQL是第三受欢迎的编程语言。我们还希望拥有一个专为运行分析查询而设计的快速数据库管理系统(DBMS),这就是为什么我们对与DuckDB集成感到兴奋的原因。我们希望这样可以让更多用户访问和分析Hub上的数据集! TLDR 数据集服务器自动将Hub上的所有公共数据集转换为Parquet文件,您可以通过点击数据集页面顶部的“自动转换为Parquet”按钮来查看。您还可以通过简单的HTTP调用访问Parquet文件URL列表。 r = requests.get(”https://datasets-server.huggingface.co/parquet?dataset=blog_authorship_corpus”) j = r.json() urls = [f [‘url’] for f in j [‘parquet_files’] if f…

Leave a Comment

Hugging Face Hub 适用于图库、图书馆、档案馆和博物馆

Hugging Face Hub 用于博物馆、图书馆、档案馆和博物馆的中央仓库 Hugging Face Hub 是什么? Hugging Face 的目标是使高质量的机器学习可供所有人使用。为了实现这一目标,我们采取了多种方式,包括开发广泛使用的 Transformers 代码库、提供免费课程,并提供 Hugging Face Hub。 Hugging Face Hub 是一个中央仓库,人们可以在其中共享和访问机器学习模型、数据集和演示。该仓库托管了超过190,000个机器学习模型、33,000个数据集以及超过100,000个机器学习应用和演示。这些模型涵盖了从预训练语言模型、文本、图像和音频分类模型、目标检测模型到各种生成模型的广泛任务。 托管在 Hub 上的模型、数据集和演示涵盖了广泛的领域和语言,社区定期努力扩大 Hub 提供的范围。本博客旨在为博物馆、图书馆、档案馆和博物馆(GLAM)部门的人员提供了解如何使用和贡献…

Leave a Comment