• [交流吐槽] 【appcube】实战训练--请假电子流--教程chm,部分问题/异常反馈
    租户名:inspur_wll项目:请假BPM背景:①在依照给与的教程,进行学习中发现一些小问题,进行一下反馈②教程在功能介绍上没有大的问题,但是在学习和搭建过程中,会出现因为某些前置条件,因为按教程走时候还没有设置,导致搭建过程中,本地调试样式和教程不同,会造成困惑。举例:①创建APP--创建脚本及服务编排--创建查询请假记录脚本(queryLeaveRecord)这里创建了一查询的脚本,输入"username": 对应的当前租户账号的“userId”。 可以进行查询但是初学者在这一步会无法调试出来输出参数因为,设置员工信息(不管是给开发者账号,还是定义的子租户),在最后的【业务功能调试】,在①中步骤时候,没有进行员工信息设置,因此会无法返回输出参数。个人在这里就卡了很久,最后才发现了问题② 与①类似,若没有提前进行【员工信息】设置,创建APP-创建前端页面--验证页面效果中 ,因为没有进行员工信息设置,无法关联出 员工信息③还一些教程上前后矛盾地方,重点在创建APP--创建前端页面--创建请假审批页面(LeaveApprove)上。(一)  3. c步骤中,为leaveInfo模型添加字段,添加了5个。 8.b 对“lable”组件进行属性值绑定,但是 请假时长:leaveInfo,leaveDays 。在之前设置的leaveInfo 中并没有leaveDays字段(二) 4.定义自定义模型“comments”,只是创建了模型,没有说明添加字段。7.j中要求:选中“comments”输入框,修改“标签”为“审批意见”。若模型“comments”中没有设置字段,理论上是没有输入框的, 自己手动给模型“comments”添加了“comments”字段才能进行下去  希望给与的CHM中,可以对前2个问题,多加一些说明。比如,如无法调试成功,可以在【人员信息】设置后,再返回调试。创建请假审批页面(LeaveApprove),这个教程中需要更严谨一些。
  • [其他] 分享——Science 好文:机器人学习瓶颈如何突破——建立归纳偏置方法1(2)
    如何巧妙建立归纳偏置? 基于先验知识或结构的观点不一定是“真知灼见”。 强化学习领域的先驱者Richard Sutton坚信,人类不应该将任何先验知识构容纳到学习系统中,因为纵观历史,这种做法往往是错的。Richard Sutton的文章引起了强烈的反响,并指明了学习系统设计中的一个关键问题:在学习系统中建立什么样的归纳偏置,才能使系统具有从大量数据中学习可泛化知识、又不会因为数据不正确或过约束而失灵呢? 目前有两种设置恰当偏置的方法。这两种方法具有连贯性,但具有不同的时间范围和权衡取舍(trade-offs),可以同时应用于寻找学习智能体所需的强大而灵活的先验结构。 方法1:在“元”层面运用机器学习技术 这种方法指的是,在系统设计阶段,离线使用机器学习技术来发现能提高智能体在线学习效率的结构、算法和先验知识。 元学习的基本概念至少从上世纪80年代在机器学习和统计学中出现,基本思路是:在系统设计阶段,元学习过程便能访问系统在线学习时可能面临的许多潜在任务或环境的样本。 元学习器的目的不在于掌握适应单个环境的多种策略或适用于全部环境的单项策略,而是掌握一种在线学习时面临新任务或新环境时也尽可能高效学习的算法。这个目标可以通过在训练任务间引入共性,并使用这些共性形成有力的先验或归纳偏置,使在线学习的智能体只学习那些将新任务与训练任务区分开来的方面。 元学习可以非常出色地形式化为一种分层的贝叶斯(概率)推理。在这种推理形式中,训练任务可以看作是在提供在线学习的任务会如何表现的证据,并基于这些证据利用好在线学习所获得的数据。但是,贝叶斯形式在计算上可能很难实现,因为它是对系统设计阶段中所遇到的大量任务进行推理,其中也可能包含在线学习的实际任务。 转自陈彩娴     ,https://www.leiphone.com/category/academic/VV75HfxY7dwQPurq.html
  • [其他] 神经切线核训练动力学的架构通用性
    Yang (2020a)最近指出,神经切线核(NTK)在初始化时具有无限宽的限制,适用于许多架构,包括现代的主要架构,如ResNet和Transformer。然而,他们的分析并不适用于训练。在这里,我们展示了同样的神经网络(在所谓的NTK参数化中)在训练过程中遵循函数空间中的核梯度下降动力学,其中核是无限宽NTK。这就完成了NTK行为体系结构通用性的证明。为了得到这个结果,我们运用张量程序技术:在一个张量程序中编写整个SGD动态,并通过主定理分析它。为了便于证明,我们开发了一个张量程序的图形符号。
  • [其他] 分享IMPALA:大规模强化学习算法
    论文名称:Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures作者:Lasse Espeholt / Hubert Soyer / Remi Munos / Karen Simonyan / Volodymir Mnih / Tom Ward / Yotam Doron / Vlad Firoiu / Tim Harley / Iain Dunning / Shane Legg / Koray Kavukcuoglu发表时间:2018/6/28论文链接:https://arxiv.org/abs/1802.01561推荐原因这是并行RL算法领域引用最为高的一篇文章。文章和以往做的工作不同,不仅仅有工程上实验效果的大幅提升,还做了理论的分析解决了on-policy与off-policy的训练差异问题,整体工作是相当solid的。作者同时启动了多个Actor和一个Learner,每个Actor都是包含整个policy参数的,负责和环境交互产生数据,Learner是负责训练参数还有同步参数给Actor的。这就有个问题了,参数同步会有无法避免的延迟,那这个就违背了On-policy算法的更新原则,作者提出了一种很好的方式解决这个问题,对有延迟的数据进行修正使得on-policy的训练方式可以继续进行。转自AI科技评论,https://www.leiphone.com/category/academic/SUjAO0ZQwOFFm2Lq.html
  • 【邀请好友拿大奖】报名DevCloud训练赛,赢平板、移动电源、音箱!
    参加华为云DevCloud训练赛完成学习挑战不仅自己参加训练营可以获奖分享邀请还可以瓜分拿到更多大奖快带着你的小伙伴一起来吧!>>戳此处立即报名<<邀请时间:2021年5月19日——5月31日 15:00奖项内容:>>戳此处立即报名<<>>戳此处立即报名<<>>戳此处立即报名<<说明:1、邀请数据:每日的邀请情况将持续更新此贴的评论区,工作日更新(由于系统原因,数据为延后1天公示,如25日公布的是24日的邀请情况);2、以上所有奖项均不兼得3、邀请人数需要是新注册用户方才有效哦~(新注册用户时间:需在2021年5月12日后);4、如果出现邀请人数一致的情况,以参与活动的时间先后为准,请留意公示名单;5、抽奖将通过官方程序进行,抽奖过程的录屏视频,将和中奖名单一共公示。排行榜:排行榜将持续更新至此贴中,评论区置顶,工作日更新;(系统原因,数据为延后1天公示,如25日公布的是24日的邀请情况)规则:1、参加训练赛的同学,>>戳此立即报名<<2、报名成功后,点击“分享大赛”,即可生成你的专属链接和二维码:3、邀请数据:每日的邀请情况将持续更新此贴的评论区,工作日更新;4、奖品领取:请将华为云账号+排行榜所在位置+收货地址,评论在此贴中,完成信息登记,内容仅工作人员可见。待核对完成后,将逐一安排发奖。5、奖品预计于活动结束后14个工作日内完成发放,感谢耐心等待。 6、大赛一切解释权归华为所有。如有问题,请联系华为云天津小助手。(微信号:TJhuaweiyun)
  • [技术干货] DataOps、MLOps 和 AIOps,你要的是哪个Ops?
    如何在 DataOps、MLOps 和 AIOps 之间进行选择?大数据团队应该采取哪种 Ops?两年前,由于我领导的运维团队效率低下,我“赢得”了耻辱的勋章。我具有数据科学和机器学习的背景,因此,我们想当然的从工程团队的同事那里学来了 DevOps。至少我们是这么认为的。这在当时对我们来说是不可思议的,因为我们的数据科学家就坐在数据工程师的旁边。我们遵循了所有好的敏捷实践——每天开站会,讨论阻碍我们的因素,并没有那种“隔墙扔砖”的状态。我们密切合作,我们的科学家和工程师彼此相爱。但进展很缓慢,团队成员很沮丧。过了两年,我终于理解了 DevOps 的真正含义。它在数据团队中是如此的相同,又是如此的不同。在讨论以数据为中心的 Ops 之前,让我们先从软件开始。它们有太多的相似之处和对比了,请耐心听我说……自从 2000 年末 DevOps 普及以来,软件行业就一直痴迷于各种 Ops 术语。十年前,从软件开发到部署的方式早已推陈出新。软件工程师开发应用程序,然后将其交给运维工程师。应用程序在部署过程中经常会出现故障,并在团队之间造成重大摩擦。DevOps 实践的目的是使部署过程更加顺畅。其理念是将自动化视为构建和部署软件应用程序的一等公民。这种方式彻底改变了整个行业。许多组织开始通过组建跨职能的团队来管理整个 SDLC。团队会搭建基础设施(基础设施工程师),开发应用程序 (软件工程师),构建 CI/CD 管道(DevOps 工程师),部署应用程序(每个工程师),然后持续监控和观察应用程序 (站点可靠性工程师)。在一个大型的团队中,不同的工程师都有各自的主要职能。但在较小的团队中,一名工程师往往要扮演多种角色。理想的情况是让许多团队成员能够履行多项职能,这样就可以消除瓶颈和对关键人员的依赖。所以实际上……DevOps 与其说是一项工作职能,不如说是一种实践或文化。在构建任何软件时都应该采用它。随着 DevOps 的兴起,各种 Ops 也应运而生了。软件开发世界中存在的各种 Ops,作者制作SecOps 以安全为核心,GitOps 致力于持续交付,NetOps 确保网络能够支持数据流,ITOps 专注于软件交付之外的运维任务。但总的来说,这些 Ops 的基石都是源于 DevOps 承诺的愿景:“以最低的错误率,尽可能快的速度交付软件”五年前,所有人都鼓吹“数据是新石油”(Data is the new Oil)。世界各地的领导者开始投入大量资源,组建大数据团队来挖掘这些宝贵的资产。对这些团队来说,交付的压力是巨大的——毕竟,我们怎么能辜负“新石油”的承诺呢?随着业务的快速扩张,分析团队也经历了同样的悲痛。然后我们实现了所有的一切。数据科学家成为了 21 世纪最性感的职业。我们正处于数据和分析的黄金时代。每个高管都有一个仪表盘。这个仪表盘包含了来自整个组织的数据和嵌入的预测模型。每个客户都有一个基于其行为的个性化推荐。但是,现在添加一个新功能需要花费数周甚至数月的时间。数据模式很混乱,没有人知道我们使用的活跃用户定义是来自信贷团队的还是来自营销团队的。我们在将模型投入生产时变得谨慎,因为我们不确定它会带来什么破坏。因此,以数据为中心的社区站在了一起,承诺不会因为管理不善而导致效率低下。从那时起,各种以数据为中心的 Ops 也应运而生了……在以数据为中心的团队中诞生的各种 Ops: DataOps、MLOps、AIOps,由作者制作1DataOps vs MLOps vs DevOps(以及 AIOps?)注:在本文中,分析团队是指使用 SQL/PowerBI 来生成业务洞察力的传统 BI 团队。AI 团队是指使用大数据技术构建高级分析和机器学习模型的团队。有时他们是同一个团队,但我们会将他们分开,这样能更容易地解释相应概念。为了理解所有这些不同的 Ops,让我们来看一下数据是如何在组织中流动的:通过客户与软件程序的交互产生数据。软件将数据存储在应用程序的数据库中。分析团队根据这些来自不同团队的应用程序数据库构建 ETL。分析团队为业务用户构建报表和仪表盘,以协助他们做出以数据为驱动的决策。然后,数据工程师将原始数据、合并了的数据集(来自分析团队)和其他非结构化的数据集整合到某种形式的数据湖中。然后,数据科学家利用这些海量的数据集建立模型。然后,这些模型利用用户生成的新数据进行预测。然后,软件工程师将预测结果呈现给用户,这样的循环不断进行下去……我们知道,DevOps 的诞生是由于开发团队和运维团队之间产生了摩擦。因此,可以想象一下,在运维、软件、分析和 AI4 个团队之间进行交互会有多痛苦。为了说明这些不同的 Ops 是如何解决上述过程的,这里有一个图表,它绘制了每个工作职能在整个时间轴上所执行的一些任务。每个工作职能在时间轴上所执行的任务图,由作者生成理想情况下,应在项目开始时采用 X-Ops 文化,并在整个过程中实施。总体而言之,以下就是每种 Ops 的具体含义:DevOps 更快地交付软件一系列旨在消除开发和运维团队之间障碍的实践,以便更快地构建和部署软件。它通常会被工程团队所采用,包括 DevOps 工程师、基础设施工程师、软件工程师、站点可靠性工程师和数据工程师。DataOps 更快地交付数据一系列旨在提高数据分析质量并缩短分析周期的实践。DataOps 的主要任务包括数据标记、数据测试、数据管道编排、数据版本控制和数据监控。分析和大数据团队是 DataOps 的主要操作者,但是任何生成和使用数据的人都应该采用良好的 DataOps 实践。这包括数据分析师、BI 分析师、数据科学家、数据工程师,有时还包括软件工程师。MLOps 更快地交付机器学习模型一系列设计、构建和管理可重现、可测试和可持续的基于 ML 的软件实践。对于大数据 / 机器学习团队,MLOps 包含了大多数 DataOps 的任务以及其他特定于 ML 的任务,例如模型版本控制、测试、验证和监控。附加:AIOps 利用 AI 的功能增强了 DevOps 工具有时人们错误地将 MLOps 称为 AIOps,但它们是完全不同的。以下说明来自 Gartner(高德纳,美国咨询公司):AIOps 平台利用大数据、现代机器学习以及其他先进的分析技术,直接或间接地增强 IT 运维(监控、自动化和服务台),具有前瞻性、个性化以及动态的洞察力。因此,AIOps 通常是利用 AI 技术来增强服务产品的 DevOps 工具。AWS Cloud Watch 提供的报警和异常检测是 AIOps 的一个很好的例子。2是原则不是工作角色存在的一种误解是:为了达到这些 Ops 所承诺的效率,需要从选择正确的技术开始。事实上,技术并不是最重要的。DataOps、MLOps 和 DevOps 的实践必须是与语言、框架、平台和基础设施无关的。每个人都有不同的工作流程,该工作流程应该由相应的原则来决定,而不是你想要尝试的技术,或者最流行的技术。技术先行的陷阱是,如果你想用锤子,那么一切对你来说都像是钉子。所有的 Ops 都具有相同的 7 个首要原则,但是每个原则又都有其细微的差别: 1. 合规DevOps 通常会担心网络和应用程序的安全性。在 MLOps 领域,金融和医疗保健等行业通常需要模型的可解释性。DataOps 需要确保数据产品符合 GDPR/HIPPA 等法规。工具:PySyft 能够解耦模型训练过程中的私有数据,AirClope 能够匿名化数据。Awesome AI Guidelines 能够基于 AI 的原则、标准和规范进行管理。 2. 迭代开发该原则源于敏捷方法论,它专注于以可持续的方式不断地产生业务价值。产品经过迭代设计、构建、测试和部署,以最大程度地实现快速失败并不断学习。 3. 可重现性软件系统通常是确定性的:代码每次都应该以完全相同的方式运行。因此,为了确保可重现性,DevOps 只需跟踪代码即可。然而,机器学习模型经常会因为数据漂移而被重新训练。为了重现结果,MLOps 需要对模型进行版本控制,DataOps 需要对数据进行版本控制。当被审计师问到“产生这个特定的结果,需要使用哪个模型,需要使用哪些数据来训练该模型”时,数据科学家需要能够回答这个问题。工具:实验跟踪工具,比如 KubeFlow、MLFlow、SageMaker,它们都具有将元数据链接到实验运行中的功能。Pachyderm 和 DVC 可用于数据版本控制。 4. 测试软件测试包括单元测试、集成测试和回归测试。DataOps 需要进行严格的数据测试,包括模式变更、数据漂移、特征工程后的数据验证等。从 ML 的角度来看,模型的准确性、安全性、偏差 / 公平性、可解释性都需要测试。工具:像 Shap、Lime 这样的库可用于可解释性,fiddler 可用于解释性监控,great expectation 可用于数据测试。 5. 持续部署机器学习模型的持续部署由三个组件构成:第一个组件是触发事件,即触发器是数据科学家的手动触发器、日历计划事件和阈值触发器吗?第二个组件是新模式的实际再培训。生成模型的脚本、数据和超参是什么?它们的版本以及它们之间的联系。最后一个组件是模型的实际部署,它必须由具有预警功能的部署管道进行编排。工具: 大多数的工作流管理工具都具有此功能,比如 AWS SageMaker、AzureML、DataRobot 等。开源工具有 Seldon、Kubeflow 等。 6. 自动化自动化是 DevOps 的核心价值,实际上有很多专门针对自动化各个方面的工具。以下是一些机器学习项目相关的资源:Awesome Machine Learninghttps://github.com/josephmisiti/awesome-machine-learningAwesome Production Machine Learninghttps://github.com/ethicalml/awesome-production-machine-learning 7. 监控软件应用程序需要监控,机器学习模型和数据管道也需要监控。对于 DataOps 来说,重要的是监控新数据的分布,以发现是否有任何数据和 / 或概念的漂移。在 MLOps 领域,除了模型降级之外,如果你的模型具有公共 API,那么监控对抗性攻击也是至关重要的。工具: 大多数工作流管理框架都具有某种形式的监控。其他流行的工具包括用于监控度量指标的 Prometheus,用于数据和模型监控的 Orbit by Dessa。3结论采用正确的 X-Ops 文化来加快数据和机器学习驱动的软件产品的交付。请记住,原则胜过技术:培养跨学科技能: 培养 T 型个人和团队(弥合差距,协调问责制)尽早实现自动化(足够): 集中在一个技术栈上并实现自动化(减小工程过程的开销)以终为始: 在解决方案设计上提前投资,以减少从 PoC 到生产的摩擦
  • [行业动态] 自动写代码指日可待!Facebook迁移学习新突破,代码补全准确率超50%!
    --- 本文转载自 新智元 > 程序员的工作就是取代重复、算法可替代的工作,而他们自己也在研究如何取代自己。Facebook新发表的代码补全模型准确率超50%,动动手指就能写几百行代码! 代码补全(code AutoCompletion)就是在写代码的时候,IDE能够预测出下一段要写的代码,也是写代码时候选择使用IDE的重要原因。 最近的相关研究表明,自动补全可以通过深度学习来实现,使软件语言模型能够通过对从程序员的 IDE 活动中收集的真实世界数据集进行训练,来实现显著的准确性提高。 不过,对于那些没多少人用的编程语言来说,一个常见问题是,可用的 IDE 数据集可能不足以进行训练。 对于这个问题,Facebook的研究人员最近在arxiv上公开了自己在代码补全上的工作。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/25/142814cfxvawacdj2cqzsc.png) 他们在文中展示了迁移学习是如何能够在微调之前完成自动补全任务的,这种训练不局限于 ide和特定语言,能够针对各种各样的示例代码序列进行预训练。 该方法在非常小的微调数据集上提高了50% 以上的模型精度,在50k 个带标签样例的数据集上提高了10% 以上的精度。 在软件社区中,所有主要编程语言的大量开源代码提交都可以在 GitHub 上找到。 毫无疑问,这些代码的提交和开发人员在 IDE 上的活动有着直接的联系,例如vscode, intellij等会有不同的补全方式,也会直接体现在代码中。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/25/1428228psslmjmxdpduwuw.png) 因此,如果能够在建模代码编写行为时使用这些commit中的知识,那对于自动补全任务来说是有益的。 由于在所有编程语言中都存在一些共享概念和结构,例如数据类型、面向对象等思想设计,所以研究人员建议将这些语言知识从使用人数更多的编程语言(如Python, Java)转移到标记数据不足的其他小众语言中。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/25/142830axjepibdpruiwohq.png) 这项研究中的数据集来自 Facebook 的一些开发者活动,主要关注流行的编程语言 Python 和不太流行的语言 Hack。 该团队首先训练了来自 Hack 或 Python 的各种单语模型,以及来自两种语言的多语模型。为了从开放词汇表中有效地识别和预测很少被使用的关键词和两种语言之间不同的关键词,他们采用了两种标记方法: 字节对编码(Byte-pair encoding,BPE)和 Bigram 编码。 为了测试迁移学习的效果,他们使用了两个文本生成模型GPT-2和 PLBART-并评估了两个在线和离线模型的性能。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/25/142837ntt7sd1a2qqgitne.png) 最后论文中总结了他们的贡献和实验结果: 1、对从git提交获得的源代码文件预先训练两个 transformer语言模型 GPT-2和 BART,结果显示它们在自动补全预测方面的性能,比直接使用实际 IDE 代码序列的微调提高了2.18%。也就是说迁移模型取得了更好的效果。 2、GPT-2模型是在两个真实世界的数据集上训练的: 在 IDE 上写的和代码补全选择期间记录的代码序列。预训练和特定任务的微调相结合能够产生一个更好的模型,比基本模型的性能高出3.29%。 3、文中展示了使用不同的编程语言进行预训练,在比较使用 Hack 示例进行预训练和使用10k Python 示例进行微调的模型与只使用 Python 示例进行训练的模型时,可以提高13.1% 的准确性 4、通过在线 a/b 测试比较,证明在任务、领域和语言这三个迁移学习维度上的改进分别使自动完成工具的使用率提高了3.86% 、6.63% 和4.64% ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/25/142845fdvfkgiuypnmjvyh.png) 总体而言,研究表明,在不使用 ide数据和不同语言示例代码序列上的预训练代码补全模型,使用迁移学习可以显著提高模型的准确性,表明迁移学习有可能推进较不流行的编程语言的代码自动补全,并改善使用它们的开发人员的编码经验。 ## 代码预测工具 Kite是一个著名的代码补全工具。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/25/142851yij5c9ditwbp88g7.png) Kite 基于 AI 的代码补全功能现在支持Python, JavaScript, TypeScript、 Java、 HTML、 CSS、 Go、 C、 C # 、C + + 、 Objective C、 Kotlin 和 Scala。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/25/142858kwg5svmbzusfqkmz.png) Kite 于2016年4月首次亮相,在17年3月又公开发布了一个基于云计算的版本。该公司在19年1月筹集了1700万美元,放弃了云计算,转而在本地运行免费服务。 在编写过程中Kite可以极大减少敲键盘的次数。在Kite的帮助下,活跃开发者甚至每天只需编写由大约 175 个单词组成的代码。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/25/142903zy1gxwmfvj0ix9q7.png) 各种开发人员也是对Kite十分赞赏,甚至还包括了Python之父 Guido van Rossum ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/25/1429087wceci6rnb1yrocm.png) Kite的 Python 机器学习模型是在2500万个开源代码文件上训练的,它的 JavaScript 机器模型是在3000万个文件上训练的。 除了越来越多的编程语言,Kite也可在更多的开发环境中工作,目前已支持在16个编辑器上使用,包括 Android Studio、 Atom、 JupyterLab、 Spyder、 Sublime Text、 VS Code 和 Vim等。 此外Kite还与 IntelliJ 家族合作:,支持 IntelliJ、 PyCharm、 WebStorm、 Goland、 CLion、 PHPStorm、 Rider、 RubyMine 和 AppCode。 由此可见,公司的愿景是允许尽可能多的开发人员利用 Kite,而不管他们的语言或 IDE 是什么,最终实现各个场景下代码补全的「大一统」。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/25/142914epajjc31xsrddxo4.png) Kite 公司的首席执行官史密斯之前还创立了 Xobni,这是一个于07年9月推出的电子邮件服务,雅虎在13年7月将其收购。 史密斯在接受访问时说到,当我们构建对 JavaScript 的支持时,我们致力于创建一种可伸缩的方式来添加更多的编程语言,从那时起,我们一直在迭代我们的 JavaScript 模型和排序算法。这种学习使我们能够相对容易地发布每一种新语言,具有与 JavaScript 相同的准确性和智能性。 19年,正值GPT-2火热时,一名滑铁卢大学大四学生Jacob Jackson也开发了一款自动补全工具tabnine,支持23种编程语言和5种代码编辑器,几乎不需要配置安装即可使用。 Deep TabNine会根据你以前的编码习惯自动补全,还会在后面给出几个选项的概率。如果之前项目出现过类似代码,还能在补全候选框中直接给出地址,方便用户点击进去查阅! ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/25/142921crauzbo36uzcwvf6.png) VSCode下,直接打开插件市场搜索TabNine,点击安装即可。Sublime Text下调出Install Package Control安装即可。Atom也可以直接安装。EMACS和Vim稍微复杂一些。 Deep TabNine通过对GitHub大约200万个文件进行训练。训练期间,模型学习了例如动态类型语言中的类型推断等复杂行为,用这样的训练方式预测token。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/25/142931muhjwhs2bkewtjbo.png) TabNine可以使用传统工具难以获取的琐碎的线索。当线索不够的时候TabNine可能会胡言乱语,然而一旦拥有足够的线索,就能准确预测出代码,甚至还可以给出匹配的概率。 如今深度学习浪潮来了,程序员连自己也不放过,也要取缔自己的工作,生于忧患!
  • [技术干货] 关系数据模型
    主要内容关系数据结构关系操作关系的完整性约束v关系模式 每个关系都有一个模式,称为关系模式(relation schema),由一个关系名及它的所有属性名构成。一般表示为:关系名(属性1,属性2,…,属性n)   学生表是一张二维表格。这就是一个关系。                                         STUDENT表示为:STUDENT(SNO,SNAME,SEX,AGE,SDEPT)每个关系都有一个模式,称为关系模式(Relation Schema),由一个关系名及它的所有属性名构成。在关系模式中,字段称为属性,字段值称为属性值,记录类型称为关系模式。一般用前面的大写英语字母A、B、C、…表示单个属性,用后面的大写字母…、W、X、Y、Z表示属性集,用小写字母表示属性值。   关系是一种规范化了的二维表格,具有如下性质:Ø属性值是原子的,不可分解。Ø没有重复元组。Ø没有行序。Ø理论上没有列序,但一般使用时都有列序。 v关键码和表之间的联系        超键:在一个关系中,能惟一标识元组的属性或属性集称为关系的超键。           候选键:如果一个属性集能惟一标识元组,且又不含有多余的属性,那么这个属性集称为关系的候选键。           主键:若一个关系中有多个候选键,则选其中的一个为关系的主键。       外键:若一个关系R中包含有另一个关系S的主键所对应的属性组F,则称F为R的外键。并称关系S为参照关系,关系R为依赖关系。  例如,学生关系和系部关系分别为:        学生(SNO,SNAME,SEX,AGE,SDNO)        系部(SDNO,SDNAME,CHAIR)学生关系的主键是SNO,系部关系的主键为SDNO,在学生关系中,SDNO是它的外键。更确切地说,SDNO是系部表的主键,将它作为外键放在学生表中,实现两个表之间的联系。v在关系数据库中,表与表之间的联系就是通过公共属性实现的。我们约定,在主键的属性下面加下划线,在外键的属性下面加波浪线v关系模式、关系子模式和存储模式       例3.1 实体类型“学生”(S)的属性SNO、SNAME、SEX、AGE、SDEPT分别表示学生的学号、姓名、性别、年龄和学生所在系部;     实体类型“课程”(C)的属性CNO、CNAME、CDEPT、TNAME分别表示课程号、课程名、课程所属系和任课教师。    S和C之间有M:N的联系(一个学生可选多门课程,一门课程可以被多个学生选修),联系类型SC的属性成绩用GRADE表示。S(SNO,SNAME,SEX,AGE,SDPET)关系模式S描述了学生的数据结构,它是下表中学生实体的关系模式。其中SNO,CNO为关系SC的主键,SNO、CNO又分别为关系SC的关系子模式       用户使用的数据不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据构成关系子模式。     用户需要用到成绩子模式G(SNO,SNAME,CNO,GRADE)。子模式G对应的数据来源于表S和表SC,构造时应满足它们的SNO值相等。子模式G的构造过程如下图所示。  两个外键。    
  • [技术干货] 7天玩转PostgreSQL基础训练营学习分享
    活动贴:【打卡帖】0元限时学《7天玩转PostgreSQL基础训练营》,大奖等你来哦!课程链接:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXD048+Self-paced/courseware/fb989107b5ea4f368fb11447ea2d8b63/a75cf56dbace4384993b27d81160bd92/课程知识总结:7天玩转PostgreSQL基础训练营(一)7天玩转PostgreSQL基础训练营(二)7天玩转PostgreSQL基础训练营(三)7天玩转PostgreSQL基础训练营(四)7天玩转PostgreSQL基础训练营(五)7天玩转PostgreSQL基础训练营(六)7天玩转PostgreSQL基础训练营(七)
  • [其他] 联邦学习
    为了应对数据隐私的挑战,最近出现了联邦学习的概念。联邦学习的思想认为,目前各个企业的数据之前就像不同的国家,它们各自有自己的体系,但是无法很好地完成统一建模。联邦学习则将它们管辖在“一个国家、一个联邦政府”之下,将不同的企业看作是这个国家里的“州”。这样,通过彼此之前不互通数据,彼此之间都可以获得模型效果的提升。FTL的核心是:各个企业的自有数据不出本地,模型效果不变。联邦迁移学习事实上,Google等一些大公司也最先开始了一些关于联邦学习的研究。例如,Google在2017年的一篇论文里进行了去中心化的推荐系统建模研究。其核心是,手机在本地进行模型训练,然后仅将模型更新的部分加密上传到云端,并与其他用户的进行整合。目前该方法已在Google输入法中进行实验。一些研究者也提出了CryptoDL深度学习框架、可扩展的加密深度方法、针对于逻辑回归方法的隐私保护等。但是,它们或只能针对于特定模型,或无法处理不同分布数据,均存在一定的弊端。正是为了解决上述这些挑战,香港科技大学杨强教授和微众银行AI团队,最近提出了联邦迁移学习 (Federated Transfer Learning, FTL)。FTL将联邦学习的概念加以推广,强调在任何数据分布、任何实体上,均可以进行协同建模学习。这项工作在国内,是杨教授与微众银行AI团队主导,目的是建立数据联邦,以解决大数据无法聚合的问题。在国外,目前是Google在进行相关的研究。二者的区别:微众银行AI团队的做法是,用户维度部分重叠,特征维度不重叠;而Google则是反过来:特征重叠,用户不重叠。可以预见的是,微众AI团队针对的情景,要比Google的情景更加具有普适性,也更符合未来大数据、多企业的应用需求。下图展示了FTL的应用情景。解释:假设我们现有的A和B两个企业的数据,它们的服从上图的特征和样本维度。当A和B处于同一样本维度、不同特征维度时,我们可以用联邦学习;当A和B处于同一特征维度、不同样本维度时,我们就可以用迁移学习;二者的结合点则是:不同样本、不同特征维度。具体地,可以扩展已有的机器学习方法,使之具有FTL的能力。比如,我们可以将不同企业、不同来源的数据首先训练各自的模型,然后,将模型数据进行加密,使之不能直接传输以免泄露用户隐私。然后,在这个基础上,我们对这些模型进行联合训练,最后得出最优的模型,再返回给各个企业。联邦迁移学习使得不同企业之间,第一次有了可以跨领域挖掘用户价值的手段。
  • [其他] 基于同态加密的横向联邦学习
    除了 Secure Aggregation 方法外,我们亦可使用同态加密技术对参与者的梯度信息进行保护。同态加密是密码学研究中的「明珠」,其特殊性质在于,可以直接在密文上进行计算而无需解密。根据同态加密算法在密文上支持算子的不同,可以将其分为:加法同态、乘法同态和全同态算法。 在横向联邦学习中一般使用支持加法的同态加密算法,即参与者在上传模型数据前,首先对其进行加密,然后中心服务器收到密文后,在密文上进行加法聚合,再将密文结果返回给参与者,假设使用的同态加密为部分同态,则参与者需要先解密、再完成模型更新;如果使用的同态加密为全同态加密,则参与者无需进行解密,可以在密文的模型上进行更新。 下图  展示了一个标准的基于加法同态加密的横向联邦学习框架,该框架的运算流程可以概括为以下三个步骤:Map:中心服务器将当前加密模型分发给参与者,收到模型的参与者先对模型进行加密,再在本地数据上进行参数的有偏估计;Aggregate:中心服务器收集参与者的加密参数估计,进行聚合,得到新的、密态下的模型参数;Reduce:中心服务器使用聚合后的新加密参数最为当前模型。图 :基于加法同态加密的横向联邦学习 [3]。 基于全同态的横向联邦框架:除了使用加法同态算法之外,还可以使用全同态对横向联邦里的参数信息进行保护。在使用了全同态加密后,不止中心服务器上的参数聚合在密文下,参与者本地的模型更新也是在密文下,多方需要预先规定训练次数,在达到指定数量后停止训练。 安全性分析(密钥管理):在对基于同态加密的联邦学习系统进行安全性分析之前,还有一点需要我们额外注意的,那就是同态加密算法在使用中如何管理密钥。大部分同态加密算法仅有一个私钥,即在使用中,所有的参与者持有同一组公私钥、然后将公钥分享给中心服务器。但这种模型安全性较低,一旦有一个参与者与中心服务器共谋,系统的安全性就下降到了 vanilla 联邦学习。以上问题目前有一个较好的解决方案,即使用阈值同态加密算法 [10,11],该类型的同态加密算法支持多个私钥存在,并且当一定数量以上的私钥参与,才能将密文成功解密,近期阈值同态加密研究火热 [7,8,9],受到了广泛关注。 安全性分析(总结):在使用了同态加密之后,中心服务器无法获取任何有效的明文信息,所以也无法进行梯度攻击。并且借助阈值同态加密,多个参与者可以各自持有一个私钥,可以大大提升了系统的安全性,可以说参与者的数据十分安全。 转发自https://www.jiqizhixin.com/
  • [技术干货] 【AI论坛材料分享】华为云携手伙伴共建蓬勃发展的AI生态,使能千行百业智能升级(持续更新中)
    5月17-18日,以“因聚而生,有能有为”为主题的华为中国生态大会2021在深圳举行。在“蓬勃发展的AI生态,共赢行业智能升级时代”论坛上,华为云携手多位AI生态伙伴围绕机器学习、知识管理、NLP、AI+RPA等人工智能技术热点和解决方案,进行了深入探讨。华为云EI营销总监分享了华为云全栈全场景战略及最新进展,介绍了开启AI工业化开发新模式的华为云盘古大模型。他表示:“从目前AI的发展来看,人工智能逐渐走进千行百业的核心生产系统,开始进入实用阶段,创造出更大价值。华为云AI作为行业智能升级的使能者,提供全栈全场景的AI生态产品。基于一站式AI开发平台ModelArts提供模型开发、训练、推理和部署能力,管理全周期AI工作流。基于其AI Gallery实现数据、模型、工具等AI数字资产沉淀和分享。与伙伴和行业客户共建蓬勃发展的AI生态,助力千行百业实现智能升级。”知识智能,驱动数字化转型云问科技联合创始人茆传羽向与会嘉宾分享了基于华为云AI技术的创新实践。云问科技在为客户提供定制化智能客服+知识智能系统服务的实践过程中,曾面临许多痛点,包括数据量少、纯文本交互限制大、人机交流效果不佳等。为了应对上述挑战,华为云向云问科技提供了云平台、NLP、OCR、图引擎等系列技术,助力云问深耕知识智能和服务智能两大领域,打造知识管理平台、智能客服、电话机器人等AI产品,帮助工业制造、电力、政务等行业客户实现数字化转型。华为云TrafficGo:助力交通治理实现行业穿透博研智通首席品牌官吴伟娜介绍了博研智通携手华为云AI新技术,共同打造华为云交通智能体TrafficGo——城市交通综合治理解决方案。该方案为客户提供一整套优化体系、两大治理抓手、三大基础能力,实现区域协同优化效果,为城市交通管理带来更多数字化体验与业务提效升级,也为万千交通参与者提供卓越、安全、高效的出行体验。AI+RPA :加速企业智能自动化的新方案RPA(机器人流程自动化)可使软件机器人像人一样,通过多模态的AI技术,在不同系统之间进行数据的录入、提取和验证等操作。智能自动化将RPA和AI结合,从而实现复杂业务流程自动化。华为云EI资深专家表示:“华为云深度融合OCR、NLP等AI服务与RPA、低代码能力,通过云上训练,端侧快速部署,打造端云协同、数据安全、0代码开发和开箱即用的智能自动化服务,例如企业财务助手、金融营销助手、政务综合治理助手等,帮助企业打通数字化转型最后一公里。”作为华为生态中的重要战略合作伙伴和RPA领域实践先行者,软通动力在企业智能自动化(AI+RPA)的实施方法与实践中带来最新的应用思考和独到见解,基于华为AI+RPA,通过“超自动化+数据智能+场景智能”的“智能化三角”实施策略,推动企业的内外部服务生态融合,进而加速企业和组织完成智能化转型。在软通动力CTO刘会福看来,企业要实现智能化转型战略的落地需要在组织上实现相关要素的落地,即战略、产品、人才、技术和实施。目前,软通动力与华为云赋能客户的过程中,在这在5方面都有不同程度的合作。如在AI+RPA规划设计能力方面为客户提供AI场景应用设计与RPA管理规划;在AI研究及技术研发方面提供一站式AI开发平台与AI算法定制服务(包括CV、NLP、OCR、知识计算等)。基于双方共同合作的AI+RPA技术,软通动力率先应用于内部提升流程效率、优化流程质量等方面,整体业务效率提升了近6.5倍,实现了数据价值的重构。人工智能机器学习平台:数字化助手助力AI百业落地在人工智能的感知智能和认知智能阶段,力维智联拥有多项AI实践经验,涵盖城市、电信、能源、新零售以及出版等行业场景。力维智联营销副总裁凌敏表示,目前力维智联提供线下零代码机器学习、深度学习训练平台,让客户的数据无需上传公有云,也可以实现智能化转型。未来力维智联还将结合华为云Stack和ModelArts一站式AI开发平台,让客户能够在私有云上使用整套的华为云AI能力,同时还可以借助华为云盘古大模型进行模型参数优化,提升泛化能力,使AI模型达到极致性能。在智能升级的浪潮中,利用前沿创新技术解决困扰自身发展问题、以场景化视角实现降本增效,是每一位开发者和管理者的共同目标。华为云将持续围绕客户需求,联合伙伴打造能力,构建更多元的AI生态,与生态伙伴一起共创行业新价值。
  • [其他] 深度学习随机取样、学习率
    随机取样随机取样与全局训练是无关的,因为在全局训练中所有的样本都会被用来估计梯度。而在随机梯度下降和小批量梯度下降中,随机取样是十分重要的。这是为了得到梯度的无偏估计,样本必须是独立同分布的。如果训练过程中的一些样本不是随机从训练集中取出的,模型的参数可能会沿着一个方向偏移太多。以下是两种随机取样的思路:在语音处理任务中,若所有样本都可以被载入内存中,那可以通过对样本索引进行相应的处理抽样就可以达到样本抽样的效果。在语音处理任务中,若无法将所有样本载入内存进行计算,可以采用滚动窗的方法每次加载一块数据进内存,然后再窗内随机取样。batch大小选择在训练过程中都需要从训练样本的一个批量集合中进行梯度计算,而批量块大小的选择同时会影响收敛速度和模型结果。批量块选择的两种常见情况:整个训练集:选择整个训练集进行模型训练是最常见的情形。随机训练集:代表性方法就是随机梯度下降(SGD),每次只需要用一个样本进行梯度的计算和迭代。综合上述两中批量块的选择情况,提出这种方案“小批量”进行训练,迭代速度比整个数据集更快,比随机训练集更容易收敛。在语音识别任务中,前期可以选择较小的批量块,比如64到256个样本,而后期换用较大的批量块,比如1024-8096个样本。学习率从梯度下降算法的角度来说,通过选择合适的学习率,可以使梯度下降法得到更好的性能。学习率,即参数到达最优值过程的速度快慢,当你学习率过大,即下降的快,很容易在某一步跨过最优值,当你学习率过小时,长时间无法收敛。因此,学习率直接决定着学习算法的性能表现。可以根据数据集的大小来选择合适的学习率,当使用平方误差和作为成本函数时,随着数据量的增多,学习率应该被设置为相应更小的值(从梯度下降算法的原理可以分析得出)。另一种方法就是,选择不受数据集大小影响的成本函数-均值平方差函数。一般常用的学习率有0.00001,0.0001,0.001,0.003,0.01,0.03,0.1,0.3,1,3,10。
  • [问题求助] GaussDB(DWS)第一期免费试用活动之机器学习
    在官方文档中并未查询到有关机器学习方面的资料。目前市场中已经有一部分数据库公司正在进行机器学习方面的功能研发,比如gbase的GBMLLib库,可以进行简单的数据挖掘和机器学习功能,请问DWS是否也有类似的功能?
  • [热门活动] 【盖楼有奖】参加DevCloud训练赛,分享心得想法,盖楼得京东卡、行李牌……集齐华为周边!
    参加华为云DevCloud训练赛不仅可以练学一体涨知识分享学习心得还可以拿最终大奖本贴盖楼更有好礼相送!>>戳此处立即报名大赛<<学习经验、实验问题对软件行业的看法、为未来工作场景的好奇统统可以发表在此贴的评论区快在评论区燥起来喽~【盖楼有奖】参与方式:在本贴当中分享程序员、写代码、秃头、对程序员工作的好奇,统统都可以!楼层为6、16、66可获得华为攻城狮行李牌1个;楼层为96、136、166可获得帆布包1个;楼层为266层,可获得50元京东卡1张!!盖楼领奖方式:请关注站内私信,活动于6月23日结束后,将在14个工作日内私信领奖事宜。(分割线)以下规则针对参与大赛并提交作品同学们必看内容哦~>>戳此处立即报名大赛<<【大赛规则】1、本次训练营分为三个环节:DevCloud学习课程、在线沙箱实验、线下校内小班授课实验;2、完成前两个环节的内容,并发表了心得分享的同学,可获得华为云官方结业证书(电子版);3、心得分享评分标准:请同学们按照学习经验、产品真实反馈、遇到的问题等这几个维度发表真实的使用感受;4、参与小班授课的同学,根据线下实验成绩(60%)+心得分享(40%)=总成绩,根据总成绩排名,分别评出以下奖项:卓越奖1名、优秀奖1名、进步奖1名、积极奖2名、青春奖10名(详情见下表)。奖项奖品卓越奖1名华为云官方结业证书+华为手表FIT优秀奖1名华为云官方结业证书+华为freebuds 4i无线耳机进步奖1名华为云官方结业证书+华为快充移动电源10000mah积极奖2名华为云官方结业证书+华为手环4e活力款青春奖10名华为云官方结业证书说明:(1)奖品将在大赛结束后统一发放;(2)如因缺货等原因导致奖品缺失,将替换为等价值其他奖品。【心得分享示例模板】我的华为云账号:xxx我的分享:本次学习经验、实验问题、对软件行业的看法、为未来工作的好奇等等不限,如:本次实验比较复杂,但很有学习意义,尤其在###环节,很有收获。附实验完成截图:有任何问题请找华为云天津小助手呦~
总条数:5192 到第
上滑加载中