[PATCH] D81515: [llvm] Release-mode ML InlineAdvisor

Mircea Trofin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 10 16:08:30 PDT 2020


mtrofin added a comment.

In D81515#2084261 <https://reviews.llvm.org/D81515#2084261>, @efriedma wrote:

> If there's some standardized binary format for models, that's might be okay?  By analogy, there are some PNG files in the documentation; we don't insist people use XPM or something like that.  There are some technical reasons to prefer text, though: it would allow someone to identify or diff the contents of the files without specialized tools.


It's the tensorflow format for models - https://www.tensorflow.org/guide/saved_model

> I'm more concerned about adding an opaque matrix of coefficients nobody can reproduce into the codebase.  I think before we commit a generated model, the training tool needs to be committed, and someone needs to verify they can independently reproduce the generated model using that tool.  I think it's important we set the right precedent here.

We are on the same page - we do plan to release the training tools for developers wishing to produce their own models. It may be natural to do that first step first, but in this case, we believe the staging described in the RFC may have some merit (we should have described our motivation in the RFC, come to think of it). The main motivation for starting with the LLVM components (both ‘release mode’ and ‘development mode’, which I plan to submit next), and then making the training tools available (in a separate repository <https://github.com/google/ml-compiler-opt>), is that having the LLVM components available allows for quicker experimentation by our partner teams, thus allowing us to parallelize work on upstreaming the training components with more ML exploration with those teams.

IIUC, being an experimental feature that is conditionally-compiled in LLVM, this staging wouldn't have any material downside to anyone, while helping us maintain velocity. Importantly, because this is an optionally-built component, there should be no impact on "business as usual" LLVM developers, and, in particular, the build bots <https://github.com/google/ml-compiler-opt/blob/master/buildbot/buildbot_init.sh> testing this feature are pointing to the silent master.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D81515/new/

https://reviews.llvm.org/D81515





More information about the llvm-commits mailing list