Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.
This release includes several new reductions including contextual bandits with graph feedback as well as a completely new interaction grounded learning reduction. There are also WASM bindings available for Vowpal Wabbit now.
Contextual Bandits (CB) with graph feedback can be used for scenarios where some actions, when taken, reveal information other actions (not taken), or maybe don't reveal any information at all. If there exists prior knowledge of this relationship between actions then that knowledge can be used to make exploration and learning more efficient.
See here for more details.
Interaction grounded learning (IGL) can be used for the scenario where user doesn't have a reward function. It will automatically learn a personalized reward function from user's feedback and optimize directly for the latent user satisfaction
See here for more details
Now that WASM bindings are available, Vowpal Wabbit can be used in JavaScript and TypeScript applications via the npm package. For more details, see here
Full Changelog: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.8.0...9.9.0
Upgrades to benchmarking, naming conventions, and minor bug fixes.
Full Changelog: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.7.0...9.8.0
An Eigen Memory Tree (EMT) is a memory based learning reduction. EMTs will remember previous training examples and use this memory to assign labels to future requested predictions. For more information, see the EMT wiki page
https://github.com/VowpalWabbit/vowpal_wabbit/pull/4297
We are now able to search over cubic interactions on top of quadratic interactions in automl . Automl
Vector CPU instructions for faster computation in the CB with Large Action Space reduction. LAS
Ability to save predict only models from some reductions (automl, epsilon-decay). this removes the reductions from the reduction stack and allows older versions of VW to predict.
[SquareCB] (https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Contextual-Bandit-Exploration-with-SquareCB)
Added support for probabilities output for the PLT reduction + fix it in version 9+.
The goal of explore eval is to evaluate different exploration algorithms using the data from a logged policy. Explore Eval
Full Changelog: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.6.0...9.7.0
This introduces the Large Actions Spaces (LAS) feature. LAS is an algorithm that lets exploration happen efficiently when there are a large number of actions in a contextual bandit dataset. The main idea behind it is to eliminate actions that are similar and explore only over the most diverse actions in the dataset. For more information, see the LAS wiki page.
This release introduces additional style changes to make VW code formatting more consistent. Variable and type names are snake_case
, constants and macros are UPPERCASE
, and the VW::details
namespace is used to hide implementation details.
Through @jackgerrits's changes to some header files, VW now builds much faster! On one machine, compile times went from around 30 seconds to 17.
Full Changelog: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.5.0...9.6.0
This release includes some improvements to the style and naming conventions in VW. This includes using snake_case
for all variable and class names, and converting most structs to classes. These style changes will be standardized and enforced in later releases.
Confidence sequences have become the default estimators when evaluating policies in multi-model reductions such as AutoML and Epsilon Decay.
Full Changelog: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.4.0...9.5.0
We tagged 9.4.0
a few weeks ago but a few delays caused the rest of the release to only be completed now. The contents of these release notes and all associated artifacts correspond to the 9.4.0
tag on September 15.
DotNet core support is here! It works if you manually import dependencies, but it will become automatic in the upcoming 9.4.1
.
As part of RLOS Fest this year @HollowMan6 implemented Native CSV parsing support. It is currently disabled by default but is available using a CMake option (VW_BUILD_CSV
). This feature makes it possible to download CSV datasets and process them without any extra steps. @HollowMan6 also created a tutorial to explain how to use the feature on the well known iris dataset. Thanks for all of your hard work!
Full Changelog: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.3.0...9.4.0
This release includes a new experimental feature to merge VW models and bug fixes.
This release includes a large refactoring of the library structure, support for learn and predict directly from a string in Java, access to model weights in Python, and many more small features and bug fixes.
This release includes a new way to output readable weights, removal of the Boost Program Options dependency, a new loss function and plenty of bug fixes.
This patch releases resolves a build issue when VW is built against fmtlib version 8 or newer as well as a few bugs.