Overview
The article provides a comprehensive overview of the highlights from the Uber Engineering Blog in 2019, showcasing significant advancements and contributions in various technical domains such as machine learning, data science, and open-source projects. It emphasizes the importance of sharing knowledge and technical insights with the broader engineering community.
What You'll Learn
1
How to implement a code-free deep learning toolbox using Ludwig
2
Why using GPU-powered analytics can improve real-time data processing
3
How to optimize app performance using the QUIC protocol
4
When to apply graph learning techniques for food recommendations
Prerequisites & Requirements
- Understanding of machine learning concepts
- Familiarity with TensorFlow and GPU technologies(optional)
Key Questions Answered
What are the key features of Ludwig, Uber's deep learning toolbox?
Ludwig is an open-source deep learning toolbox that allows users to train and test machine learning models without writing code. It simplifies the process of building ML models by providing a user-friendly interface and supports various data types, making it accessible for both experts and non-experts.
How does AresDB enhance real-time analytics at Uber?
AresDB is a GPU-powered open-source analytics engine that enables Uber to perform real-time data processing efficiently. By leveraging GPU technology, it allows for faster computations and better scalability, which is crucial for handling Uber's vast data needs.
What improvements does the QUIC protocol bring to Uber's app performance?
The QUIC protocol reduces network tail-end latency by up to 30% compared to TCP, enhancing the performance of real-time tasks in Uber's apps. This improvement is particularly beneficial for functionalities like tracking delivery personnel in real-time.
What insights were gained from measuring Kotlin build performance at Uber?
Uber's analysis of Kotlin build performance involved conducting 129 experiments to compare Kotlin and Java. The results highlighted various performance metrics and nuances, providing valuable insights for mobile developers considering Kotlin for Android app development.
Technologies & Tools
Some links below are affiliate links. We may earn a commission if you make a purchase.
Machine Learning Toolbox
Ludwig
Used for building and testing machine learning models without writing code.
Analytics Engine
Aresdb
Provides real-time analytics powered by GPU technology.
Network Protocol
Quic
Optimizes network performance for Uber's applications.
Programming Language
Kotlin
Used for Android app development and performance analysis.
Key Actionable Insights
1Implementing GPU-powered analytics can significantly enhance data processing speeds.By utilizing AresDB, teams can achieve faster insights from their data, which is essential for making timely business decisions in a fast-paced environment.
2Adopting the QUIC protocol can lead to noticeable improvements in app performance.This is particularly relevant for applications that require real-time data transmission, such as delivery tracking, where reduced latency can enhance user experience.
3Utilizing Ludwig can democratize machine learning within teams.By enabling non-experts to build and test models without coding, organizations can leverage a wider range of talents and foster innovation.
Common Pitfalls
1
Neglecting the importance of network protocols can lead to performance bottlenecks.
Many engineers focus on application logic without considering how data is transmitted. Implementing modern protocols like QUIC can mitigate these issues.
Related Concepts
Machine Learning
Real-time Analytics
Network Protocols
Mobile Development