搜索
首页科技周边人工智能LLM未来架构:谁有可能动摇Transformer的统治地位?

在大模型领域,一直稳站 C 位的 Transformer 最近似乎有被超越的趋势。

这个挑战者就是一项名为「Mamba」的研究,其在语言、音频和基因组学等多种模态中都达到了 SOTA 性能。在语言建模方面,无论是预训练还是下游评估,Mamba-3B 模型都优于同等规模的 Transformer 模型,并能与两倍于其规模的 Transformer 模型相媲美。

LLM未来架构:谁有可能动摇Transformer的统治地位?

论文一经发表,引起了不小的轰动。惊叹之余,大家发现论文作者只有两位,一位是卡内基梅隆大学机器学习系助理教授 Albert Gu,另一位是 Together.AI 首席科学家、普林斯顿大学计算机科学助理教授(即将上任)Tri Dao。

这项研究的一个重要创新是引入了一个名为「选择性 SSM( selective state space model)」的架构,相比于 Transformer 中的自注意力机制的计算量会随着上下文长度的增加呈平方级增长,比如上下文增加 32 倍时,计算量可能会增长 1000 倍,Mamba 可以随上下文长度的增加实现线性扩展,其性能在实际数据中可提高到百万 token 长度序列,并实现 5 倍的推理吞吐量提升。而这些,都离不开选择性 SSM。

看到 Mamba 如此优异的表现后,很多研究者对 SSM(state space model) 相关研究产生了好奇。

在最近的一次采访中,来自艾伦人工智能研究所( AI2)的机器学习研究员 Nathan Lambert 与 Mamba 论文作者之一 Tri Dao,以及同样来自 Together.AI 的科学家 Michael Poli 进行了深入交流。

他们主要讨论了 LLM 架构的未来,此外,这三位研究者还探讨了状态空间模型(SSM)在新兴的 LLM 市场中的应用前景。对话中涉及的知识点也比较密集,比如为什么 Transformer 中的注意力机制有效、其扩展限制是什么、Mamba 介绍及其硬件优化以及对未来架构预测的讨论等。

以下是对话内容。

为什么注意力机制有效

Nathan Lambert:我们首先来讨论一下,为什么注意力机制有效,以及注意力机制的局限性在哪里。Transformer 有多少部分是基于注意力机制构建的,还有没有其他的机制在起作用,在这方面可能会遇到哪些挑战?

Tri Dao: 没错,所谓 Transformer,就是目前推动我们看到的大多数激动人心的应用的架构。如你所说,注意力机制是其中的核心层。其实,注意力机制早在 2014 年到 2015 年就受到关注了,随后 Transformer 的概念出现,融合了注意力机制,注重多层感知机(MLP)和注意力机制的交织使用。

我认为它的成功很大程度上在于,这些模型似乎能够很好地进行扩展,你可以通过增加更多的参数和数据来扩大模型规模。这就是成功的秘诀。虽然现在看起来显而易见,但我认为五年前这还不是一个明确的概念。

Transformer 成功的几个原因包括:首先,它足够通用,能够从大量数据中学到很多东西。其次,它对硬件非常友好。与之前的循环神经网络(RNN)不同,它没有顺序依赖性。

因此,它可以在 GPU、TPU 上运行得很好,可以进行扩展,同时非常高效地利用硬件。我个人也致力于让它更加高效地利用硬件。所以,这就是成功的秘诀 —— 作一个既通用又能很好地进行扩展的架构。如果你是研究 NLP 的,也许你会考虑加入一些归纳偏置来增强模型。就我个人而言,我认为 Transformer 是一个非常通用的架构,可扩展性很好,而且对硬件很友好。

Nathan Lambert:是的,是的。现在回想起来,这一切似乎都显得很明显。现在,在研究它的替代方案时,一个有趣的维度是上下文长度。Michael,你怎么看?

Michael Poli:是的,我有几点想说。首先,目前仍然有很多优秀的研究试图从第一性原理出发解释 Transformer,为什么它能学习这些有趣的回路?人们会拆解计算过程,比如不同的 transformer 中的 head 组合等。

有一些工作会将 Transformer 作为一种编码的编程语言来理解。但我认为,正如 Trey 提到的,Transformer 中有一些非常有趣的设计选择。注意力和 MLP 的交织使用是相当重要的。而且,Transformer 一开始之所以成功,是因为它采用了一些已经为 RNN 和其他传统 NLP 模型所开发的技术,比如使用门控机制来调节模型吸收哪些信息,以及决定某些内容在这种并行形式中被忘记的速度。这就像是一些可以在 GPU 上进行优化的宝石,虽然不是很容易,但确实可以优化。

注意力计算量呈平方级增长

Nathan Lambert:是的,这些都很棒。我想说的比较具体的一点是,注意力机制最终呈现出一种随输入序列长度成二次方增长的计算成本。假设你有一个长度为 L 的输入序列,并且你想输出一个长度也为 L 的序列。如果你深入到数学细节中去,观察大多数库在推理时发生的情况,你会发现有这样一个上三角注意力矩阵,其中,你只能考虑文本的过去部分。随着处理的进行,你会发现它形成了一个 L 平方的关系,其中第一个 token 只考虑一个元素,然后每个后续的 token 需要考虑的过去 token 逐渐增多。刚才我们已经讨论了 RNN,以及一些非注意力的方法是如何做到不去查看序列中所有文本历史的。当你给聊天机器人 GPT 写一个长长的提示时,你真的希望所有那些信息都被编码进去吗?除了这种密集的注意力矩阵,我们还有什么其他的选择?  

Tri Dao:循环神经网络可以追溯到 80 年代,也许其中一些更著名的是长短期记忆网络(LSTM)、门控循环单元(GRU)。大约在 2012 年到 2016 年左右,它们在翻译、语音识别等方面非常流行,当时它们是 NLP 领域的 SOTA 技术。

它们以一种序列方式处理文本:逐个观察 token,然后改变隐藏状态,每次看到一个新 token 时都会更新隐藏状态。我认为从某种意义上来说,这模仿了人脑处理信息的方式,就像你阅读一句话或一段话,就像你在大脑中存储一些信息。当你读完一个文档时,你可能能够回答关于那个文档的问题,而无需再次参考该文档。所以,RNN 就是这样工作的。它们处理文本,然后改变隐藏状态,隐藏状态是可以用来生成新 token 或对文档进行分类的表示。

大约在2016年左右,这些方法曾经非常受欢迎。然而,随着实验结果的出现,我们逐渐发现它们的性能并不像Transformer那样出色。正如你所提到的,Transformer具有二次方扩展特性,使得每个标记与之前的所有标记进行比较,这为信息传播提供了一种非常简单的方式。我相信这正是Transformer和注意力机制表现出色的原因之一。

最近发现一些新的RNN架构表现不错,其中RWKV是其中较早的一个。我非常钦佩这个项目,它是由研究者Bo Peng主导研发的。它似乎在以独特的方式与Transformer竞争,证明了RNN的强大潜力。

Nathan Lambert:是的。我之前也读过这篇论文。在技术层面上,他们尝试通过两个线性 RNN 来复制类似于注意力机制中的查询键值查找的东西,本质上是为了消除像特定注意力扩展这样的潜在问题。这两个 RNN 拥有更好的长上下文行为和不同的实现规则。他们还训练了参数量高达 140 亿的模型。这也引出了我接下来想问的一些问题,包括 Mamba 和 Striped Hyena。我们可以一个一个来聊。

Striped Hyena 是个什么模型?

Nathan Lambert:我进入了 Together API,做了一次 Mistral 和 Striped Hyena 的对比测试。结果显示,Striped Hyena 是一个不错的语言模型。它能回答大多数问题,没有明显的失败模式。Michael,你怎么看待这个模型?

Michael Poli:首先我想说,这些新方法之间有一个有趣的联系。存在一种凸集,它有一个中心点,线性注意力(即没有 softmax 的注意力)、线性 RNN 以及基于状态的模型(SSM)之间的关联都在这个凸集里。在某种程度上,这种基础模型的数学表述是相同的,我这里不是指基础架构,而是指基础模型。

然后你可以朝不同的方向发展,每个方向都有自己的权衡,比如特征映射方向、 kernel 方向。所以当你分解或去除掉 softmax 时,你可以在处理查询(queries)和键(keys)时采取不同的方法。这些查询和键是构成你的注意力矩阵的基本实体。在去除 softmax 之后,你可以构建其他类似 kernel 的函数,或者其他你希望能够近似实现注意力机制功能的函数。

你可以做一些类似泰勒近似(Taylor approximation)或泰勒展开(Taylor expansion)这样的事情。你会得到一个略显不同的视角,但你得到的东西又非常相似。你可以转向 Time variance。这意味着你修改 RNN,使其计算更多地依赖于输入序列。也就是说,在线性 RNN 中的计算是由输入序列所决定的。你可以使用类似门控(gates)的东西,我们已经看到了很多工作,例如,用额外的门控来更新内部 tension,让你更好地利用你的固定状态维度。第三个方向 —— 至少在我看来 —— 是使用卷积形式的,更多地使用其他类型的线性运算符,这些运算符仍然是可结合的,仍然允许你并行训练。

所以这里的内容包括时间不变系统。我可以详细解释这些点,但是存在一些可以在卷积和循环之间切换的模型,这些模型还配备了额外的门控机制。我参与的一个项目,它诞生于我刚才提到的这第三类架构。我们真正试图做到的是,打造出每浮点运算性能最佳的架构。我们反复验证的一个原则是,似乎将不同层、不同类别的模块甚至是全注意力层结合起来,得到的东西比单独的组件要好。

因此,我们正在试图更深入地理解这些模型的组合方面。这种理解有助于我们创造每浮点运算性能更优的预训练模型。使用这种模型,我们运行了一整套的规模扩展法则。混合化也给了我们一些优势,因为我们想要的是一种可以即开即用的东西,它使得过程变得更加简单。

在为更长的上下文进行微调时,我们可以采用一些为Transformers开发的技术。令人惊讶的是,这些技术对于混合体同样有效。例如,线性缩放用于旋转嵌入等等。如果你对细节感兴趣,可以进一步了解。因此,这个项目主要是一个试验性的尝试,旨在弄清楚在当前环境下我们能达到什么程度。

什么是 Mamba

Nathan Lambert:Striped Hyena 使用了一组新的模型移植技术(model grafting)进行了优化,使我们能够在训练期间更改模型架构,对我来说,感觉好像有很多事情正在发生,比如一些你可能不能谈论太多的内容如数据。

关于数据解释,我认为还有一些内容没有得到很好的解释,特别是一些较长的上下文数据。不知道你是否能从模型的角度给我们解释一下这些数据是什么意思呢?即使只是简单总结一下,对于我们来说也会是一种很好的体验。

该领域有很多很酷的工作,因此,AI 领域有很多新的项目在展开,例如,有些人试图将 Lama 模型拆解并继续训练。事实上,这种做法有点狂野,人们尝试采用强大的模型并试图让它们变得更小,同时还想获得媲美大模型的性能优势。

虽然这是个题外话,但我没有预料到的是当你关注社交媒体的时候,你会看到人们会说,哦,最终还是状态非注意力模型赢了。在我看来,这种说法掩盖了很多有趣的细节。

好吧,让我们回到 Mamba。如果没记错的话,我认为 Mamba 套件中最大的模型是 2. 8 亿参数,在 NLP 基准测试中,包括 GPT J、Pythia 模型套件给出的基准分数都非常强。

Tri Dao:Mamba 是我与 Albert Gu 合作完成的,当时他是斯坦福大学的博士生,我们就是在那里认识的,他现在是 CMU 的助理教授。所以这是一次美妙的合作,Mamba 的成功要归功于他。Albert 一直致力于状态空间模型的研究,从某种意义上说,正如前面提到的,线性张量、线性 RNN、卷积、神经网络等领域他都有涉及。

在我过去参与的几个项目中,我还致力于空间、状态空间的研究,我研究的角度是如何使状态空间更加硬件高效,并提高其性能。所以和 Albert Gu 一起工作真是太棒了。我认为参与 Mamba 的研究过程更多的是一个概念证明,状态空间实际上可以像 NLP 领域的 transforme 一样好吗?因此,才有了 Mamba,这项研究表明状态空间在音频方面可能会更好。但是,对于状态空间模型来说,语言一直是最难获得、最难做好的。

而且,语言也是人们现在最关心的事情,所以我做的更多的是一个概念验证,也就是说,我们想表明状态空间模型也可以具有竞争力,甚至可以和 Transformer 一较高下。我们实验中验证的 token 数从 3B 到 300 B 不等。

所以从绝对意义上讲,这些都不是非常强大的模型,这些还不是我们真正想要的模型。我认为我们正在做的更多的是进行学术比较。比如训练相同数量的 token,状态空间模型可能比 transformer 稍微好一些。

这件事对我们来说尤其令人兴奋,我认为 Albert 已经推动这件事有一段时间了。

结果是,我们的研究在推理上可能会更快,也许我们会有不同的方式来理解上下文学习是如何发生的。我很期待未来的工作。

Mamba 硬件优化

Nathan Lambert:您能否谈一谈实现这些新 CUDA 内核实际上需要做什么?

Tri Dao:关于状态空间的研究,它在某种意义上是循环神经网络。状态大小是你在遍历或处理序列时,用来存储信息的缓冲区。

从某种意义上讲,Transformer 也可以这样理解,它保存的整个历史记录通常称为 KV 缓存,Transformer 保留历史并不断引用它。对于 RNN,它们具有固定大小的状态;对于 transformer,你可以认为状态大小正在增加。而且,我们的直觉是,状态规模越大,模型就表现越好。

因此,为了存储需要记住的信息,你需要更多的空间。以前的模型(如S4等)具有相当大的隐藏状态大小,它们使用卷积视图来避免具体化状态。

我们希望在循环中加入更多的输入依赖性,然而,这样做阻止了我们使用可以提高效率的卷积视图。

因此,我们必须找到一种不同的方法来提高效率,所以我们把重点专注于在 GPU 上提高效率。我们的想法是,我们要有一个大的状态大小,但我们不需要用到实际的 GPU 内存,比如 HBM,我们可以把大的状态保存在一个更快的内存中,称之为 SRAM,你可以把它想象成一个缓存。如果你更熟悉 CPU,这通常是一个缓存和 RAM。

所以,如果你有较大的状态,你可以将它保存在缓存中,这样一来你不会遭受太大的损失。

2024 年架构预测

Nathan Lambert:我现在对 GPU 与 TPU 最有力的洞察是,MoE 在 TPU 中效果不佳,因为你必须在基本层上加入一些 MoE。

在分布式训练中,前馈层可能最终分布在不同的 TPU 节点上,而 TPU 之间是通过邻近节点进行通信的。因此,与 GPU 相比,TPU 在这方面会受到较大的影响。2024 年这个领域会发生什么?

Tri Dao:我认为 Transform 仍然是一个非常强大的架构,现在可以扩展到一万亿级别的参数,人们往往想要性能最好的模型,这些模型在硬件上运行效率最高,并且在软件方面拥有最多的支持。

我最近有些新想法,比如状态空间。我们已经看到,正如 Michael 提到的,混合这些组件似乎可以提高性能,我认为在 7B 大小的模型上得到了验证,也许状态空间模型可以在更大规模的模型上起作用。

当前大多数人关注的是基于 Lime 架构的数据和基础设施建设,尽管现有的 Transformer 架构在生产环境中仍然非常强大且得到广泛支持,但也存在一些边缘领域,比如长上下文、音频、基因组学等,研究这些领域中的替代架构会非常有趣。这些领域提出了一些有意义的科学问题,例如模型是否像人类一样理解指令和直觉、是否能与量化方法协同工作等。

此外,即使现在人们还在使用 Transformer 架构,未来可能会融入更多的新思想和组件,例如增加更多的层和注意力机制等,尽管它们可能仍然被称为 Transformer。

简而言之,尽管目前的人工智能领域倾向于保守,专注于现代架构,但新的架构和思想正在逐渐涌现,这些新颖的观点和方法可能会为人工智能的发展带来新的动力和方向。

Michael Poli:是的,我百分之百同意 Tri Dao 的看法,注意力机制作为计算原语依然很重要。注意力机制作为一种高效便捷的方式,可以有效增加序列处理器的状态容量。

状态维度与序列长度之间存在权衡关系,当模型尺寸变大,也就是模型变得更宽时,将有效地引入更多的状态和序列长度。这样一来,一些边际效应可能会消失,而某些权衡将会发生改变,尤其是对于那些非常大的模型,如 14B、30B 这类模型。

未来,架构设计将变得更加有趣和复杂,将会有更多的创新发生。无论是混合模型还是引入新的模块,我们都将看到更多激动人心的创新。

对 AI 更多的预测

Mixture of Experts (MoE) and State Space Models have recently emerged as a popular trend, according to Nathan Lambert.

然而,在开源和学术界,目前还没有人真正尝试在混合专家模型上做早期的尝试和改进。模型嫁接(Model Grafting)现在正在变得更加实用。

跟进这些进展非常有趣,希望这些发展能够为学术界和科学家们提供更多影响行业对话的方法,特别是在目前行业更多关注于扩大模型规模的情况下。我建议开源公司应该在他们的语言模型中进行特定的改进,以获得商业优势。

你们在机器学习方面还关注其他什么吗?它不一定是关于状态空间模型的。明年最让你们兴奋的是什么?

Tri Dao:我个人认为数据仍然是最重要的因素。我们正在深入研究数据如何影响模型性能,例如通过一些与模型性能高度相关的合成任务来进行研究。这种方法一直是我们论文和研究工作中的主要动力和示例。未来一段时间我们将专注于数据领域。

虽然所有的架构工作都很有趣,使其在硬件上高效运行也很有趣,但最终还是关于数据的。如果你了解扩展率(scaling law),你就会知道不同的模型架构通常会有相同的斜率,只是偏移量不同,似乎唯一能改变斜率的是数据质量。

Michael Poli:是的,我们添加了数据。数据确实很有趣,比如在架构设计上的微型化,找出并分解语言建模等任务所涉及的各个方面,我们试图将它们打包成可以用来迭代的东西,这非常令人兴奋。

我个人对新应用,尤其是基因组学工作感到非常兴奋,但更多地是从工程角度出发,我们正看到一个转变。目前,语言仍是获得最多点击和最大兴趣的领域,但我认为这将随着时间的推移而改变。

Nathan Lambert:是的,每个人都在谈论语言,但我觉得图像、视频将会是产生巨大价值的东西。我不知道语言的上限在哪里。我很兴奋,我已经开始尝试这些了,比如我会拿博客的文本,让模型转换成图片,然后转换成带有音频的视频,所有这些都是用一个 Python 脚本完成的,这真的很容易做到。所以我同意你的观点,超越语言的东西很有趣。

Tri Dao:在你的经验中,当你将所有这些东西拼凑在一起时,它们确实能够合理地工作吗?

Nathan Lambert:它还不是那么完美,DALL・E 生成的图片比较相似,但我的做法非常简单,就是直接把文本拿过来,然后用一个系统提示,让模型生成各种各样的图片,我认为我可以做得更好。据我知道,大概在一年内,就会有一个文本到视频的 API,到时我会切换到 API,那种体验会很棒。

Tri Dao:是的,我认为这些进步确实产生了大量的经济价值,我们已经看到了这一点。现在很多公司都开始转向使用这些技术。我认为这将改变我们的工作方式,正如你提到的,改变我们的工作方式和娱乐方式。所以这是一个非常令人兴奋的未来。

原文链接:https://www.interconnects.ai/p/interviewing-tri-dao-and-michael?cnotallow=5d10d34c97637bebcfeba6470c0f0d9b

以上是LLM未来架构:谁有可能动摇Transformer的统治地位?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:51CTO.COM。如有侵权,请联系admin@php.cn删除
ai合并图层的快捷键是什么ai合并图层的快捷键是什么Jan 07, 2021 am 10:59 AM

ai合并图层的快捷键是“Ctrl+Shift+E”,它的作用是把目前所有处在显示状态的图层合并,在隐藏状态的图层则不作变动。也可以选中要合并的图层,在菜单栏中依次点击“窗口”-“路径查找器”,点击“合并”按钮。

ai橡皮擦擦不掉东西怎么办ai橡皮擦擦不掉东西怎么办Jan 13, 2021 am 10:23 AM

ai橡皮擦擦不掉东西是因为AI是矢量图软件,用橡皮擦不能擦位图的,其解决办法就是用蒙板工具以及钢笔勾好路径再建立蒙板即可实现擦掉东西。

谷歌超强AI超算碾压英伟达A100!TPU v4性能提升10倍,细节首次公开谷歌超强AI超算碾压英伟达A100!TPU v4性能提升10倍,细节首次公开Apr 07, 2023 pm 02:54 PM

虽然谷歌早在2020年,就在自家的数据中心上部署了当时最强的AI芯片——TPU v4。但直到今年的4月4日,谷歌才首次公布了这台AI超算的技术细节。论文地址:https://arxiv.org/abs/2304.01433相比于TPU v3,TPU v4的性能要高出2.1倍,而在整合4096个芯片之后,超算的性能更是提升了10倍。另外,谷歌还声称,自家芯片要比英伟达A100更快、更节能。与A100对打,速度快1.7倍论文中,谷歌表示,对于规模相当的系统,TPU v4可以提供比英伟达A100强1.

ai可以转成psd格式吗ai可以转成psd格式吗Feb 22, 2023 pm 05:56 PM

ai可以转成psd格式。转换方法:1、打开Adobe Illustrator软件,依次点击顶部菜单栏的“文件”-“打开”,选择所需的ai文件;2、点击右侧功能面板中的“图层”,点击三杠图标,在弹出的选项中选择“释放到图层(顺序)”;3、依次点击顶部菜单栏的“文件”-“导出”-“导出为”;4、在弹出的“导出”对话框中,将“保存类型”设置为“PSD格式”,点击“导出”即可;

GPT-4的研究路径没有前途?Yann LeCun给自回归判了死刑GPT-4的研究路径没有前途?Yann LeCun给自回归判了死刑Apr 04, 2023 am 11:55 AM

Yann LeCun 这个观点的确有些大胆。 「从现在起 5 年内,没有哪个头脑正常的人会使用自回归模型。」最近,图灵奖得主 Yann LeCun 给一场辩论做了个特别的开场。而他口中的自回归,正是当前爆红的 GPT 家族模型所依赖的学习范式。当然,被 Yann LeCun 指出问题的不只是自回归模型。在他看来,当前整个的机器学习领域都面临巨大挑战。这场辩论的主题为「Do large language models need sensory grounding for meaning and u

ai顶部属性栏不见了怎么办ai顶部属性栏不见了怎么办Feb 22, 2023 pm 05:27 PM

ai顶部属性栏不见了的解决办法:1、开启Ai新建画布,进入绘图页面;2、在Ai顶部菜单栏中点击“窗口”;3、在系统弹出的窗口菜单页面中点击“控制”,然后开启“控制”窗口即可显示出属性栏。

ai移动不了东西了怎么办ai移动不了东西了怎么办Mar 07, 2023 am 10:03 AM

ai移动不了东西的解决办法:1、打开ai软件,打开空白文档;2、选择矩形工具,在文档中绘制矩形;3、点击选择工具,移动文档中的矩形;4、点击图层按钮,弹出图层面板对话框,解锁图层;5、点击选择工具,移动矩形即可。

强化学习再登Nature封面,自动驾驶安全验证新范式大幅减少测试里程强化学习再登Nature封面,自动驾驶安全验证新范式大幅减少测试里程Mar 31, 2023 pm 10:38 PM

引入密集强化学习,用 AI 验证 AI。 自动驾驶汽车 (AV) 技术的快速发展,使得我们正处于交通革命的风口浪尖,其规模是自一个世纪前汽车问世以来从未见过的。自动驾驶技术具有显着提高交通安全性、机动性和可持续性的潜力,因此引起了工业界、政府机构、专业组织和学术机构的共同关注。过去 20 年里,自动驾驶汽车的发展取得了长足的进步,尤其是随着深度学习的出现更是如此。到 2015 年,开始有公司宣布他们将在 2020 之前量产 AV。不过到目前为止,并且没有 level 4 级别的 AV 可以在市场

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境