9.9.0
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 with Graph Feedback
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.
Contextual Bandits with interaction grounded learning
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
Vowpal Wabbit package in npm
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
Click here to see all changes in this release
What's Changed
- test: [automl] improve runtest and test changes by @lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4531
- fix: fix multiline typo by @swaptr in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4533
- refactor: separate cb_to_cs_adf_mtr and cb_to_cs_adf_dr by @bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4532
- feat: add a training loss calculation to the predict method of PLT reduction by @mwydmuch in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4534
- refactor: [workspace] split 'all' into multiple structs. split config and runtime vars. by @lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4493
- fix: [parser] Fix potential crash on unjoined parser thread by @peterychang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4537
- chore: remove 404 link by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4547
- feat: system for compile feature flags by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4544
- refactor: migrate csv to feature by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4550
- feat: IGL reduction by @cheng-tan in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4295
- refactor: move to flatbuffers feature by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4553
- feat: print features in version by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4549
- build: make lda optional with compile feature by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4555
- fix: deprecated github actions by @bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4559
- feat: IGL save resume by @cheng-tan in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4554
- refactor: migrate las simd to compile feature by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4558
- build: add search compile feature by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4561
- feat(CB_GF): correct update rule and simulation unit test by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4565
- feat(CB_GF): turn on graph feedback in generated python wheels by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4566
- feat(CB_GF): accept graph in json format by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4568
- refactor: make allow_override for vector option a compile error instead of runtime error by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4569
- fix: benchmark ci by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4572
- feat: Networking compile time flag by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4571
- feat: initial WASM support by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4562
- feat: WASM initial CB model API by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4574
- fix: [epsilon_decay] dont use exploration for challenger p_pred by @bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4576
- feat: WASM VW JS wrapper file/classes by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4575
- feat: WASM logging examples to file by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4578
- fix: pydoc ci by @bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4577
- feat: WASM sample pmf and predict_and_sample by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4579
- feat: IGL predict only model by @cheng-tan in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4573
- docs: WASM add jsdoc comments to vw.js by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4580
- refactor: WASM separate logging class by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4582
- feat: Build vw-wasm for browser plugin by @cheng-tan in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4583
- feat: Add emt_initial flag to the EMT reduction by @mrucker in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4556
- test: turn on tests for rlos2023 by @ataymano in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4586
- test: python ci on rlos PR by @ataymano in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4588
- feat: option for user to pass in an array and receive and array durin… by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4584
- fix: [epsilon_decay] deterministic p_pred bug by @bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4590
- docs: add readme with examples and API docs by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4592
- feat: WASM packaging by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4593
- feat: WASM typescript instead of javascript for vw wrapper by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4594
- fix: WASM package scoping and cleanup error class check by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4596
- fix: WASM versioned docs and 0.0.4 release by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4598
- fix(CB_GF): correct constraints, huge cleanup, and clip and normalize probabilities by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4581
- feat: WASM both node and es6 and version bump to 0.0.5 by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4601
- fix: WASM npm install and test before publish and version bump 0.0.6 by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4602
- build: enable warnings for non exhaustive switches by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4570
- refactor: [eps_decay] Remove unused estimator include by @lalo in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4604
- feat: expose explore eval stats to python interface by @olgavrou in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4451
- fix: vcpkg for windows ci by @bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4608
- fix: [epsilon_decay] save_load weight indices by @bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4606
- feat: flag to save and load per model state by @bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4605
- fix: Add error message when passing unsigned integers to tovw by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4610
- perf: only format model values if writing text model by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4613
- feat: add dense example creation func to wasm by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4615
- fix: changing ftrl defaults by @ataymano in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4607
- fix: hide graph feedback tests behind flag by @bassmang in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4617
- chore: update version to 9.9.0 by @jackgerrits in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4625
New Contributors
- @swaptr made their first contribution in https://github.com/VowpalWabbit/vowpal_wabbit/pull/4533
Full Changelog: https://github.com/VowpalWabbit/vowpal_wabbit/compare/9.8.0...9.9.0