Goto

Collaborating Authors

 ivy



Few-Shot Data-Driven Algorithms for Low Rank Approximation

Neural Information Processing Systems

Recently, data-driven and learning-based algorithms for low rank matrix approximation were shown to outperform classical data-oblivious algorithms by wide margins in terms of accuracy. Those algorithms are based on the optimization of sparse sketching matrices, which lead to large savings in time and memory during testing. However, they require long training times on a large amount of existing data, and rely on access to specialized hardware and software. In this work, we develop new data-driven low rank approximation algorithms with better computational efficiency in the training phase, alleviating these drawbacks. Furthermore, our methods are interpretable: while previous algorithms choose the sketching matrix either at random or by black-box learning, we show that it can be set (or initialized) to clearly interpretable values extracted from the dataset. Our experiments show that our algorithms, either by themselves or in combination with previous methods, achieve significant empirical advantages over previous work, improving training times by up to an order of magnitude toward achieving the same target accuracy.


Enhanced Question-Answering for Skill-based learning using Knowledge-based AI and Generative AI

arXiv.org Artificial Intelligence

Supporting learners' understanding of taught skills in online settings is a longstanding challenge. While exercises and chat-based agents can evaluate understanding in limited contexts, this challenge is magnified when learners seek explanations that delve into procedural knowledge ( how things are done) and reasoning ( why things happen). We hypothesize that an intelligent agent's ability to understand and explain learners' questions about skills can be significantly enhanced using the TMK (Task-Method-Knowledge) model, a Knowledge-based AI framework. We introduce Ivy, an intelligent agent that leverages an LLM and iterative refinement techniques to generate explanations that embody teleological, causal, and compositional principles. Our initial evaluation demonstrates that this approach goes beyond the typical shallow responses produced by an agent with access to unstructured text, thereby substantially improving the depth and relevance of feedback. This can potentially ensure learners develop a comprehensive understanding of skills crucial for effective problem-solving in online environments.


Learning Sparsity and Randomness for Data-driven Low Rank Approximation

arXiv.org Artificial Intelligence

Learning-based low rank approximation algorithms can significantly improve the performance of randomized low rank approximation with sketch matrix. With the learned value and fixed non-zero positions for sketch matrices from learning-based algorithms, these matrices can reduce the test error of low rank approximation significantly. However, there is still no good method to learn non-zero positions as well as overcome the out-of-distribution performance loss. In this work, we introduce two new methods Learning Sparsity and Learning Randomness which try to learn a better sparsity patterns and add randomness to the value of sketch matrix. These two methods can be applied with any learning-based algorithms which use sketch matrix directly. Our experiments show that these two methods can improve the performance of previous learning-based algorithm for both test error and out-of-distribution test error without adding too much complexity.



Let's Unify AI!

#artificialintelligence

At Ivy, we're on a mission to unify all ML frameworks automate code conversions In this post, we introduce Ivy; a new ML framework which currently supports JAX, TensorFlow, PyTorch, MXNet and Numpy. We're very excited for you to try it out! Next on our road-map is to support automatic code conversions between any frameworks, and add instant multi-framework support for all open-source libraries with only a few lines of code changed! The post is split into a number of sub-pages explaining different aspects of why we created Ivy, how to use it, what we've got planned on our road-map, and how to contribute! Click on the sub-headings to check out these pages! We use to indicate that the feature being discussed is in development.


Unifying ML -- The Ivy Stateful API

#artificialintelligence

In this post, we'll be explaining how Ivy's stateful API builds on the functional API and the ivy.Container class to provide other convenient classes in the form of optimizers, network layers and custom trainable modules, which help get your ML projects up and running very quickly! So, without further ado, let's walk through what the stateful API has to offer! The most helpful stateful Ivy class is perhaps the ivy.Module. This can be used to create custom trainable layers or entire networks. Manually defined trainable variables must be specified in the _create_variables method.


Why Unify?

#artificialintelligence

"What is the point of unifying all ML frameworks?" you may ask. You may be perfectly happy with the framework you currently use, and that's great! We live in a time where great ML tools are in abundance, and that's a wonderful thing! We'll give two clear examples of how Ivy can streamline your ML workflow and save you weeks of development time. Let's say DeepMind release an awesome paper in JAX, and you'd love to try it out using your own framework of choice.


The Growing Use Of Artificial Intelligence In Las Vegas

#artificialintelligence

Artificial Intelligence (AI) is changing the parameters of gaming in Las Vegas. To enhance the guest experience, hotels are using technologies like facial recognition, chatbot, etc. to play games, and in someplace, you can find online casinos as well.


Ivy: Templated Deep Learning for Inter-Framework Portability

arXiv.org Artificial Intelligence

We introduce Ivy, a templated Deep Learning (DL) framework which abstracts existing DL frameworks such that their core functions all exhibit consistent call signatures, syntax and input-output behaviour. Ivy allows high-level framework-agnostic functions to be implemented through the use of framework templates. The framework templates act as placeholders for the specific framework at development time, which are then determined at runtime. The portability of Ivy functions enables their use in projects of any supported framework. Ivy currently supports TensorFlow, PyTorch, MXNet, Jax and NumPy. Alongside Ivy, we release four pure-Ivy libraries for mechanics, 3D vision, robotics, and differentiable environments. Through our evaluations, we show that Ivy can significantly reduce lines of code with a runtime overhead of less than 1% in most cases. We welcome developers to join the Ivy community by writing their own functions, layers and libraries in Ivy, maximizing their audience and helping to accelerate DL research through the creation of lifelong inter-framework codebases. More information can be found at https://ivy-dl.org.