feat: Initial Support for FlatBuffer context#608
Draft
lokitoth wants to merge 25 commits into
Draft
Conversation
Currently only working in CB models when using choose_rank().
* Also implement a mechanism to manage collisions between RL and VW api_status.h
Two issues causing a build break due to mismatch between dev and ci C++ standards version: * Earlier C++ standards had problems with detecting types in lambdas for auto * "default" keyword could not be used as a variable name * Compiler cannot disambiguate between typename and variable shadowing the typename in contexts requiring typename
Testing to see if this is causing a build-break in the build nugets workflow
Older versions of the C++ standard could not properly deduce the chain of types to be built up using initializer lists.
There is a fair bit of logic in RLClientLib which is very payload-specific, particularly around dedup and the more complex loop types. In the initial support for FlatBuffer contexts we are going to avoid enabling those scenarios to get to E2E FlatBuffer CB, so we suppress these capabilities when we use FlatBuffer. The fix is to do this correctly and in all cases so we do not run into weird AccessViolation exceptions / SegFaults. The longer-term fix would be to provide a higher-level way to interact with the context (likely via the underlying i_model) to avoid having to deeply understand every single input_serialization type. This is a fairly significant refactor, and beyond the scope of the current effort around FlatBuffers.
Also deprecate onnx.use_unstructured_input in favour of the INPUT_SERIALIZATION configuration parameter.
* Adds support for fb inputs for CB loops * Adds helper for generating fb inputs * Cleans up ActionFlags APIs a little
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add support for using flatbuffer spans as input to RLClientLib when using a VW model.
Note: Currently only working in CB models when using choose_rank().
Stretch: