在算法模型整个生命周期(算法模型生命周期:初始训练数据 --> 模型训练 --> 模型评估 --> 模型预估 --> 训练数据)中,任何环节的问题引入都可能导致算法模型质量问题。所以我们在做模型质量保障的过程中,需要关注各个阶段的质量。
OLAP计算引擎是一架机器,而操作这架机器的是编程语言。使用者通过特定语言告诉计算引擎,需要读取哪些数据、以及需要进行什么样的计算。编程语言有很多种,任何人都可以设计出一门编程语言,然后设计对应的编译器做解析。编程语言从分类上来说,可以分为命令式,声明式。 命令式编程语言是我们最常见的编程语言,C/C++/Java等都是命令式编程语言,这类语言明确的告诉机器应该执行什么样的指令,留给编译器优化的空间很小了。 声明式编程描述程序应该获得什么结果,至于如何做到,并不关注细节。SQL就是一种声明式编程语言。例如SQL语句select count(1) from department where kpi =3.25,指明计算kpi=3.25的人数,但不会具体指定如何完成计算。这给后续的优化器留下了很大的操作空间,优化器可以根据SQL的需求和实际的数据做各种各样的探索,寻找到最佳的执行方式。
MVCC (Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC是通过数据行的多个版本管理实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性读操作有了保证。换言之,就是为了查询一些正在被另一个事务更新的行,并且可以看到它们被更新之前的值,这样在做查询的时候就不用等待另一个事务释放锁。 MVCC没有正式的标准,在不同的DBMS中MVCC的实现方式可能是不同的,也不是普遍使用的。本文讲解InnoDB中MVCC的实现机制(MySQL其它的存储引擎并不支持它)。
和众多传统行业一样,跨境贸易产业近年来也经历了数字化的转型创新,而首先参与进模式创新的地方主要集中于信息展示和业务撮合领域。本文将为大家分享阿里国际站在用户增长技术体系建设上的探索与实践。
2023 年 1 月 11 日,2022 年度 StateOfJS 调查结果正式公布!此次问卷于 2022 年 11 月 21 日至 12 月 22 日进行,共收集了 39472 份问卷。此调查的目的是确定 Web 开发生态系统中即将出现的趋势,以帮助开发人员做出技术选择。因此,该调查的重点是预测未来几年会发生什么,而不是分析现在流行什么,这就是为什么并不包括目前最普遍的功能或技术。
在日常业务代码开发中,我们经常接触到AOP(面向切面编程),比如熟知的Spring AOP。我们经常用它来实现业务切面逻辑,比如登录校验,日志记录,性能监控,全局过滤器等。但Spring AOP有一个局限性,并不是所有的类都托管在 Spring 容器中,例如很多中间件代码、三方包代码和部分原生代码,都不能被Spring AOP代理到。如此一来,一旦你想实现的切面逻辑并不属于Spring的管辖范围,或者你想实现Spring之外的切面功能,就无从下手。 对于Java后端应用,有没有一种更为通用的AOP方式?答案是有的,Java自身提供了JVM TI,Instrumentation等特性和接口,允许使用者以通过一系列原生API完成对JVM的复杂控制。自此衍生出了很多著名的框架,比如Btrace,Arthas等等,帮助开发者们实现更多更复杂的Java功能。 JVM Sandbox也是其中的一员。当然,不同框架的设计目的和使命是不一样的,JVM-Sandbox的设计目的是实现一种在不重启、不侵入目标JVM应用情况下的AOP解决方案。
2022年8月,58同城TEG-AI Lab语音技术团队完成了WeNet端到端语音识别的大规模落地,替换了此前基于Kaldi的系统,并针对业务需求对识别效果和推理速度展开优化,取得了优异的效果,当前录音文件识别引擎处理语音时长达1000万小时/年,流式语音识别引擎支持语音对话量超过5000万次/年,详细工作可以参考《58同城:WeNet端到端语音识别大规模落地方案[1]》。 在优化工作中,我们复现了Efficient Conformer[2]模型,在实际场景数据上,与Kaldi最优模型相比,识别效果上CER绝对降低3%,解码性能提升61%。与Conformer相比,识别效果上CER从10.01%降低至9.30%,解码性能提升10%,结合int8量化,解码性能可提升60%。我们也在AISHELL-1公开数据集上进行了评测,CER为4.56%(No LM)。模型代码已开源至WeNet[3]。 本文主要介绍我们对Efficient Conformer的复现工作,包含:模型介绍、模型实现、流式推理支持以及相关实验结果。
目前闲鱼不少业务正在从H5/Weex升级到Kun(基于W3C标准&Flutter打造的混合高性能终端容器),从测试角度来看,我们希望这种升级迭代对于用户体验是正向的,所以用好性能测试这把标准尺就显得格外重要。 早期做性能保障时,我们在一些核心场景要上线或者上线之后遇到问题时,才去跑一些性能测试,这种方式只知道性能变差了,至于差在哪里,就只能反推开发去查问题,效率低且容易出问题。今年我们提出了基于容器分层的性能测试,目的是提前将性能风险点抛的更前置、更明确,特别对于Kun,除了容器本身的影响,Flutter引擎也会影响性能体验。
大家好,我是语雀 QA 会能。 很高兴,有机会跟大家聊一下语雀的质量体系和自动化技术。 下面会分几个部分给大家介绍,让大家可以了解到语雀质量体系的全貌。