写点什么

下一代 NLP 模型将走向何方?

  • 2022-11-11
    北京
  • 本文字数:8008 字

    阅读完需:约 26 分钟

下一代 NLP 模型将走向何方?

嘉宾 | 相洋

作者 | 凌敏


作为人工智能的重要子领域之一,NLP (自然语言处理)技术近年来备受关注,在工业界也得到了广泛应用。此前有专家分析称,NLP 即将迎来“黄金十年”,各领域对 NLP 的需求会大幅度上升,并且对 NLP 质量也将提出更高的要求。


本期“InfoQ 极客有约”与“OpenI 启智社区”联合推出的系列直播栏目邀请到了鹏城实验室网络智能部云计算所副所长、OpenI 启智社区 NLP 开源算法库负责人相洋,他将为我们解读 NLP 技术的整体发展,并一同探索下一代 NLP 模型将走向何方。


00:00 / 00:00
    1.0x
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    NLP 迎来“黄金十年”

    InfoQ:前几年有专家判断说 NLP 将迎来“黄金十年”,现在仍是 NLP 的黄金时代吗?


    相洋:我认为是的。现在的大模型相当于从 2017 年底、2018 年初才刚开始火起来,到现在满打满算也就四五年的时间。无论是模型的纵深,比如从小及大;还是模型的横向,比如从 NLP 的通用领域,扩散到其他的一些垂直领域,甚至扩展到其他的行业,如视觉、生物信息等等,这个过程还远远没有结束,应该还有很大的发展空间。因此,现在肯定还是处于一个吃红利的时代。

    InfoQ:近几年,NLP 的整体发展情况如何?有哪些值得关注的技术突破?


    相洋:在 NLP 里面,现在最热门的是预训练技术,也就是大模型技术。一方面,从 2017 年底的 Transformer,到 2018 年、2019 年的 BERT,以及 GPT 等模型出现之后,带来了很多传统的机器学习、深度学习模型所达不到的 SOTA。另一方面,应该也是在 2018 年左右,图神经网络技术的兴起给 NLP 带来了一些新的突破,比如大家可以把一个知识图谱用图的形式去表示出来,再建模,并跟一些主流的 NLP 模型结合,进一步去增强模型对于知识的表达能力和融合能力,这也是一个大的突破。


    此外,NLP 领域也向其他领域进行了迁移,比如在生物信息领域,谷歌提出来的蛋白质折叠系列研究取得了非常好的成果。现在很多人也在想,是不是能用一些类似于 语言的形式表达这样的数据,用 NLP 的方法去建模,也有很多人在做各种各样的尝试。

    InfoQ:近几年 NLP 在医学领域的整体应用还是比较广泛的,根据您的观察也是如此吗?除了医学领域,NLP 在哪些领域还应用的比较多?


    相洋:我在 2017 年下半年去美国德克萨斯州的时候,发现在那里,NLP 跟医疗是紧密相关的。但是在那时,NLP 的应用还不是特别广,那会也正好赶上了 Transformer 这一系列模型的兴起,大家才进一步去用 NLP 的方法在大规模数据上做实验。前期基本上都是一些比较小的实验,比如对电子病历的理解,以及基于病人的历史信息去预测他将来得病的可能性或概率。后来随着大模型的提出,我开始跟他们一起去做流行病、传染病相关的工作,并且用了一些自然语言处理的技术,最后发现结果还挺好,比过去使用传统方法取得的结果还要好。


    这几年我在一线工作,也参与到了一些医学领域的相关研究中,眼见着 NLP 在医学领域开始应用得越来越广泛了,取得的成果也越来越多,在 Nature, Science 也有很多相关研究文章。


    除了医学领域,NLP 技术也被广泛应用在计算机视觉领域,比如 Transformer 现在也被用来编码图像,前两年甚至有一种说法叫做“Transformer 一统世界”,就是说,无论在文本,还是影像、语音,都可以基于 Transformer 的一些架构去建模,并且最终的效果也还不错。目前来看,人工智能最主流的两个领域就是 CV 跟 NLP,一些 NLP 技术通过跟不同的领域融合之后,在 CV 领域也取得了很好的成果。

    InfoQ:今年 9 月 7 日,鹏城实验室正式发布了“鹏程·丝路 2.0”翻译平台,新发布的 2.0 版本主要解决了哪些痛点问题?在技术上有哪些突破?


    相洋:大概在去年五六月份,我们发布了“鹏程·丝路 1.0”,主要的模型是 Bilingual Word Model,就是双语语言模型。打个比方,如果我们要进行中文、俄语之间的翻译,这个模型只能解决中俄的翻译;如果要进行中法的翻译,就需要另外一个模型。也就是说,如果我们有一百种语言需要翻译,那么就需要一百个模型。一方面,这需要有足够的 GPU 去存储这些模型,并且势必会对相关的训练和部署带来很大的困难;另一方面,我们针对语种做定制化研究、深入优化的时候,也会有很多的问题。


    所以,我们在近几年国际上比较热门的研究方式的基础上,提出了一套多语言的机器翻译——一个模型可以去解决 N 个语种。这个模型的训练和部署的困难度整体有所降低,另外,这些语系里面的不同的语言之间是有关联的。


    我们通过构建这种多语言的语言模型,能够通过一些特殊的技术,把语言之间的关系建立起来。这就解决了我们之前遇到的低资源语种的问题。低资源语种可能跟其他的某个语种有些关联性,我们通过这样的多语言模型就能建立这种关联,用高资源语种去促进低资源语种的学习,这也是 2.0 模型提出的最大的一个改进。


    还有一些其他的技术,比如之前我们训练过一些单语种的模型,如盘古模型,我们在这个模型的基础上进一步增强了翻译系统的单语言理解能力。比如加入了英文、中文等很多单语种,在单语种的加持之上,对于机器翻译的编码阶段或解码阶段的语言理解就会更强。还有非常重要的一点就是,现在国际上很多做机器翻译的研究都是以英文为中心语言,而我们做的是以中文为中心语言,解决的是中文到其他语言以及其他语言到中文的翻译。


    为了解决这个问题,我们需要有一套独立的评测数据集,我们与外文局等第三方的语言专家一起建立了一套标准的测试集。这个测试集现在已经涵盖了 30 几个语种,我们在这些语种上与专家一起做了人机协同的优化,才达到了现在这个效果。

    模型参数越大就越好吗?

    InfoQ:为什么最近几年预训练大模型这么火?它主要能解决什么问题?


    相洋:在深度学习刚提出来的时候,传统的信号处理在计算机视觉上面表现比较好。后来,NLP 领域出了一个新的技术叫做 Word Embedding,就是词向量。以一个句子为例,我们把这个句子看作一个一维向量,每个单词再用一个词向量来表示,这个句子就变成了一个二维的表示。这个二维的表示可以像一张图像一样,我们用图像的卷积神经网络等一些方法去处理它,也取得了很好的效果。


    大概在 2013 年,提出了词向量的概念。那么,词向量是怎么训练出来的?它就是通过一些大规模的文本数据进行无监督的训练,然后让词向量的模型去学习到一些模式。比如,单词 A 周围跟它贡献频率最高的是哪些单词,这样就大概能形成一种语言模型。那时我们称之为浅层的预训练,后来随着软硬件技术的不断发展,算力规模也越来越大,浅层的技术才慢慢演化成了深层的技术。


    举个很简单的例子,我们用词向量表示 Apple 这个词,可能就只有一个向量来表示它,有时这个向量表示的是水果,有时表示的是苹果公司。甚至还有一些其他的表意,可能都含在这一个词向量里边了。


    而深层的预训练技术能解决什么问题?就是我们对上下文,通过更多的神经网络层去建模,这样就可以建出更加丰富的语义信息。相当于这个算法对自然语言的单词、句子、段落,出现的场景会理解得更加深一点。简单来讲就是,当模型足够大,足够深,又读过特别多的训练数据之后,能力自然就提升上来了,能力提升之后,再去做一些其他的事情可能就更加得心应手一点。

    InfoQ:对于预训练大模型来说,是参数越大就越好吗?


    相洋:这是一个争议很大的问题。我们最初见到的一些模型是几万个参数,后来就到了几亿、几十亿、百亿、千亿,还有可能上万亿。目前从事实来说,的确是模型越大数据越多,且质量越好,带来的性能是越高的。但是我个人认为,这个提升曲线可能会有一个瓶颈期,到了瓶颈或者平台期的时候,它的上升速度可能就会缓慢,或者说基本就达到稳定了。就目前而言,可能我们还没有到达平台期。所以说,“模型参数越大越好”这个说法在一定程度上是成立的。

    InfoQ:判断一个大模型是否优秀,需要关注哪几方面?


    相洋:要看实际表现,用大模型得出来的任务效果好,我们就可以认为这个模型是个好模型。一般来说,我们可能认为一个预训练模型影响的不只是一个任务,而是一系列任务。比如,我们训练了一个 BERT,如果只在 A 任务上的效果好,就不能认为它是一个特别成功的模型。如果它在 ABCDE 多个任务上的泛化性,或者是提升能力都特别好,我们才认为它算是比较好的模型。


    我认为参数不是问题,当机器无论是在存储还是计算能力都足够强的时候,大模型也可以变成小模型。


    此外,现在很多 AI 模型在可解释能力上是有所欠缺的,也就是说,人工智能模型是一个黑盒子,我们并不清楚它内部做了一些什么魔法,我们输进去一个内容,模型就会输出来一个内容,但是我们并不知道它是怎么得来的。现在我们可能会更理性、更辩证地去看待大模型,比如会考虑到它的可解释能力,如果它有一定的解释能力,我就认为这个模型是一个好模型,这是一个评价标准。


    另一个评价模型优劣的标准是,它是否容易受噪声的攻击。比如,我加进去一些有噪声的样本,原来模型学到的东西立马就变了,从原来预测为 1,变成预测为 0 了,这就涉及到模型的鲁棒性问题。如果一个模型不易被这样的噪声数据,或者是其他因素影响的话,我们认为它就是一个好的模型。

    InfoQ:如何评价这几年预训练大模型的整体发展?从发展历程上来看,预训练大模型经过了哪些重要阶段,有没有一些超出您预期的进展或成果?


    相洋:第一阶段是前面提到的浅层的预训练模型阶段,大概是从 2013 年开始,到 2017 年下半年 Transformer 问世,这也可以看做是大规模预训练模型的起步阶段。


    第二阶段,模型开始野蛮生长。从一开始是几百兆的规模,发展到百亿、千亿、万亿,再后来发展成了要用一些其他的技术,比如并不是传统的稠密模型,而是新的稀疏模型,它的连接并不是全连接的,可能会通过一些混合专家系统(MoE)技术去实现更加大型的、超过万亿或者是十万亿的模型。


    横向来讲,大概分为两类,一类叫自编码,包括像 BERT 这一系列的模型。这类模型在训练过程中把一个单词盖住,用周围其他的单词去预测这个单词,重建这个句子。另一类叫做自回归,以 GPT 为代表,这类模型在训练过程中会把最后一个单词空出来,用前面这些单词去预测这个单词,这样循环迭代,从而把一个句子预测出来。


    整体而言,大模型的发展是超出我的预期的。本来预训练大模型能取得成功已经超乎大家预期了,没想到在深度学习出现在这么多年之后,针对原来的技术又突然产生了一些革命性的变革,或者是一些颠覆性的成果。比如,原来的一些任务预测的准确率只能到 30%-40%,现在一下提到了 70%-80%,这是一个特别颠覆的成果,已经给我们带来了很多意想不到的收获。


    随着大模型技术纵向、横向的扩展和更新,也有一些新的研究方向延伸出来,并取得了不小的关注。比如,一些新的大模型更加倾向于小样本或者是 0 样本学习,等等。


    从传统意义上来讲,深度学习相对于传统的统计机器学习,数据要多一点,几十条、几百条的数据可能训练不出一个特别好的深度学习模型,几千条或者几万条、几十万条的数据才能得到比较好的效果。有了预训练模型之后,我们会发现,它所需要的数据量变少了。


    此外,还有一个新技术叫做 Prompt,即提示。具体来说,在训练完大模型之后,应用的时候加一个提示,能更加有利于模型去做一些小的任务,并进一步减少模型训练所需要的数据量。这个技术是我这两年看到的,算是在大模型之后比较有突破的技术,也算是带领大模型实现了一个飞跃。

    InfoQ:预训练大模型从技术向产业落地的路径是什么?


    相洋:据我了解,百度、阿里、腾讯、科大讯飞等公司都已经在用大模型了,我认为产业落地不是一个问题。比如百度文心大模型,比百度之前的搜索效率提高了 40% 以上,带来了很多效能上的提升,说明至少在这些互联网公司中,大模型已经开始落地了,而且落地的效果还挺好。


    作为企业来讲,想要用好大模型,首先,要确定需求到底是什么,你的需求是通过一个简单的模型就能解决,还是需要这样的大模型才能解决。企业需要去平衡一下大模型的能力到底是不是你需要的,它的投入产出比是否合适,性价比高不高,如果没有问题就可以去用。


    另外,企业也要评估一下自己到底有没有这样的实力,比如,有很多大模型的参数量很大,模型也很大,要是部署到自己的机器上,或者部署到某些云上的时候,需要有很好的资源条件才能用起来。因此,企业在采用大模型之前也需要评估,是否值得投入大量的硬件设备。

    面向未来的 NLP 模型

    InfoQ:下一代 NLP 模型的发展趋势是什么样的?在未来有哪些值得关注的方向?


    相洋:第一,传统意义上,大模型需要大量的数据、算力,训练很久才能训练出来。那么,我们如何才能更高效地去训练大模型?这个问题肯定是我们在未来需要解决的。如果在未来,我们能够在有限的资源下,快速地对大模型进行更新迭代,这对于人工智能产业将大大有利。


    第二,就是模型的可解释性。这一直是机器学习模型,包括现在的深度学习、大模型遇到的一个难点,将来我们如何通过一些知识融入,包括因果推理等等,去进一步增强模型的解释性,可能也是一个非常热门的方向。


    第三,最近我看到很多社区、微信群里在使用百度文心做的文本生成图像工具,输入一段文字,它就可以根据这些词去生成一幅图画。这是一个多模态的问题,从文本到图像的生成过程。这里面还体现了一个问题,即可控文本生成,也就是说,生成的内容是经过一些控制去生成的,而不是随意生成的。现在大模型生成文本的过程很多时候是不可控的,它可能生成的是一句话,但这句话只能保证语法和流畅度,它在逻辑或是常识性等方面是比较缺乏的。我们怎么通过技术去让这个模型生成的句子、图像更加可信、可靠?这也未来需要关注的一个方向。


    第四,我认为 NLP 以及大模型能在更多领域发挥作用,比如现在比较热门的元宇宙、VR、AR 等方面,能结合现在的一些可视化元素,让虚拟的场景、虚拟的人以及虚拟的社区,更加具有人性化。有自然语言做加持,人与人之间的沟通可能在元宇宙中更加通畅。

    InfoQ:在未来,NLP 技术在元宇宙中是否会有一些具体的落地应用?


    相洋:我也一直在思考这个问题。现在很多人在讲元宇宙虚拟主播的概念,虚拟主播除了外形看起来比较科幻,还是需要具备一些与人类交互的能力。这就涉及到人机交互非常重要的一环,即怎么去理解人类的语言,然后生成人类的语言,表达自己的感情,甚至是发出自己的声音。这些可能都跟 NLP 技术相关。

    如何才能快速入门 NLP?

    InfoQ:有用户提问,现在 NLP 方向的就业前景怎么样?


    相洋:NLP 方向的就业前景还是可以的,现在很多大厂比如 BAT、华为、字节跳动、科大讯飞等等,还有一些初创企业,都需要大量的 NLP 人才。而且当你掌握了一些 NLP 技术之后,你也可以从事与 NLP 相关的其他工作,比如推荐等等。如果大家对这个方向感兴趣,希望大家能够进一步增强自身的实力,把 NLP 的技术掌握到极致,这样将来找工作也是没有问题的。

    InfoQ:小白如何才能快速入门 NLP?有哪些书籍推荐吗?


    相洋:第一,大家需要先去了解到底什么是 NLP,NLP 能干什么。可以去网上看专家讲解、视频报告,也可以与自己周围的老师、同学、前辈多交流一下。先把 NLP 概念以及要做得事情搞明白,明确自己是不是对 NLP 这项技术,或者对 NLP 其中的某几项技术感兴趣。


    第二,当你明确自己确实想往 NLP 方向发展的时候,就要针对自己关注的一项技术去找网上的公开课,比如斯坦福等学校有很多专家课专门讲自然语言处理、深度学习、机器学习等等,在掌握一些基础知识后,还要看一些 NLP 相关的论文,或是论文解读、相关文章,等等,这能够帮助大家更快地去理解一些 NLP 的知识。


    第三,动脑和动手需要结合,不能只去看理论。希望大家可以从社区,比如启智社区、GitHub 等等,找一些比较有代表性的算法以及模型库,自己拿过来跑一跑,针对自己感兴趣的问题,可以尝试调改,把理论学习和实践相结合,才是一个比较完整有效的入门 NLP 的方式。


    书籍方面,我最初接触 NLP 的时候,用的是李航老师写的《统计学习方法》。此外,还有一本复旦大学邱锡鹏老师写的《神经网络与深度学习》,这本书相对比较新,里面涉及到了很多神经网络、深度学习以及自然语言处理比较新的技术,包括预训练技术,等等。还有一本比较传统的书籍叫做《Deep learning》,自然语言处理离不开机器学习、深度学习,在这本书里,除了理论,还重点讲了一些自然语言处理例子,大家可以做参考。从理论到实践,循序渐进去掌握这些知识。

    InfoQ:有用户提问,NLP 算法工程师的核心竞争力是什么?


    相洋:是 NLP 算法底层的一些算法理解能力,而并不是应用能力。当你能够把 NLP 的一些底层原理、底层算法掌握好,融会贯通之后,才能够对模型的改进、使用、集成等更加得心应手,我认为这才是 NLP 算法工程师的核心竞争力。

    开源是现代 AI 软件发展的必然趋势

    InfoQ:您是如何理解开源,以及开源的价值?


    相洋:开源领域我还是个入门者,过去没有太多考虑开源的问题,近几年,鹏城实验室在开源方面做了很多工作,包括 OpenI 的理事长就是鹏城实验室主任高文院士,我们也会更多地参与到开源工作中,比如我们专门有一支团队去从事 OpenI 启智社区的建设,还有运维等工作。


    我现在对开源的理解可能还是比较浅显的,这也是我个人的一些见解。我认为,开源可能是现代 AI 软件的大势所趋,它不同于过去那种自顶向上的模式,它是自底向下的,我们从大众出发,从开发者出发,从用户出发去做一些事情,从需求入手去把开源的产品不断地更新、迭代出来。这种模式对于开发者来讲,可能成本会更低;对于企业来讲也能够快速地对新产品进行迭代;对于用户来讲,也可以快速地去得到他想要的一些功能或产品,用户也可以通过开源社区,把自己的需求直接提给原创的开发者,进而开发者可以快速地解决用户的需求。


    总体来讲,现在这种开源的模式能够进一步增强 AI,或者是机器学习产品的更新和迭代。

    InfoQ:OpenI 社区最吸引您的地方是什么?未来将会在哪些方面助力开源?


    相洋:我之前一直在用 GitHub,回国之后发现,我自己以及我的团队都在抢计算资源,但是在 OpenI 社区,它们提供了很多免费的资源,我们很容易就能抢到英伟达的 A100,或者昇腾 910 这样高性能的显卡,这是比较吸引我的点之一。


    另一方面,OpenI 为了方便我们应用这些显卡,建立了一套流水线式的程序训练,还有数据上传的模式,这一套工具能够方便我们更好地去利用这些资源,让我们更快地进行模型的训练和部署。


    开源项目方面,目前我们有一个课题专门做开源算法库,并贡献一些 NLP 相关的算法库到 OpenI 社区中,也有强化学习、图神经网络等技术方向的开源项目。此外,我们云计算所也承担了一些 OpenI 启智社区相关的建设和运营工作,我们也会协助社区做更多的推广和开源活动,来进一步提高社区的影响力。


    现在,OpenI 启智社区已经接入了中国算力网的算力。除了鹏城云脑,中国算力网还连入了全国其他地方的智算、超算的一些集群、机器,我们都可以使用。相当于我们帮助社区把它的算力网的算力底座给建设好了,这也是对社区的一个非常大的贡献。

    InfoQ:接下来您在科研方面有哪些规划,对于想加入鹏城实验室的网友,有哪些寄语?


    相洋:我们这个的团队是做自然语言处理的,主要和预训练模型相关,包括怎么去更高效地训练模型,怎么做模型的压缩、剪枝、蒸馏,还有模型的推理能力、解释能力等等。


    此外还有很多自然语言处理方向的应用,比如机器翻译、情感分析、医学 NLP 等等。这几个技术领域我们在 OpenI 启智社区也有开源算法,大家可以去搜索 https://git.openi.org.cn/PCLNLP,可以找到我们团队在 OpenI 上面的主页,里面也有很多开源的算法库。


    对鹏城实验室感兴趣的小伙伴,我想说的是,鹏城实验室具有非常好的资源,比如在这里可以跟许多院士、学术界的权威专家一起讨论问题,交流合作。另外,我们跟华为、腾讯、百度等头部企业有深度的合作,比如联合实验室等等,也会经常跟这些企业的专家们进行联合开发、联合攻关。我认为这是非常难得的机会,我们能够与学术大佬在一起交流合作的同时,也能跟企业的前辈、专家们一同开发、一同学习。这是鹏城实验室所具备的一些特有的优势,也希望想获得更多机会、更多机遇的小伙伴们能够关注鹏城实验室。

    2022-11-11 08:306150

    评论

    发布
    暂无评论
    发现更多内容

    五位阿里大牛联手撰写的《深入浅出Java多线程》

    Java 程序员 后端

    什么是接口的幂等性,如何实现接口幂等性?,mongodb实战第二版下载

    Java 程序员 后端

    001|看!Swift 与 C++ 的交互性

    棒棒彬👻

    swift 编程语言 CocoaPods 编译优化

    今日头条一面:十道经典面试题解析(1),阿里巴巴java面试几轮

    Java 程序员 后端

    五、redis配置信息以及常用命令,java语言程序设计基础篇第十一版pdf

    Java 程序员 后端

    京东热-key-探测框架新版发布,单机-QPS-可达-35-万

    Java 后端

    从一道 LRU 算法题说到缓存淘汰策略,Java常用面试集合

    Java 程序员 后端

    从月薪 1000 到 2W+,文科生如何逆袭成为大厂程序员

    Java 程序员 后端

    五分钟搞懂spring-cloud-square,linux服务器开发需要的技术

    Java 程序员 后端

    什么?我往Redis写的数据怎么没了?,java自学教程百度文库

    Java 程序员 后端

    今日头条一面:十道经典面试题解析,我的腾讯Java面试经历分享

    Java 程序员 后端

    从0到1,阿里巴巴定制版的JVM高手实战清单!深度广度环环相扣

    Java 程序员 后端

    云服务器下centos7,nginx面试题

    Java 程序员 后端

    五分钟!搞懂 MySQL主从复制原理,还不会算我输

    Java 程序员 后端

    为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?

    Java 程序员 后端

    二、docker 镜像容器常用操作(让我们用docker 溜得飞起)

    Java 程序员 后端

    架构实战营模块二作业

    孙志强

    架构实战营

    产品经理必懂的技术那点事儿(中),mybatis基本工作原理

    Java 程序员 后端

    000|发刊词:与技术世界保持链接

    棒棒彬👻

    技术 知识分享

    主动学习微服务架构深度解析:微服务的采用前提,微服务使用场景

    Java 程序员 后端

    什么会导致Java应用程序的CPU使用率飙升?,spring快速入门教程

    Java 程序员 后端

    Vue进阶(幺伍玖):动态样式设置

    No Silver Bullet

    Vue 样式设置 11月日更

    从国企到互联网,程序员六年四段经历,一份被很多 HR 刷掉的简历

    Java 程序员 后端

    从外卖员到程序员,自学3年终于转行成功,三面

    Java 程序员 后端

    什么是服务网格?,P8级别的顶级“并发编程”宝典

    Java 程序员 后端

    今年面试大厂屡屡失败,一波三折最终入职拼多多java岗,我经历啥

    Java 程序员 后端

    从JVM锁到Redis分布式锁,对小白十分友好,java最新技术栈百度网盘

    Java 程序员 后端

    为什么不想做Java了,6年经验去面试10分钟结束,现在Java面试怎么这么难

    Java 程序员 后端

    【Flutter 专题】22 图解 PopupMenu 那些事儿

    阿策小和尚

    Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

    京东4面(Java研发):事务隔离,java程序设计案例教程机械工业出版社

    Java 程序员 后端

    从 Java 到 Scala,再到 Kotlin,java面试知识点太多

    Java 程序员 后端

    下一代 NLP 模型将走向何方?_文化 & 方法_凌敏_InfoQ精选文章