Press "Enter" to skip to content

264 search results for "NumPy"

语音合成、识别与更多功能的 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

在🧨扩散器中的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

使用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

使用🤗 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

🐶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

如何在机器学习中构建ETL数据流水线

从数据处理到快速洞察,强大的数据管道对于任何机器学习系统来说都是必不可少的通常情况下,数据团队由数据和机器学习工程师组成,需要构建这样的基础设施,而这个过程可能会很痛苦然而,高效使用ETL管道可以帮助他们的工作更加轻松本文探讨了其重要性…

Leave a Comment

如何构建机器学习模型训练流程

举手吧,如果你曾经花了几个小时来解决混乱的脚本,或者感觉在修复那个难以捉摸的错误时像是在追踪幽灵,而你的模型又需要花费很长时间来训练我们都有过这样的经历,对吧?但是现在,想象一个不同的场景:整洁的代码流畅的工作流程高效的模型训练这听起来太好了,好得让人难以置信…

Leave a Comment

Mann-Kendall趋势检验使用Python

介绍 曼-肯德尔趋势检验,以H.A.曼和D.R.肯德尔命名,是一种非参数检验方法,用于确定趋势是否随时间显著变化。趋势可以是随时间单调增加或单调减少的。由于这是一种非参数检验方法,所以我们不必担心数据的分布。但是数据不应该具有串联相关性/自相关性(时间序列中的误差项从一个时期转移到另一个时期)。 曼-肯德尔检验旨在检测单调趋势,即随时间持续增加或减少的趋势,而不假设数据的特定分布。当处理可能不满足参数检验(如正态性)假设的数据时,它特别有用。 本文是数据科学博客马拉松的一部分。 样本量要求 如果你有非常小的样本,比如3或4个,那么很有可能找不到任何趋势。随着时间的推移,我们拥有的样本越多,测试统计量的可靠性就越高。尽管测试也可以针对非常小的样本进行,但建议的数据量至少为10。 测试目标 在本文中,我们研究了火车出轨事故随时间的相关情况。奥迪沙最近的火车出轨事故再次对铁路安全提出了质疑。铁路事故可以按照事故类型进行分类(例如正面碰撞、尾部碰撞、爆炸、侧面碰撞、出轨、火灾等)。随着时间的推移,铁路在技术和基础设施方面有了许多改进。尽管现代化的进展已经到位,但世界各地的火车事故仍然很常见。火车事故是全球铁路系统中发生的不幸事件。这些事故可能导致生命损失、伤害和财产损失。 在本研究中,我们将确定在印度,随着这些年所做的各种进步,我们是否能够减少火车事故(我们将研究事故类别中的出轨事故)。我们获得的有关印度出轨事故的数据是时间序列数据。我们拥有从2001年到2016年的出轨数据。数据按时间顺序排列。 我们的数据 从上表中,我们可以清楚地看到数据呈下降趋势。自2001年以来,出轨事故的数量大大减少。在2001年,我们有350起与出轨相关的事故,而在2016年减少到65起。由于数据是按顺序排列的,我们可以直接将其输入到Python环境中并进行处理。让我们在Python中绘制一个图来正确地可视化数据。 !pip install seaborn import seaborn as sns import matplotlib.pyplot as plt fig = plt.subplots(figsize=(20,…

Leave a Comment

如何从数据分析师转变为数据科学家?

人们经常处理数据,数据分析师在掌握领域专业知识后寻求更具挑战性的角色。数据科学家常常被认为是最具吸引力的职业选择之一。虽然需要扩展技能,但许多教育平台提供了有益的知识,有利于变革。许多数据分析师已成功转行,你可以是下一个! 以下步骤将帮助您为公司的发展做出贡献,并在您成为数据科学家的职业道路上增加专业知识: 评估技能差距 数据科学家角色所需的基本技能和知识 数据科学家需要对数据进行实验,因此开发新想法和研究的思维方式至关重要。同样重要的是,能够分析过去实验的错误。除此之外,执行这些职责所需的技术技能和知识如下: 技术技能: 编程或数据语言,如Python或R 机器学习算法,例如线性回归、逻辑回归、随机森林、决策树、支持向量机、KNN 关系型数据库,如SAP HANA、MySQL、Microsoft SQL Server、Oracle Database 特殊技能,如自然语言处理(NLP)、光学字符识别(OCR)、神经网络、计算机视觉、深度学习 RShiny、ggplot、Plotly、Matplotlit中的数据可视化能力 Hadoop、MapReduce、Spark等分布式计算 分析技能: IBM Watson、OAuth、Microsoft Azure等API工具 实验和A/B测试 预测建模和统计概念,如回归、分类和时间序列分析 领域知识: 计算机科学、软件工程或统计学的硕士或博士学位 专业知识…

Leave a Comment

数据科学与统计学的区别

介绍 随着Indeed上数据科学家岗位的增长率达到256%,数据科学已成为行业的热门词汇。在各个领域对数据科学角色的需求不断增长,导致大众选择专业学位和培训计划来学习数据科学。企业和政府广泛使用数据来做出重要决策并规划未来的投资和活动。然而,在数据科学中,统计学的步骤对决策起到同等重要的作用。 想知道哪一个更有用-数据科学还是统计学? 让我们来探讨一下! 什么是数据科学? 数据科学是对数据进行分析以获取重要的业务见解。它包括多个学科,如统计学、人工智能、数学和计算机科学。这些学科帮助分析大量的数据。数据科学家利用他们的知识来找到解决问题的方法,弄清楚为什么会发生这个问题,可以预期什么,还能实现什么。 今天许多行业都使用数据科学来预测消费者的模式和趋势,发现新的机会。它帮助企业在产品开发和销售方面做出明智的决策。它也作为一个改进流程和检测欺诈的学科。政府也使用数据科学来提高公共服务的效率。 什么是统计学? 统计学是一门应用科学,涉及收集和分析数据以发现模式和趋势,消除偏见,并帮助决策。它是商业智能的一个特征,包括收集和分析商业数据并呈现趋势。 企业可以通过统计评估在许多方面受益,例如识别表现最佳的产品线,识别表现不佳的销售人员,了解收入增长在不同地区的变化情况。 预测建模可以从使用统计分析方法中受益。统计分析工具使企业能够深入研究,查看更重要的细节,相比于只显示可能受到各种外部事件影响的简单趋势预测。 数据科学 vs 统计学 数据科学和统计学之间的主要区别如下: 数据科学 统计学 它基于科学计算方法。它使用统计学和应用数学从大数据中获得新的信息。 统计学是对数据的研究。它应用统计函数和算法来确定数据的值。 它应用于解决与数据相关的问题。 统计学用于设计和制定基于数据的现实世界问题。 它从原始或结构化数据中提取见解。 它计划数据收集、分析和表示以进行进一步的研究。 数据科学的应用领域包括医疗系统、金融、欺诈检测和市场分析。 统计学的应用领域包括贸易和商业、人口研究和物理科学。…

Leave a Comment

Can't find what you're looking for? Try refining your search: