公司:pinterest
Pinterest(中文译名:缤趣),是一个网络与手机的应用程序,可以让用户利用其平台作为个人创意及项目工作所需的视觉探索工具,同时也有人把它视为一个图片分享类的社交网站,用户可以按主题分类添加和管理自己的图片收藏,并与好友分享。其使用的网站布局为瀑布流(Pinterest-style layout)。
Pinterest由美国加州帕罗奥图的一个名为Cold Brew Labs的团队营运,创办人为Ben Silbermann、 Paul Sciarra 及 Evan Sharp。2010年正式上线。“Pinterest”是由“Pin”及“interest”两个字组成,在社交网站中的访问量仅次于Facebook、Youtube、VKontakte以及Twitter。
Automated Migration and Scaling of Hadoop™ Clusters
Pinterest通过引入Hadoop控制中心(HCC)优化大数据集群管理,简化了集群扩展和缩减操作。HCC自动处理节点退役、数据复制和ASG调整,减少人工干预,确保数据安全。HCC架构包括管理节点和多个工作节点,支持自动化的集群操作,并与Terraform协同工作,避免配置冲突。未来,HCC计划增加更多自动化功能,如节点轮换和故障检测。
Next-Level Personalization: How 16k+ Lifelong User Actions Supercharge Pinterest’s Recommendations
Pinterest推出TransActV2,通过160倍的用户行为序列扩展,结合Next Action Loss和高效部署方案,实现终身行为建模。该模型提升了推荐系统的精度和多样性,显著减少用户隐藏行为,增加保存和互动。系统优化降低了99%的延迟,实际应用中提升了用户粘性和内容发现效果。这一突破为大规模实时个性化推荐树立了新标杆。
Adopting Docs-as-Code at Pinterest
Pinterest工程师团队打造了内部文档系统PDocs,采用"文档即代码"理念,用Markdown编写、Git管理,结合静态站点生成器自动构建统一文档中心。PDocs解决了传统wiki工具的质量和可发现性问题,支持代码审查、搜索集成和AI问答,上线后获广泛采用。未来将优化编辑体验并增强文档互动性,持续提升技术文档质量。
Healthier Personalization with Surveys
Pinterest通过用户调查实现个性化推荐,避免纯按参与度或时间顺序排名的弊端。其“家庭动态相关性调查”帮助优化内容,确保用户看到的是真正与其兴趣相符的灵感。这种方法不仅提升了用户体验,还体现了对用户福祉的重视,展现了平台在健康个性化推荐上的创新与实践。
Modernizing Home Feed Pre-Ranking Stage
Pinterest升级了首页推荐系统的预排序层,采用全新系统与模型设计。通过请求级和物品级子组件联合训练、解耦服务提升效率,并引入根叶架构优化在线推理。创新性地结合早期漏斗日志与曝光数据,解决样本选择偏差问题。模型蒸馏技术进一步对齐预排序与完整排序效果,显著提升业务指标。团队还实现了模型自动重训练,持续优化推荐时效性。
How Pinterest Accelerates ML Feature Iterations via Effective Backfill
Pinterest通过优化特征回填流程提升推荐和广告模型的迭代效率。从最初的Spark全量回填到两阶段回填,再到引入Iceberg表和Ray框架,显著降低了时间和成本。两阶段回填实现并行处理,减少数据混洗;Iceberg提升分区管理和数据压缩;Ray支持训练时动态数据加载。整体效率提升90倍,数据压缩率达75%。
500X Scalability of Experiment Metric Computing with Unified Dynamic Framework
Pinterest通过统一动态框架(UDF)解决了实验指标计算中的扩展性和延迟问题。UDF利用动态DAG技术,实现了并行批处理、自动回填和通知功能,显著提升了指标交付速度和可靠性。该框架支持100倍指标增长,未来可扩展至500倍,同时简化了管道创建,使开发者专注于创新。标准化处理推动了实验平台的创新和业务成果。
Multi-gate-Mixture-of-Experts (MMoE) model architecture and knowledge distillation in Ads Engagement modeling development
多门混合专家模型(MMoE)通过动态分配计算资源提升效率,促进多任务学习。结合知识蒸馏,弥补数据保留期短导致的性能差距,增强新模型表现。实验验证,MMoE在广告用户匹配任务中表现优异,显著提升线上线下指标。混合精度推断和轻量门层设计有效降低基础设施成本,确保模型性能不降。
Migrating 3.7 Million Lines of Flow Code to TypeScript
Pinterest在八个月内将370万行代码从Flow迁移到TypeScript,提升了类型安全性和开发体验。迁移过程分为设置、转换和集成三个阶段,通过自动化工具和脚本大幅减少手动干预。最终,TypeScript的社区支持、语言特性和人才储备优势显著,迁移后开发效率和代码质量显著提升,且整个过程平稳无事故。
Improving Pinterest Search Relevance Using Large Language Models
Pinterest通过LLM(大语言模型)优化搜索相关性,采用交叉编码器架构预测查询与Pin的相关性,并利用多种文本特征(如标题、描述、图像合成标题等)增强Pin表示。由于LLM实时服务成本高,通过知识蒸馏将LLM模型压缩为轻量级学生模型,实现在线服务。实验表明,该方法显著提升了搜索相关性和用户满意度,尤其在多语言场景下表现优异。未来将探索可服务LLM和多模态模型的集成,进一步提升系统效果。
Building Holiday Finds: How Pinterest Engineers Reimagined Gift Discovery
Pinterest推出了“Holiday Finds”功能,旨在简化节日礼物发现过程。通过优化个性化推荐系统,智能生成愿望清单,并结合动态UI框架,为用户提供沉浸式购物体验。技术核心包括候选生成、排名和混合机制,确保推荐内容多样化且符合节日需求。自动生成的愿望清单减少了用户手动操作的繁琐,提升了购物效率。整体设计注重平台兼容性和用户体验,为未来购物功能扩展奠定了基础。
Module Relevance on Homefeed
Pinterest的Homefeed引入了模块化内容,通过动态混合模块和Pins优化用户体验。模块分为落地页和轮播两种类型,提供更多浏览控制和推荐背景。通过疲劳机制,减少用户不感兴趣的模块展示。模块排名模型结合用户互动数据,优化模块排序。跳过槽混合方法根据预测互动动态调整模块位置,确保模块仅在预测互动高于Pins时显示。未来计划进一步优化排名和混合策略。
The Quest to Understand Metric Movements
Pinterest通过三种方法分析关键指标波动的原因:首先,“切片分析”通过细分指标维度,找到显著变化的部分;其次,“通用相似性”通过扫描其他指标,找出与目标指标相似或相反的变化;最后,“实验效应”通过分析A/B测试,识别对指标影响最大的实验。这些方法结合使用,能有效缩小根因搜索范围,提升分析效率。
Advancements in Embedding-Based Retrieval at Pinterest Homefeed
Pinterest Homefeed团队通过嵌入式检索技术提升个性化推荐,采用先进的特征交叉和ID嵌入,升级服务语料库,增强机器学习检索能力。改进的两塔模型引入MaskNet和DHEN框架,以提高用户参与度。预训练ID嵌入和条件检索进一步优化推荐精准度。采用多嵌入检索和条件检索方法,提升多样性和用户交互,提高推荐系统效率。
Establishing a Large Scale Learned Retrieval System at Pinterest
Pinterest通过多阶段推荐系统,利用两塔模型及自动再训练机制,提升内容检索和用户参与度。模型结合用户长期和短期行为进行嵌入生成,采用在线服务和离线索引策略,确保模型版本同步并支持快速回滚。自上线以来,新系统已显著提升用户覆盖率和保存率,成功取代其他候选生成器,实现整体用户参与度的提升。
How Optimizing Memory Management with LMDB Boosted Performance on Our API Service
NGAPI, the API platform for serving all first party client API requests, requires optimized system performance to ensure a high success rate of requests and allow for maximum efficiency to provide Pinners worldwide with engaging content. Recently, our team made a significant improvement in handling memory pressure to our API service by implementing a Lightning Memory-Mapped Database (LMDB) to streamline memory management and enhance the overall efficiency of our fleet of hosts. To handle parallelism, NGAPI relies on a multi-process architecture with gevent for per-process concurrency. However, at Pinterest scale, this can cause an increase in memory pressure, leading to efficiency bottlenecks. Moving to LMDB reduced our memory usage by 4.5%, an increase of 4.5 GB per host, which allowed us to increase the number of processes running on each host from 64 to 66, resulting in a greater number of requests each host could handle and better CPU utilization, thus reducing our overall fleet size. [1] The result? More happy Pinners, per host!