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