话题公司 › lyft

公司:lyft

来福车(英语:Lyft)是一家交通网络公司,总部位于美国加利福尼亚州旧金山,以开发移动应用程序连结乘客和司机,提供载客车辆租赁及媒合共乘的分享型经济服务。乘客可以通过发送短信或是使用移动应用程序来预约车辆,利用移动应用程序时还可以追踪车辆位置。

Lyft 拥有 30% 的市场份额,是美国仅次于优步的第二大的叫车公司。

Migrating Lyft’s Android Codebase to Kotlin

Lyft安卓团队耗时7年完成Java到Kotlin的全量迁移,2022年后重点攻克剩余15%代码。通过自研迁移追踪工具和自动化脚本,日均处理2个模块,最终覆盖20+团队的150+模块。迁移中遇到空类型泛滥、循环语句冗余等编译器缺陷,还处理了历史遗留的INullable接口和特定设备API兼容问题。现通过CI检查彻底杜绝Java回退,全面拥抱Kotlin特性如协程和Compose框架。(138字)

Lyft’s Feature Store: Architecture, Optimization, and Evolution

Lyft的特征存储是其数据平台的核心基础设施,专为大规模机器学习特征的管理和部署优化。该系统通过批处理、在线和流式处理三种方式,简化了特征的生命周期管理,确保特征的一致性和高效访问。在线服务层结合DynamoDB和ValKey缓存,实现低延迟特征检索。系统还支持特征发现、版本控制和数据质量管理,显著提升了ML模型的开发效率和用户体验。

Trusting the Untestable: Validation and Diagnostics for the Doubly Robust Models

Lyft工程团队探讨了在无法进行随机实验时,如何通过准实验方法评估政策和产品变化的因果效应。重点介绍了双重稳健模型(AIPW),该模型通过拟合结果模型和倾向得分模型,在至少一个模型正确的情况下,能够一致估计平均处理效应(ATE)。文章还强调了验证的重要性,尤其是在处理选择偏差和协变量平衡时,提出了严格的诊断和验证机制,以确保结果的可靠性。通过实验与观察数据的对比,验证了AIPW模型的准确性,并探讨了其在实际应用中的局限性。

Scaling Localization with AI at Lyft

Lyft通过AI重构翻译流程,结合LLM生成与评估,实现从多天到分钟的翻译速度,同时保障质量。系统分三个阶段:草稿生成、早期发布和最终审核。LLM处理上下文,生成多种翻译候选,评估模型筛选最优方案,并通过反馈迭代优化。引入术语表和防护机制,确保品牌术语和格式一致性。实验配置和多模型支持进一步提升效率和准确性,满足全球市场快速扩展需求。

From Python3.8 to Python3.10: Our Journey Through a Memory Leak

在Python 3.10升级过程中,Lyft团队遇到内存泄漏问题,导致服务延迟飙升。通过内存分析工具tracemalloc和内部库,团队发现pynamodb与gevent的兼容性问题引发了连接池未释放的现象。最终通过降级urllib3版本解决了问题。调试内存泄漏需关注未释放资源、全局缓存及库升级等因素,且无通用解决方案。

LyftLearn Evolution: Rethinking ML Platform Architecture

Lyft的机器学习平台LyftLearn从全Kubernetes架构演变为混合架构,采用AWS SageMaker处理离线计算任务,保留Kubernetes用于在线模型服务。通过SageMaker,Lyft简化了复杂的离线任务管理,减少了基础设施维护负担,同时保持了与Kubernetes环境的兼容性。这一转变提升了系统可靠性,降低了成本,并释放了团队资源,专注于平台能力的扩展。

Intern Experience at Lyft

两位Lyft数据科学家分享了从实习生到全职员工的成长经历。Morteza通过EDF Climate Corps项目加入Lyft,专注于可持续发展和电动车推广,利用因果模型评估电动车对司机生产力的影响。他强调在快节奏环境中平衡执行速度与质量的重要性,并建议实习生主动寻求指导,全面负责项目。他的工作不仅推动了内部策略,还在学术期刊上发表,展现了数据科学在实际问题中的价值。

Solving Dispatch in a Ridesharing Problem Space

匹配司机与乘客的问题可通过图论建模为二分图,利用加权边表示匹配收益。匹配问题可转化为整数线性规划,目标为最大化总权重。实际应用中,需实时更新权重以反映动态变化,选择合适的批次间隔以平衡计算效率与服务质量。优化算法如匈牙利法用于求解最优匹配,但需兼顾长期效率,避免短视决策导致的次优结果。

How science inspires our ETA models

在交通中,看似随机的红绿灯和拥堵事件实际上隐藏着规律。长距离行驶中,尽管短期延误不同,但整体到达时间趋于一致。通过分析多段行程的平均行驶时间,发现随着距离增加,时间波动逐渐平滑,趋于正态分布。这一现象类似于中心极限定理,表明交通模式在长期统计上具有稳定性。

Beyond Query Optimization: Aurora Postgres Connection Pooling with SQLAlchemy & RDSProxy

使用RDS Proxy时,需注意会话固定和语句超时问题。会话固定会减少连接池复用,可通过监控和日志排查原因。语句超时可通过用户级别设置解决。此外,代理会增加网络延迟,但对大多数API影响不大。建议优化查询模式,减少会话固定行为,以充分利用连接池优势。

Real-Time Spatial Temporal Forecasting @ Lyft

实时时空预测用于高精度预测市场信号,如网约车供需。动态定价和司机激励是主要应用场景。高维高频数据带来计算和噪声挑战,影响模型选择和准确性。时间序列模型和神经网络模型各有优劣,前者在短期预测和低延迟场景表现更佳,后者在长期预测中更准确。模型选择需权衡精度与工程成本,简单模型在现实应用中更具优势。

From manual fixes to automatic upgrades — building the Codemod Platform at Lyft

借助jscodeshift库,我们构建了自动化代码转换平台,支持TS、JS、YAML等文件处理,简化了依赖升级和代码迁移。通过标准化命名、可复用的辅助函数及第三方工具集成,平台提升了开发效率,减少了手工操作。未来计划引入AI辅助,进一步优化本地开发和CI流程,推动代码现代化。

FacetController: How we made infrastructure changes at Lyft simple

Lyft通过FacetController优化Kubernetes部署流程,将微服务拆解为多个可部署的组件(Facet)。FacetController基于Kubernetes自定义资源定义(CRD)管理这些组件,自动生成相关资源并处理更新,大幅简化了基础设施变更和回滚操作。此举减少了大规模部署的需求,提升了开发效率和系统稳定性,尤其在自动扩展、集群升级和资源管理方面表现显著。

Using Marketplace Marginal Values to Address Interference Bias

本文探讨了在资源有限的情况下,边际价值(MMV)如何影响骑手和司机的匹配,以及如何通过影子价格和优化问题来计算MMV。通过MMV方法,可以有效调整实验中的效果大小,特别是在用户分割实验中解决干扰问题。Lyft的实践表明,MMV校正可导致实验结果更符合市场实际情况,并在某些情况下改变产品发布决策。

Integrating Extensions into Large-Scale iOS apps

Today, when you open Apple Maps and choose a destination, you are able to see a list of available Lyft offers, seamlessly routing you to the Lyft app to book your next ride. To create this fluid and user-friendly experience across the iOS ecosystem, however, engineers must tackle a range of technical challenges, from managing dependencies in a highly modular application to optimizing performance while maintaining a high quality user experience.

Disclaimer: For the purpose of this deep dive, we assume that you have a general understanding of what a build system is, including concepts like modules, static/dynamic frameworks, dependency graphs and build settings customization via flags.

Protocol Buffer Design: Principles and Practices for Collaborative Development

At Lyft Media, we’re obsessed with building flexible and highly reliable native ad products. Since our technical stack encompasses mobile clients on both iOS and Android, as well as multiple backend services, it is crucial to ensure robust and efficient communication between all involved entities. For this task we are leveraging Protocol Buffers, and we would like to share the best practices that are helping us achieve this goal. This article focuses on our experience addressing the challenges that come with collaborating on shared protocols in teams where people with different levels of familiarity and historical context, or even people outside the team, get to contribute. The problem of development process quality is prioritized over raw efficiency optimizations.

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.0. UTC+08:00, 2026-03-24 20:04
浙ICP备14020137号-1 $Гость$