Students to Beat Google’s Machine-Learning Code

Student programmers' image classification algorithm successfully identifies the object in 93% of cases
13 August 2018   1000

Developers-students from Fast.ai which organize free online computer training courses have created an image classification algorithm that successfully identifies the object in 93% of cases and copes with it faster than a similar Google algorithm with a similar configuration. The authors argue that "the creation of breakthrough technologies is not just for big companies". This is reported by MIT Technology Review.

When evaluating performance, the DAWNBench test was used, which calculates the speed and cost of teaching the neural network. During the Fast.ai experiment, the neural network was launched on 16 virtual AWS nodes, each contained 8 NVIDIA V100 graphics cards. This configuration achieved accuracy of 93% in 18 minutes, and the cost of machine time was estimated at $ 40. The result of Fast.ai is faster than the development of Google engineers by 40%, but the corporation uses its own clusters TPU Pod, so the comparison is not entirely objective.

The developers used the PyTorch Python library, as well as their own development - fastai. They were able to achieve this learning speed with the new method of cropping images from the ImageNet dataset: instead of square pictures, they began to use rectangular:

Fast AI
Fast AI

State-of-the-art results are not the exclusive domain of big companies. These are the obvious, dumb things that many researchers wouldn’t even think to do.
 

Jeremy Howard

Founder, Fast.AI

The authors tried to make the project accessible to everyone, so they simplified its infrastructure, refusing to use distributed computing systems and containers. To implement it, developers teamed up with engineers from the innovative division of the Pentagon (DIU) to release software to quickly create and support distributed models on AWS. 

Facebook to Release PyTorch 1.0

This release added support for large cloud platforms, a C ++ interface, a set of JIT compilers
10 December 2018   106

Facebook has released a stable version of the library for machine learning PyTorch 1.0. This iteration added support for large cloud platforms, a C ++ interface, a set of JIT compilers, and various improvements.

The stable version received a set of JIT compilers that eliminate the dependence of the code on the Python interpreter. The model code is transformed into Torch Script - a superstructure over Python. Keeping the opportunity to work with the model in the Python environment, the user can download it to other projects not related to this language. So, the PyTorch developers state that the code processed in this way can be used in the C ++ API.

The torch.distributed package and the torch.nn.parallel.DistributedDataParallel module are completely redesigned. torch.distributed now has better performance and works asynchronously with the Gloo, NCCL and MPI libraries.

The developers added a C ++ wrapper to PyTorch 1.0. It contains analogs of Python interface components, such astorch.nn,torch.optim, torch.data. According to the creators, the new interface should provide high performance for C ++ applications. True, the C ++ API is still experimental, but it can be used in projects now.

To improve the efficiency of working with PyTorch 1.0, a Torch Hub repository has been created, which stores pre-trained models of neural networks. You can publish your own development using the hubconf.py file, after which the model will be available for download by any user via the torch.hub.load API.

Support for C extensions and the module torch.utils.trainer were removed from the library.

Facebook released the preliminary version of PyTorch 1.0 at the beginning of October 2018, and in two months the developers brought the framework to a stable state.