Conference: Nov 13-15, 2017
Workshops: Nov 16-17, 2017
Presentation: TensorFlow: A Flexible, Scalable & Portable System
Duration
Level:
- Intermediate
Persona:
- Architect
- CTO/CIO/Leadership
- Data Scientist
- Developer
- General Software
Key Takeaways
- Hear key design considerations of TensorFlow from the Engineering Director leading development.
- Understand the issues surrounding running models on mobile/embedded devices and how TensorFlow is being built to address these issues.
- Understand tradeoffs when designing for various platforms, including GCP and Mobile.
Abstract
TensorFlow is an open source software library for numerical computation using data flow graphs. Developed by researchers and engineers at Google for the purposes of conducting machine-learning and deep neural networks research, TensorFlow leverages a general computational model that is applicable in a wide variety of other domains, especially for performing large-scale numerical computations.
In this talk we will cover why we built TensorFlow and what were some of the technical challenges in building it.
Interview
RAJAT: TensorFlow is an open source software library for numerical computation using data flow graphs. One of the most interesting things happening with machine learning is that once you have a trained model, it’s not about just running it on your server anymore.
More and more we are seeing interest in putting those models on varied devices, including phones and embedded devices. There is a huge set of things you have to consider (many with different kinds of constraints) when you consider these things. For example, there are differences between running on a CPU versus running GPU.
When you go out to these small devices (such as a mobile phone in your pocket, or this little camera or something in your home) the question is how do you design the system, so it works across all of these things?
RAJAT: When you are designing a system that needs to run across many different platforms, one of the things that has been key (say, if you are going from say a data center to a phone) is how you think about resource management. You really have to think about the phone in advance.
While there are also complexities in the data center, when you go down to something like a phone the issues that you are looking at are maybe power not just compute. I plan to discuss trade offs, such as how to choose different algorithms on different platforms. All of these types of things become very important.
RAJAT: The discussion has a focus on architectural decisions. How can we plug in different parts in the system, different devices in the back end and still keep the same frontend? How do we layer? This is opposed to talking about the specifics of how do you optimize for a phone, or how do you optimize for a datacenter.
RAJAT: This talk is focuses on architects and senior tech leads. Engineers would benefit as well. While it’s not focused on the machine learning side of it for data scientists, they may come away with some interesting information.
RAJAT: I think machine learning is changing things. Here at Google, we already use it in everything that we do, we’ve seen so many improvements, and I see that really continuing to grow.
Similar Talks
.
Tracks
Monday Nov 7
-
Architectures You've Always Wondered About
You know the names. Now learn lessons from their architectures
-
Distributed Systems War Stories
“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.” - Lamport.
-
Containers Everywhere
State of the art in Container deployment, management, scheduling
-
Art of Relevancy and Recommendations
Lessons on the adoption of practical, real-world machine learning practices. AI & Deep learning explored.
-
Next Generation Web Standards, Frameworks, and Techniques
JavaScript, HTML5, WASM, and more... innovations targetting the browser
-
Optimize You
Keeping life in balance is a challenge. Learn lifehacks, tips, & techniques for success.
Tuesday Nov 8
-
Next Generation Microservices
What will microservices look like in 3 years? What if we could start over?
-
Java: Are You Ready for This?
Real world lessons & prepping for JDK9. Reactive code in Java today, Performance/Optimization, Where Unsafe is heading, & JVM compile interface.
-
Big Data Meets the Cloud
Overviews and lessons learned from companies that have implemented their Big Data use-cases in the Cloud
-
Evolving DevOps
Lessons/stories on optimizing the deployment pipeline
-
Software Engineering Softskills
Great engineers do more than code. Learn their secrets and level up.
-
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS ideas
Wednesday Nov 9
-
Architecting for Failure
Your system will fail. Take control before it takes you with it.
-
Stream Processing
Stream Processing, Near-Real Time Processing
-
Bare Metal Performance
Native languages, kernel bypass, tooling - make the most of your hardware
-
Culture as a Differentiator
The why and how for building successful engineering cultures
-
//TODO: Security <-- fix this
Building security from the start. Stories, lessons, and innovations advancing the field of software security.
-
UX Reimagined
Bots, virtual reality, voice, and new thought processes around design. The track explores the current art of the possible in UX and lessons from early adoption.