Goto

Collaborating Authors

 product code


Efficient Multi-stage Inference on Tabular Data

arXiv.org Artificial Intelligence

Many ML applications and products train on medium amounts of input data but get bottlenecked in real-time inference. When implementing ML systems, conventional wisdom favors segregating ML code into services queried by product code via Remote Procedure Call (RPC) APIs. This approach clarifies the overall software architecture and simplifies product code by abstracting away ML internals. However, the separation adds network latency and entails additional CPU overhead. Hence, we simplify inference algorithms and embed them into the product code to reduce network communication. For public datasets and a high-performance real-time platform that deals with tabular data, we show that over half of the inputs are often amenable to such optimization, while the remainder can be handled by the original model. By applying our optimization with AutoML to both training and inference, we reduce inference latency by 1.3x, CPU resources by 30%, and network communication between application front-end and ML back-end by about 50% for a commercial end-to-end ML platform that serves millions of real-time decisions per second. The crucial role of AutoML is in configuring first-stage inference and balancing the two stages.


ProductAE: Toward Deep Learning Driven Error-Correction Codes of Large Dimensions

arXiv.org Artificial Intelligence

While decades of theoretical research have led to the invention of several classes of error-correction codes, the design of such codes is an extremely challenging task, mostly driven by human ingenuity. Recent studies demonstrate that such designs can be effectively automated and accelerated via tools from machine learning (ML), thus enabling ML-driven classes of error-correction codes with promising performance gains compared to classical designs. A fundamental challenge, however, is that it is prohibitively complex, if not impossible, to design and train fully ML-driven encoder and decoder pairs for large code dimensions. In this paper, we propose Product Autoencoder (ProductAE) -- a computationally-efficient family of deep learning driven (encoder, decoder) pairs -- aimed at enabling the training of relatively large codes (both encoder and decoder) with a manageable training complexity. We build upon ideas from classical product codes and propose constructing large neural codes using smaller code components. ProductAE boils down the complex problem of training the encoder and decoder for a large code dimension $k$ and blocklength $n$ to less-complex sub-problems of training encoders and decoders for smaller dimensions and blocklengths. Our training results show successful training of ProductAEs of dimensions as large as $k = 300$ bits with meaningful performance gains compared to state-of-the-art classical and neural designs. Moreover, we demonstrate excellent robustness and adaptivity of ProductAEs to channel models different than the ones used for training.


ProductAE: Towards Training Larger Channel Codes based on Neural Product Codes

arXiv.org Artificial Intelligence

There have been significant research activities in recent years to automate the design of channel encoders and decoders via deep learning. Due the dimensionality challenge in channel coding, it is prohibitively complex to design and train relatively large neural channel codes via deep learning techniques. Consequently, most of the results in the literature are limited to relatively short codes having less than 100 information bits. In this paper, we construct ProductAEs, a computationally efficient family of deep-learning driven (encoder, decoder) pairs, that aim at enabling the training of relatively large channel codes (both encoders and decoders) with a manageable training complexity. We build upon the ideas from classical product codes, and propose constructing large neural codes using smaller code components. More specifically, instead of directly training the encoder and decoder for a large neural code of dimension $k$ and blocklength $n$, we provide a framework that requires training neural encoders and decoders for the code parameters $(n_1,k_1)$ and $(n_2,k_2)$ such that $n_1 n_2=n$ and $k_1 k_2=k$. Our training results show significant gains, over all ranges of signal-to-noise ratio (SNR), for a code of parameters $(225,100)$ and a moderate-length code of parameters $(441,196)$, over polar codes under successive cancellation (SC) decoder. Moreover, our results demonstrate meaningful gains over Turbo Autoencoder (TurboAE) and state-of-the-art classical codes. This is the first work to design product autoencoders and a pioneering work on training large channel codes.


Run with ML.NET C# code a TensorFlow model exported from Azure Cognitive Services Custom Vision

#artificialintelligence

With ML.NET and related NuGet packages for TensorFlow you can currently do the following: Here's a Getting started sample on scoring a TensorFlow model which is using the Inception pre-trained TensorFlow model. Transfer Learning on top of a pre-trained TensorFlow model: You can re-use part of an already pre-trained TensorFlow model (such as the Inception pre-trained TensorFlow model) to build a new model trained with additional samples for the final layer, such as trained with new images. For instance, see this Tutorial on how to use Transfer Learning with ML.NET by using an already trained Image Classifier TensorFlow model to build a new custom model to classify images into different categories. However, in the scenario where you want to train with your own images, the Transfer Learning approach can be a bit complex because even without taking into account the code implementation for transfer learning you'll need to find a base TensorFlow model to train on top of it which was originally trained with similar image types to your new images. Here's some specific examples to understand that statement: For instance, the TensorFlow Inception model was trained with photos of may objects, animals, vegetables and people, so you could train the final layer, let's say with photos of'super heroes', and the model will clasify properly images of specific'super heroes'.


How Coca-Cola is using AI to stay at the top of the soft drinks market - AI News

#artificialintelligence

As the world's largest beverage company, Coca-Cola serves more than 1.9 billion drinks every day, across over 500 brands, including Diet Coke, Coke Zero, Fanta, Sprite, Dasani, Powerade, Schweppes and Minute Maid. Big data and artificial intelligence (AI) power everything that the business does – the global director of digital innovation, Greg Chambers, said: "Artificial intelligence is the foundation for everything we do. Artificial intelligence is the kernel that powers that experience." Marketing soft drinks around the world is not a "one-size-fits-all affair". Coca-Cola products are marketed and sold in over 200 countries.