淘优惠

淘优惠

OpenAI发布稀疏计算内核 更宽更深的网络

热门文章 0
openai训练

雷锋网 AI 科技评论按:OpenAI 的研究人员们近日发布了一个高度优化的 GPU 计算内核,它可以支持一种几乎没被人们探索过的神经网络架构:带有稀疏块权重的网络。取决于不同的稀疏程度,这些内核的运行速度可以比 cuBLAS 或者 cuSPARSE 快一个数量级。OpenAI 的研究人员们已经通过这些内核在文本情感分析和文本图像的生成中得到了顶尖的成果。雷锋网 AI 科技评论把 OpenAI 的这篇介绍文章翻译如下。

在深度学习领域,模型架构和算法的开发很大程度上受制于 GPU 对基础计算操作的支持到什么程度。具体来说,其中有一个问题就是通过 GPU 实现稀疏线性操作时计算效率太低。OpenAI 这次发布的计算内核就是为了支持这个的,同时也包含一些实现的多种稀疏模式的初期成果。这些成果已经展示出了一些潜力,不过还算不上是决定性的证据。OpenAI 的研究人员们也邀请更多深度学习领域的研究人员一起参与,携手继续改进这个计算内核,让更多的计算架构变得可能。

密集连接的层(左侧)可以用稀疏的、更宽的层(中间)或者稀疏的、更深的层(右侧)替代,而计算时间几乎不变

稀疏权重矩阵与密集权重矩阵有明显的不同,就是其中的很多值都是零。稀疏权重矩阵是许多模型所向往的基础部件,因为有稀疏的块参与的矩阵乘法和卷积操作的计算成本只是和块中非零数字的数目成比例而已。稀疏性的一个明显的好处,就是在给定的参数数目和计算资源限制下可以训练比别的方法宽得多、深得多的神经网络,比如实现带有上万个隐层神经元的LSTM网络(当下能训练的LSTM只有上千个隐层神经元而已)。

密集权重矩阵(左)、稀疏块权重矩阵(中)的示意图。白色的区域意味着权重矩阵中对应的位置是0

这个计算内核可以让全连接和卷积层高效地利用稀疏块权重。对于卷积层来说,这个内核的输入和输出特征维度都可以是稀疏的;而空间维度中的连接性不受到任何影响。稀疏性的定义是在块的级别上定义的(如上右图),而且为大小为 8x8、16x16、32x32 的块做了优化(在这里展示的就是 8x8 的块)。在块的级别上,稀疏模式是完全可以自己配置的。由于这个内核在计算时会直接跳过值为 0 的块,所以消耗的计算资源就只和非零的权重的数目成正比,而不是像以往一样和输出/输出特征的数目成正比。存储这些参数的开销同样和非零的权重的数目成正比。

与cuBLAS相比,这个内核在不同稀疏比例下的加速倍数。测试条件:很宽的神经网络(12288个隐层神经元),块大小为 32x32,mini-batch 大小为 32;测试硬件为 NVIDIA Titan X Pascal GPU,CUDA 版本为 8.0。在测试的这些稀疏比例下,相比 cuSPARSE 的速度提升比例还要高一些。

OpenAI的研究人员们也展示了一些在TensorFlow中进行稀疏矩阵乘法的示例代码

from blocksparse.matmul import BlocksparseMatMulimport tensorflow as tfimport numpy as nphidden_size=4096block_size=32minibatch_size=64# Create a (random) sparsity patternsparsity=np.random.randint(2, size=(hidden_size//block_size,hidden_size//block_size))# Initialize the sparse matrix multiplication objectbsmm=BlocksparseMatMul(sparsity, block_size=block_size)# Input to graphx=tf.placeholder(tf.float32, shape=[None, hidden_size])# Initialize block-sparse weightsw=tf.get_variable("w", bsmm.w_shape, dtype=tf.float32)# Block-sparse matrix multiplicationy=bsmm(x, w)# Runsess=tf.InteractiveSession()sess.run(tf.global_variables_initializer())result=sess.run([y], feed_dict={x: np.ones((minibatch_size,hidden_size), dtype='float32')})print(result)

稀疏块内核有一种非常有意思的用途,就是用来创建微缩神经网络。微缩图之间可以进行连接,图中的任意两个节点都只需要很少的几个步骤就可以连接起来,即便整张图有数十亿个节点也可以。OpenAI的研究人员们想要实现这样的微缩连接性的原因是,即便网络是高度稀疏的,他们仍然希望信息可以在整张图中快速传播。人类大脑就显示出了微缩连接模式,从而也带来了「如果LSTM有同样的特性,它的表现能否有所提高」的问题。通过微缩稀疏连接性的应用,OpenAI 的研究人员们高效地训练了带有大约 2 万个隐层神经元的 LSTM 模型,同时网络的宽度也要比参数总数目类似的网络宽 5 倍。训练后的网络在文本生成建模、半监督情感分类上都有更好的表现。

在微缩图中,即便稀疏程度很高的情况下节点之间也只需要很少的步数就可以互相连接。上面动图里显示的是从二维 Watts-Strogatz 微缩图中,中央的节点(像素)向外激活的情况;另外为了更好的观感做了随机的平滑。在这张图中,不同节点之间路径长度的平均值小于5,和 OpenAI 研究员们的 LSTM 实验中 Barabasi-Albert 图的状况类似。

OpenAI 的研究人员们训练了参数数目差不多的稀疏块权重网络和密集权重矩阵网络,对比它们的表现。稀疏模型在所有的情感数据集上都取得了更好的表现。在 IMDB 数据集上,OpenAI 的这个稀疏模型把此前最好的 5.91% 错误率大幅降低到了 5.01%。相比 OpenAI 此前一些实验中只在短句上有好的表现,这次在长句中也显示出了有潜力的结果。

基于生成式密集和稀疏模型提取的特征训练的线性模型的情感分类结果。这里的密集和稀疏模型有几乎相等的参数数目。

借助稀疏的、更宽的 LSTM 模型,比特数每字符的压缩结果在实验中从 1.059 进步到了 1.048,同样是在具有差不多的参数数目的模型上达到的。带有稀疏块的线性层架构如果换成密集连接的线性层,这个结果也可以得到进一步的提高。OpenAI 的研究人员们在用于 CIFAR-10 的 PixelCNN++ 模型上做了一个简单的修改,把正常的 2D 卷积核换成了稀疏核,同时把网络变得更深的同时保持其它的超参数不变。修改之后的网络也把比特数每维度的数值从 2.92 降低到了 2.90,达到了这个数据集上的最好结果。

  • 神经网络中的多数权重在训练结束后都可以剪枝。如果让剪枝动作配合此次的稀疏内核使用,那推理时能节省多少计算时间、提高多少计算速度呢?

  • 在生物大脑中,网络的稀疏结构有一部分是在成长时确定的(成长的另一个作用是改变连接强度)。人造神经网络中是否也能有类似的做法呢,就是不仅通过梯度学习连接权重,同时还学习最优的稀疏结构?近期有一篇论文就提出了一种学习稀疏块 RNN 的方法,OpenAI 最近也提出了一个算法用来在神经网络中做 L0 规范化,两者都可以在这个方向上起到作用。

  • OpenAI 的研究人员们这次训练了带有上万个隐层神经元的 LSTM 模型,带来了更好的文本建模表现。那么更广泛地说,带有很大的权重矩阵的模型如果用了稀疏层,就可以保持与更小的模型一样的参数数目和计算开销。相信一定有一些领域能让这种方法发挥很大的作用。

论文地址: 


open ai有免费的吗 open ai去哪下载


OpenAI中国版下载2023最新手机版是全新上线的聊天机器人工具,为大家提供了最丰富的聊天数据,你可以直接和他们进行对话,在这里你可以问他们不同的问题,他们也会尽心尽力的去回答你,里面包括了多种不同的ai问答,通过不同的算法将答案告诉你,非常的简单和方便,模拟和男友最真实的对话,需要的小伙伴不要错过。

1、开发人员将他们感兴趣的答案输入数据库,当一个问题被抛出给聊天机器人时;

2、它通过算法从数据库中找到最合适的答案,并回复聊天伙伴;

3、将网络上流行的大量俏皮话加入词典,通过算法将预设的答案回复给你。

1、一个免费的虚拟聊天工具,帮助你练习聊天;

2、这里有各种性格的男友可以选择,你可以模拟你的男友性格;

3、你可以问各种问题,他们会给你一些想要的答案。

1、通过创造人物,共同创造“人物”的新世界!

2、在AI角色之间的对话中,有很多与人类对话不同的神秘对话。

3、通过获得徽章,比如使用更多的印章,你制作的AI角色的技能会发生变化。

1、超级智能的机器人,智能分析你的输入;2、操作简单支持文字输入,或者语音输入;3、软件纯净没有任何的广告,请放心的使用。

1、注册 OpenAI 账号

2、通过短信接码完成 OpenAI ChatGPT 手机号验证

3、登录 OpenAI 账号,对话框输入,开始使用OpenAI !


OpenAI宣布GPT-3新政策,其使用将更加开放

openai宣布解散机器人团队,openai开源吗,openai github,openaios

11月18日,OpenAI宣布,将取消访问其自然语言处理程序GPT-3 API 的等候名单。

此举将加速对世界上最著名的读写 AI 模型的访问,这也表明, OpenAI 相信GPT-3 足够安全,或者说,OpenAI 可以对GPT-3进行充分监控,以便这个大模型可以更广泛地传播。对于受支持国家/地区的开发人员来说,他们将能够注册访问 GPT-3 的 API ,并立即开始他们的开发试验。而在这以前,他们的访问需求需要按照等候名单接受OpenAI的审核,然后才能获得访问权限。“我们对 API 进行了大量改进,并添加了许多安全功能,”OpenAI 产品和合作伙伴关系副总裁 Peter Welinder 说。“我们认为,让更多的开发人员为他们想解决的问题构建解决方案,可以带来很多价值。”以下为OpenAI的此次宣布的全文内容:OpenAI 致力于人工智能的安全部署。自我们的 API 推出以来,在添加新的安全功能的同时,应用的部署也变得更快、更精简。我们在保障措施方面取得的进展,使省去GPT-3 候补环节成为可能。从今天开始,受支持国家/地区的开发人员,可以立即注册并开始试验这个 API。过去一年对 API 的改进包括,更好地遵循人工指令的 Instruct 系列模型、用于更真实问题回答的专用endpoints,以及帮助开发人员减少滥用的免费过滤器。我们的工作还使我们能够在应用程序上线之前对其进行审查,监控滥用情况,支持开发人员的产品规模,并更好地了解该技术的影响。其他更改包括改进的 Playground,它可以轻松地使用我们的模型进行原型设计,一个带有数十个提示以帮助开发人员入门的示例库,以及 Codex――一种根据自然语言输出代码的新模型。数以万计的开发人员已经通过我们的平台利用了这一强大 AI 模型。我们相信,通过易于使用的 API 开放对模型的访问,会有更多的开发人员能够找到创造性的方法,从而将 AI 应用于大量有价值的应用程序和问题。为确保以负责任的方式构建 API 支持的应用程序,我们提供工具帮助开发人员实现最佳实践,以便他们能够快速安全地将应用程序投入生产。随着系统的发展和配套保护措施的提升,我们希望继续为开发人员简化流程,完善使用指南,并允许更多的用例。作为朝着这个方向迈出的另一步,我们还更新了内容指南,以阐明这个API 可用于生成什么样的内容。我们的政策一直禁止以不符合OpenAI章程的方式使用GPT-3 API,并且仍然禁止仇恨言论等内容。为帮助开发人员确保其应用程序用于预期目的,防止潜在的滥用,并遵守OpenAI内容指南,我们为开发人员提供了一个免费的内容过滤器。目前,我们正在与一些客户共同测试针对特定内容类别的目标过滤器。我们还禁止在OpenAI API 上使用某些类型的内容,例如成人内容,因为我们的系统目前无法可靠地辨别出有害内容。OpenAI一直在努力使我们的内容过滤器更加强大,并且随着系统改进,我们打算在某些类别中允许可接受的使用。很高兴能够为更多开发人员开放更安全的 GPT-3 API。随着安全措施不断改进,我们将继续扩展 API 的使用方式,同时进一步改善我们的用户体验。

我们禁止用户故意生成、或允许他人故意生成以下类别的内容:

我们还与希望使用 API 进行研究或构建用例以解决相关危害的研究人员合作。