书接上回《Monorepo 解决方案 — Bazel 在头条 iOS 的实践》,在头条工程切换至 Bazel 构建系统后,为了支持用户使用 Xcode 开发的习惯,我们使用了开源项目 Tulsi 作为生成工具,用于将 Bazel 工程转换为 Xcode 工程。
火山引擎湖仓一体分析服务LAS(Lakehouse Analytics Service),是面向湖仓一体架构的 Serverless 数据处理分析服务,提供字节跳动最佳实践的一站式 EB 级海量数据存储计算和交互分析能力,兼容 Spark、Presto、Flink 生态,帮助企业轻松构建智能实时湖仓。 LAS服务是什么?LAS有哪些优化特性?本文将从基础概念、数据库内核特性优化、数据服务化、业务实践等角度全方位介绍湖仓一体架构在LAS的探索与实践。
抖音作为一个超大型的应用,我们在 ANR 问题治理上面临着很大的挑战。首先对于存量问题的优化,由于缺少有效的归因手段,一些长期的疑难问题一直难以突破解决,例如长期位于 Top 1 的 nativePollOnce 问题。同时我们在防劣化上也面临很大的压力,版本快速迭代引入的新增劣化,以及线上变更导致的激增劣化,都需要投入大量的人力去排查定位,无法在第一时间快速修复止损。
抖音依靠自身推荐系统为用户推送可能感兴趣的视频内容,其中兴趣圈层是推荐的重要能力,通过理解核心用户的偏好特征,判断两者偏好的相似性,从而构建同类用户的兴趣圈层,实现精准推荐。 以往的兴趣圈层往往依赖单一的维度或标签,比如内容类型、时长、地理特征等,难以揭示用户兴趣的底层逻辑。例如,重庆美女小姐姐吃播视频、二次元古风舞蹈视频,表面上标签类型可能完全不一样,但深度分析后发现喜欢两个视频的是同一个类型的人,并把他们划分在同一个兴趣圈层中。 要搭建这样一套兴趣圈层平台,不仅需要算法策略,对底层数据存储架构也是一大挑战。抖音每日新增的数据量庞大、业务标签五花八门,更需要满足业务人员对复杂查询的实时性诉求。 之前技术团队采用MySQL作为存储架构,作为一种行式存储的数据库,MySQL对于大量数据的处理效率较低。如果要在MySQL上查询上亿级别的数据,可能需要更高配置的硬件,甚至可能需要采用分片、读写分离等策略来提升性能,这将导致硬件成本显著提高。
随着相关技术和应用的发展,比如超高清屏幕、虚拟现实(VR)等沉浸式体验的增加,用户对超高分辨率图像和视频的需求变得越来越强烈。在这些场景中,图像的质量和清晰度对于提供最佳的用户体验至关重要。超高分辨率不仅能提供更清晰、更真实的视觉效果,还能在一定程度上增强人们的互动和沉浸感,在一些VR场景中我们需要8K甚至16K的才可以满足需求。然而要生成或者处理这些超高分辨率的内容,对算力的要求也是与日增长,对相关算法提出了挑战。 超分辨率是一个经典的计算机底层视觉问题,该问题要解决的是通过低分辨率的图像输入,获得高分辨率的图像输出。目前该领域的算法模型主要是有CNN以及Transformer两大类别,考虑到实际的应用场景,超分的一个细分领域方向是算法的轻量化。在上述提到的超高分辨率的场景,超分算法的算力消耗问题变得尤为关键。基于此,本文提出了一种名为CAMixerSR的超分框架,可以做到内容感知,通过对Conv和Self-Attention的分配做到计算量的大幅优化。
无参视频质量评估 (Blind Video Quality Assessment,BVQA) 在评估和改善各种视频平台并服务用户的观看体验方面发挥着关键作用。当前基于深度学习的模型主要以下采样/局部块采样的形式分析视频内容,而忽视了实际空域分辨率和时域帧率对视频质量的影响,随着高分辨率和高帧率视频投稿逐渐普及,特别是跨分辨率/帧率视频转码档位画质评估场景中,这种影响变得更加不可忽视。在本文中,我们提出了一种模块化 BVQA 模型,以及一种训练该模型以提高其模块化性的方法。我们的模型包括基础质量预测模块、空域矫正模块和时域矫正模块,分别显式地响应视频质量的视觉内容和失真、空域分辨率和时域帧率变化情况。我们用提出的模块化BVQA模型在专业生成的内容和用户生成的内容视频数据库上进行了大量实验。实验表明,我们的质量模型实现了优于当前方法或相近的性能。此外,模块化的模型为分析现有视频质量数据库的空间和时间复杂性提供了机会。最后,我们的 BVQA 模型可以轻量高效地添加其他与质量相关的视频属性,例如动态范围和色域作为额外的矫正模块。
单目动态场景(Monocular Dynamic Scene)是指使用单眼摄像头观察并分析的动态环境,其中场景中的物体可以自由移动。单目动态场景重建对于理解环境中的动态变化、预测物体运动轨迹以及动态数字资产生成等任务至关重要。 随着以神经辐射场(Neural Radiance Field, NeRF)为代表的神经渲染的兴起,越来越多的工作开始使用隐式表示(implicit representation)进行动态场景的三维重建。尽管基于NeRF的一些代表工作,如D-NeRF,Nerfies,K-planes等已经取得了令人满意的渲染质量,他们仍然距离真正的照片级真实渲染(photo-realistic rendering)存在一定的距离。我们认为,其根本原因在于基于光线投射(ray casting)的NeRF管线通过逆向映射(backward-flow)将观测空间(observation space)映射到规范空间(canonical space)无法实现准确且干净的映射。逆向映射并不利于可学习结构的收敛,使得目前的方法在D-NeRF数据集上只能取得30+级别的PSNR渲染指标。
ByConity 是字节跳动开源的云原生数据仓库,在满足数仓用户对资源弹性扩缩容,读写分离,资源隔离,数据强一致性等多种需求的同时,提供优异的查询,写入性能。
在互联网业务中经常会使用实验系统去做策略实验,以帮助决策。例如,测试不同的产品 UI 对用户的影响,进而决定使用哪种 UI。在广告业务中通过实验寻找最佳的投放策略以期获得最大收益。诸如此类,实验系统都会客观地给出决策依据,仿佛它是一个高度智能的系统。但实际上,传统的实验系统建立在 19 世纪的科学上,在那个年代没有互联网,没有推荐算法,没有网购平台,传统的实验系统不可能完全解决现今互联网业务中遇到的种种问题。
Kitex 是字节跳动基础架构服务框架团队推出的 Go 微服务 RPC 框架,支持 Thrift、Kitex Protobuf、gRPC 等消息协议,具有高性能、强可扩展的特点。于 2021 年 9 月正式开源后,已在多家外部企业成功落地,为他们带来了真实的成本、性能和稳定性收益。 很多企业用户在使用 Kitex 改造服务的过程中,需要 Kitex 能与现有的 Dubbo 框架实现的服务进行通信,这与 CloudWeGo 社区积极拓展生态的目标不谋而合,因此 Dubbo 互通项目 codec-dubbo 应运而生。 在社区同学的热情帮助下,目前 codec-dubbo 能做到 Kitex 与 Dubbo-Java,Kitex 与 Dubbo-Go 互通,支持 Dubbo 用户向 Kitex 迁移。