Продолжает серию интервью с докладчиками PyCon Russia разговор с Мартином Горнером (Париж, Франция).
Мартин Горнер (Martin Gorner) стоял у истоков зарождения электронных книг, начиная с запуска Mobipocket, который позже стал частью программного обеспечения на Amazon Kindle и его мобильных вариантов, а с 2011 года Мартин работает в Google, где активно занимается машинным обучением и TensorFlow — принципиально новой, быстрой, умной и гибкой системой машинного обучения, которая способна работать как на простом смартфоне, так и на тысячах узлов в центрах обработки данных.
Ниже — короткое интервью с Мартином о том, что из себя представляет TensorFlow, почему Google открыли TensorFlow для разработчиков в open source, и чем система может быть интересна разработчику, не знакомому с машинным обучением.
3-4 июля Мартин будет на конференции PyCon Russia 2016
— Could you please tell a few words about TensorFlow? What is this: a set of low-level libraries, a service or a framework?
— Tensorflow is a Python framework for specifically designed for distributed and hardware-accelerated scientific computations. It can do basically anything that is expressed in terms of matrix multiplications and needs to iterate and converge. It uses a deferred execution model where you first define your intent in graph of computations and then execute it. Having the computation graph to work with allows Tensorflow to do a lot of work for you when distributing your computation across multiple nodes or multiple GPUs. For example, you will not have to worry about the way your data is piped to your computation nodes. Tensorflow handles these kinds of low-level logistics.
— Would TensorFlow be interesting to developers who are not acquainted with Machine Learning much? How can it be useful for them?
— Tensorflow today has one high-level library called tensorflow.nn specifically designed for neural networks. We will be expanding this to cover other machine learning algorithms soon. Also, the upcoming Google Cloud ML service will be optimised for neural network training and serving. So today Tensorflow is very specialised in neural networks. That's the part of top interest to developers today. I hope I will be able to show you that deep learning 1) the future and developers have to start looking at it, 2) not so complicated, given the right tools. Tensorflow is such a tool.
— Google doesn't share it's developments with the OpenSource community very often. Sometimes it happens that Google publishes a paper, and third-party developers use it to create products with the same functionality as Google internal services have. Why did Google decide to opensource TensorFlow?
— This is a general trend. Going forward we want to bring more Google technologies to the Open Source world, as full implementations not just papers. The Apache Beam project is another such example. The «dataflow model» for streaming big data computations has been published as a paper but also open-sourced as Apache Beam. This way, you can use dataflow, which is the modern version of MapReduce both on premises using Beam and in the cloud with Google Cloud Dataflow. Kubernetes (Google's container deployment and management technology) followed the same path too. It has now been embraced by the industry with contributions from IBM, Microsoft, VMWare and others.
— What is Google's approach to management of TensorFlow's development?
— Tensorflow is an open source project that is also heavily used internally at Google. Actually, it is the second iteration internally. We had a first version called DistBelief from which we learned a lot and restarted from scratch. Once both our machine learning researchers and our production engineers were happy with Tensorflow as a good tool for research AND a good tool for shipping neural networks as part of customer facing applications, we were ready to share it with the outside world. The community response has been fantastic. Tensorflow became the most-forked machine learning project almost overnight. Since then, community contributions have been welcome and numerous. The top example is TFLearn, a higher-level deep learning library built on Tensorflow, which will shortly be transitioning from Tensorflow/contrib to Tensorflow core.
— How big is contribution to TensorFlow from third-party developers? Was it useful for Google so far?
— Open sourcing Tensorflow was meant to be useful for the machine learning community, not for Google. We believe that machine learning is a new field that more and more developers will be contributing to. As machine learning technologies are applied in real products, the contributions will come in the form of new core algorithms, but also as new ways of shipping deep learning code into production. Tensorflow is meant to be the foundational bridge between research and real-world applications. Good developers, even if they are not specialised in machine learning, can learn fast and become very creative given the right tools. Open sourcing Tensorflow is for us a way of encouraging the growth of the machine learning community beyond its traditional academic roots.
3-го июля Мартин выступит на PyConRu — подробно расскажет про TensorFlow и проведет воркшоп для тех, кто хочет глубже разобраться в ней. Будет возможность познакомиться с Мартином лично.
Доклад Мартина называется «TensorFlow and deep learning, without a PhD»
Спасибо нашим спонсорам: Генеральному спонсору — компании Positive Technologies, Золотому спонсору — компании JetBrains, Серебряным спонсорам — Rambler&Co и Wargaming, Бронзовым спонсорам — Ostrovok.ru и Scrapinghub.