话题公司 › pinterest

公司:pinterest

Pinterest(中文译名:缤趣),是一个网络与手机的应用程序,可以让用户利用其平台作为个人创意及项目工作所需的视觉探索工具,同时也有人把它视为一个图片分享类的社交网站,用户可以按主题分类添加和管理自己的图片收藏,并与好友分享。其使用的网站布局为瀑布流(Pinterest-style layout)。

Pinterest由美国加州帕罗奥图的一个名为Cold Brew Labs的团队营运,创办人为Ben Silbermann、 Paul Sciarra 及 Evan Sharp。2010年正式上线。“Pinterest”是由“Pin”及“interest”两个字组成,在社交网站中的访问量仅次于Facebook、Youtube、VKontakte以及Twitter。

Unified Flink Source at Pinterest: Streaming Data Processing

To best serve Pinners, creators, and advertisers, Pinterest leverages Flink as its stream processing engine. Flink is a data processing engine for stateful computation over data streams. It provides rich streaming APIs, exact-once support, and state checkpointing, which are essential to build stable and scalable streaming applications. Nowadays Flink is widely used in companies like Alibaba, Netflix, and Uber in mission critical use cases.

Interactive Querying with Apache Spark SQL at Pinterest

To achieve our mission of bringing everyone inspiration through our visual discovery engine, Pinterest relies heavily on making data-driven decisions to improve the Pinner experience for over 475 million monthly active users. Reliable, fast, and scalable interactive querying is essential to make those data-driven decisions possible. In the past, we published how Presto at Pinterest serves this function. Here, we’ll share how we built a scalable, reliable, and efficient interactive querying platform that processes hundreds of petabytes of data daily with Apache Spark SQL. Through an elaborate discussion on various architecture choices, challenges along the way, and our solutions for those challenges, we share how we made interactive querying with Spark SQL a success.

Improving data processing efficiency using partial deserialization of Thrift

At Pinterest we’ve worked to greatly improve data processing efficiency. One quote that resonates with our unique approach is from writer Antoine de Saint-Exupéry: “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”

Ultimately, we process petabytes of Thrift encoded data at Pinterest. Most jobs that access this data need only a part of it. To meet our unique needs, we devised a way to efficiently deserialize only the desired subsets of Thrift structures in each job. Our solution enabled us to significantly decrease our data processing resource usage: about 20% reduction in vcore usage, 27% reduction in memory usage, and 36% reduction in intermediate data (mapper output).

What we learned from an iOS app OOMs incident

2020年初,我们开始看到Pinterest的iOS应用的内存外(OOM)崩溃率明显升高。这一事件导致无崩溃用户率(CFUR)下降,从之前的99%下降到96%,这是一个急剧下降。发生了什么事?

我们在这一过程中改进了许多系统,但这些经验可以单独写成一篇博文。这篇博文的主要重点是与更广泛的iOS社区分享我们通过这个iOS的具体问题学到的东西。

Building a Label-Based Enforcement Pipeline for Trust & Safety

随着Pinterest的发展,用户和企业的数量不断增加,提供一个安全和值得信赖的体验是我们的首要任务之一。每天,该平台提供数十亿个Pins和Board,以激发Pinners。面对如此多的图钉和活动,如何在释放高质量内容传播的同时,为内容安全提供及时和一致的决策,可能是一个挑战。在这篇博文中,我们将对我们面临的问题进行技术上的深入研究,并介绍我们如何建立一个基于标签的执行管道来解决这些问题并大规模地打击滥用。

How Pinterest Fights Spam Using Machine Learning

数以亿计的人定期访问Pinterest,在数十亿的Pins中直观地发现鼓舞人心的想法。灵感是一个很高的标准,我们必须保持警惕,确保品客不会看到垃圾邮件、有害内容或错误信息。为了执行我们的社区政策并维持一个鼓舞人心的环境,我们使用最新的机器学习技术来建立自动化系统,迅速检测并打击垃圾邮件内容和垃圾邮件发送者。

我们的反垃圾邮件系统由反应性和主动性两部分组成,以有效对抗对抗性滥用者--那些故意试图逃避系统的用户。我们的主动式系统由复杂的机器学习模型组成,而被动式系统包括在实时规则引擎中执行的规则和轻量级机器学习模型。我们不仅使用最新的建模技术,而且通过添加新的数据和探索新的技术突破,定期对这些模型进行迭代,以便随着时间的推移保持或提高其性能,从而有效解决垃圾邮件。

Shallow Mirror

Enhancement to Kafka MirrorMaker to reduce CPU/memory pressure.

How we reduced Pinterest’s iOS app size by 30+% / 50MB

我们都知道应用程序的大小(下载大小和本地安装大小)很重要,而且应用程序的大小和客户参与度之间存在着关联。很多时候,人们根据大小来决定是否使用软件,甚至按兆字节支付带宽费用。更不用说,当应用程序大小增加并导致用户试图释放其设备上的磁盘空间时,卸载率可能会上升。

最近,我们对Pinterest的iOS应用v9.1进行了改进,大大减少了其大小。

Detecting Image Similarity in (Near) Real-time Using Apache Flink

Pinterest is a visual platform at its core, so the need to understand and act on images is paramount. A couple of years ago, the Content Quality team designed and implemented our own batch pipeline to detect similar images. The similarity signal is widely used at Pinterest for use cases varying from improving recommendations based on similar images to taking down spam and abusive content. However, it was taking several hours for the signal to be computed for newly created images, which was a long window for spammers and abusers to harm the platform. So recently, the team implemented a streaming pipeline to detect similar images in near-real-time.

Faster Creator Content Distribution at Pinterest

在Pinterest,我们致力于为创作者打造最好的体验,让他们接触到新的受众并激发他们的灵感,也让Piners轻松发现最适合他们的创意。我们相信,更多样化的Pin格式和高效的分发系统,建立一个健康的创作者内容市场,是我们成功的关键。

随着越来越多的创作者内容进入Pinterest,我们需要继续发展一个高效的发布系统,以更好地服务于创作者和Pinners的利益。为了实现这一目标,我们需要应对一系列独特的挑战。

首先,内容发布的时效性变得比以往任何时候都重要,以确保创作者分享后,新鲜的Pins能尽快展示给Pinners。

受众的相关性对于分发效率也至关重要。例如,将一个新鲜的菜谱Pin浮现给那些对烹饪感兴趣的人,以及那些可能作为相邻兴趣的人,可以帮助我们更好地了解Pin的表现和质量。

为了解决这些需求,我们以创作者为中心,构建了一个全新的、快速的、实时的内容分发系统。

Pinterest Flink Deployment Framework

Apache Flink是一个框架和分布式处理引擎,用于在无界和有界数据流上进行有状态计算。它提供的功能包括精确的唯一性保证、低延迟、高吞吐量和强大的计算模型。在Pinterest,我们采用Flink作为统一的流处理引擎。

How Pinterest fights misinformation, hate speech, and self-harm content with machine learning

为了保证Pinterest的安全和激励,除了用实时规则引擎打击垃圾信息外,我们还通过版主调查和自动系统主动对违反社区准则的内容采取行动。我们的机器学习模型可以识别出违反我们政策的内容,从健康错误信息到仇恨言论、自我伤害和图形暴力。多年来,我们还在使用Spark、LSH和TensorFlow检测类似图像的能力上取得了进步,并将其应用于信任和安全工作。

Fighting spam with Guardian, a real-time analytics and rules engine

作为信任与安全团队,我们的主要职责之一是保护Pinners免受垃圾信息的侵害。如果没有保护措施,垃圾信息就有可能遍布 Pinterest。

在 Pinterest,我们打击垃圾信息的最有价值的工具之一是我们使用的规则引擎。规则引擎允许我们查看事件流,如果满足规则中的标准,我们就可以采取行动(如阻止消息,停用发送人,或对用户进行标记并人工审查)。 在这里,我们将分享我们的垃圾信息打击规则和查询的演变,以及在整个过程中我们学到的东西。

How we designed our Continuous Integration System to be more than 50% Faster

工程效能团队的愿景是“建立一个能激励开发者把工作做到最好的开发平台”。持续集成(CI)是这个平台不可或缺的部分。CI负责验证代码变更,并生成可以部署到持续交付平台的发布项。公司有超过1000名工程师,我们的团队面临着一个挑战,提供可靠和快速的CI,服务于大规模的代码仓库。

Manas Two-stage Retrieval — The efficient architecture for hierarchical documents

As more use cases are onboarded to Manas, one special scalability and efficiency challenge emerges when serving documents with a hierarchical structure. Manas, as a traditional search engine, was designed and optimized to support flattened documents. As a result, we have to flatten attributes of root documents all the way to the leaf level regardless of the hierarchical structure, leading to inefficiencies in both indexing and serving pipelines.

Manas HNSW Realtime: Powering Realtime Embedding-Based Retrieval

在上一篇文章中,我们介绍了我们的内部搜索引擎--Manas,并分享了我们如何大规模地提供基于术语的搜索服务。自推出以来,Manas已经成长为Pinterest的关键候选生成器之一,服务于许多超出其最初目的的用例。

特别是,基于嵌入的检索是Pinterest的发现和推荐引擎的一个关键组成部分。Manas传统上支持通过位置敏感哈希(LSH)在反向索引上进行近似最近邻(ANN)搜索,这是基于术语搜索引擎的自然扩展。在Hierarchical Navigable Small World graphs (HNSW)等新的先进技术发布后,我们在Manas中建立了一个灵活的基于嵌入的检索框架,使我们能够轻松地搭载新的ANN技术。我们使用新的框架向我们的批量索引集群推出了HNSW(从几分钟到几天的索引延迟),与LSH相比,我们节省了巨大的服务成本,降低了延迟。

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.123.1. UTC+08:00, 2024-03-05 23:11
浙ICP备14020137号-1 $访客地图$