除了相关性,复杂信息流推荐场景还需要兼顾多样的业务需求,包括打散(多样性),流量调控,多展示形态/多路供给融合等。传统推荐系统采用pipeline的形式,分步处理上述需求,缺少统筹优化,这些模块之间常出现矛盾与覆盖,限制场景推荐效果。我们提出全新的基于Generator-Evaluator(GE)架构的重排模型,它不仅能够突破传统相关性贪心排序的范式,以序列整体效果为目标生成序列,还能突破pipeline的推荐范式,在一个模型中有机融合复杂业务规则,给出end2end联合最优解。我们在淘宝信息流场景验证了提案的有效性,并全量上线。
得物的推荐场景,除了首页瀑布流等几个比较大的场景之外,还有很多长尾的小场景,包括:频道、会场、购中购后场景、品牌墙等。这类场景存在单个场景体量小(UV和GMV均偏小)、场景零散、类型多元的情况。如需对这类场景进行单独优化,涉及的成本投入远高于产出。而随着业务发展,这类长尾场景只会越来越多,对这类场景的优化亟待解决。因此,我们需要这样一个通用推荐平台,来承接住这些小场景,并能够持续优化,带来收益。“化零为整”、“兼容并包”、“统一平台”,这就是千川。
本文将学术界和工业界的纠删码技术的核心研究成果进行了相应的梳理,然后针对公司线上存储系统的纠删码进行分析,结合互联网企业通用的IDC资源、服务器资源、网络资源、业务特性进行分析对原有纠删码技术进行优化和微创新,提出了融合EC整体方案以及可落地的RS+LRC+中间结果优化+并行修复跨AZ带宽设计方案,为后续的工程实践提供重要原理和架构支撑。
如今,越来越多的项目将 JavaScript 代码迁移到 TypeScript,TS 是一种静态类型语言,能够提高项目的可读性、可维护性和健壮性。然而,大规模迁移是一项复杂的任务,从 JavaScript 迁移到 TypeScript 有两种选择: (1)混合迁移: 逐个文件迁移,修复类型错误,然后重复,直到迁移完整项目。allowJS 配置选项允许 TypeScript 和 JavaScript文件同时存于项目中,这使得这种方法成为可能!在混合迁移策略中,不必暂停开发,可以逐个文件逐步迁移。虽然,在大规模项目上,这个过程可能需要很长时间。 (2) 整体迁移: 将 JavaScript 或部分 TypeScript 项目并将其完全转换。需要添加一些 any类型和@ts-ignore注释,以便项目编译无误,但随着时间的推移,可以用更具描述性的类型替换它们。这种策略的优势如下: 跨项目的一致性: 整体迁移将保证每个文件的状态相同,无需记住可以在何处使用 TypeScript 功能以及编译器将在何处防止基本错误。 只修复一种类型比修复文件容易得多: 修复整个文件可能非常复杂
随着大语言模型的生成效果越发逼真,各行各业迫切需要一款可靠的 AI 生成文本检测器。然而,不同行业对检测语料的要求不同,例如在学术界,普遍需要对大段完整的学术文本进行检测;在社交平台上,需要对相对简短而较为支离破碎的假消息进行检测。然而,既有检测器往往无法兼顾各式需求。例如,主流的一些 AI 文本检测器对较短的语料预测能力普遍较差。 对于不同长度语料的不同检测效果,作者观察到较短的 AI 生成文本可能存在着一部分归属上的「不确定性」;或者更直白地说,由于一些 AI 生成短句同时也常常被人类使用,因而很难界定 AI 生成的短文本是否来自于人或 AI。
什么是Perfetto?Perfetto是Android 10中引入的全新平台级跟踪工具。这是适用于Android、Linux和Chrome的更加通用和复杂的开源跟踪项目。与Systrace不同,它提供数据源超集,可让您以protobuf编码的二进制流形式记录任意长度的跟踪记录。您可以在Perfetto界面中打开这些跟踪记录。Perfetto是一款比较强大的安卓性能分析工具(它还可以用于分析其他系统),其功能涵盖了对CPU的追踪、电池耗电追踪、系统调用的追踪,内存分配与释放的追踪。除了性能数据记录还,它还有自带的分析工具,分析工具包括:通过自定义追踪功能来拼接命令行,用SQL方式筛选数据,将数据转换成其他格式方便自定义数据处理,Web形式的火焰图(Web可离线),以及Web上的ADB功能(有bug)。
老牌的 CICD 工具 Jenkins 应该是大部分都接触过的,而在云原生时代,诞生了两大 CI/CD 框架,也就是 Argo Workflow 和 Tekton,本文主要介绍一下 Argo Workflow。
2022年,Qunar 技术中心完成了轰轰烈烈的服务瘦身项目,在各个技术团队的努力下,最终完成了将上千个应用和千万行代码瘦身50%的目标。 在如此艰巨的任务达成目标之后,对于技术团队来讲,接下来的重点就变成了如何维持住这来之不易的成果,如何避免反弹。作为一家处于激烈竞争的互联网公司,Qunar 致力于不断为用户提供低价的产品,同时维持优秀的服务水平和用户体验,业务的演进和系统的迭代在持续不断的进行。随着业务的演进和系统的迭代,原本瘦下来的系统上会有新的代码填充进来,也会有新的应用加入或者拆分出来,这些动作都是会重新增加系统的臃肿程度,如果没有治理手段,会导致我们好不容易取得的瘦身成果慢慢流失。就像一个成功瘦身的人,如果瘦下来之后没有制定和执行合理健康的饮食计划和运动计划,迟早又会回到身体臃肿的状态。 基于此,在瘦身项目推进的同时,Qunar 技术中心启动了系统防腐化治理的项目,目的是在瘦身项目达成目标之后,建立和运用治理手段,防止或者减缓系统不受控制的膨胀,将系统的维护成本维持在较低的水平。这项工作由作者牵头,Qunar 技术中心业务架构 SIG 承接。