在互联网中,我们经常遇到需要在大量数据中判断目标数据是否存在的情况。例如,在网络爬虫中,我们需要判断某个网址是否已经被访问过。为了实现这一功能,通常需要使用一个容器来存储已访问过的网址。如果将这些数据直接存储在磁盘中,每次判断都要进行磁盘查询,这将导致大量的IO操作,效率较低。因此,我们希望将这些数据保存在内存中。在数据量较小的情况下,可以使用Redis来存储这些数据。但是,当数据量超过上千万时,将会消耗几GB甚至几十GB的内存空间。然而,对于仅需要记录数据是否存在的情况而言,这样使用大量内存显然是浪费的。为了解决这个问题,我们可以使用布隆过滤器(Bloom Filter)。布隆过滤器是一种占用空间少且时间效率高的工具。
视频起播时间,即首帧时间,是视频类应用的一个重要核心指标,也是影响用户观看体验的核心因素之一。如果视频要加载很久才能开始播放,用户放弃播放甚至离开 App 的概率都会增加。 视频秒播是指用户在起播时平滑播放,没有首屏的顿感,用户几乎感知不到有首帧时间的存在。 我们把从开始播放到视频首帧画面展现出来这个链路的耗时称为首帧耗时,想要优化首帧耗时,达到秒播效果,我们需要知道这个链路上,都进行了哪些步骤,然后找到其耗时点,进行针对性优化。不同的业务场景下,播放行为和播控策略不尽相同,最常见的就是冷启动场景、短视频场景、页面切换场景以及长视频场景。本文主要讨论具体业务场景下的优化实践,我们可以根据场景的特性,采取不同的优化策略。
本篇文章探讨“基于 Webview,如何在 App 内实现带离线包能力的 H5”。在当下这个主题似乎有些过时,但 H5 技术以其良好的跨端一致性,长期来看会占据一席之地,希望整理一个较完整的方案,从基本的实现原理到业务具体应用,让不了解的同学对“离线 H5"有一个较完整的视角。
早在2001年,就有研究指出游戏人工智能领域,有极大的潜力实现或创造类人级别的人工智能(human-level AI)[1]。游戏作为人工智能研究的起点,以其任务场景的复杂性和多样性,为人工智能在广度、深度和灵活性等方面接近人类智能提供了保障。 当前,伴随着生成式AI和决策AI技术的迅猛发展,游戏与人工智能共振共生的发展态势更加明显。在全球游戏顶会GDC2024(全球游戏者开发大会2024)上,AI成为大会关注焦点,以AI为主题的演讲达64场,占比达8%。在生成式AI领域,62%的游戏业受访者正在使用AI工具制作游戏内容[2]。在决策AI领域,Google DeepMind团队继Alphastar后再次推出通用游戏智能体SIMA(Scalable Instructable Multiworld Agent),可根据人类自然语言指令在各类3D游戏世界中执行超过600多种任务。
到家搜索业务具有数据量大、过滤比高等特点,为了在保证高召回率的同时进一步提高检索性能,到家搜索技术团队与美团基础研发机器学习平台团队基于GPU实现了支持向量+标量混合检索的通用检索系统,召回率与检索性能均有较大提升。本文将介绍我们在GPU向量检索系统建设中遇到的挑战及解决思路,希望对大家有所帮助或启发。