aws / fmeval

Foundation Model Evaluations Library
http://aws.github.io/fmeval
Apache License 2.0
153 stars 40 forks source link

feat: implement helper models used by evaluation algorithms #210

Closed danielezhu closed 3 months ago

danielezhu commented 3 months ago

Description of changes: This PR ports over a copy of the helper models from fmeval.eval_algorithms.helper_models.helper_model into fmeval.helper_models. The reason behind keeping the old code is that I don't to make half-baked changes that will break the existing evaluation algorithm implementations. Eventually, when all evaluation algorithms use the new Transform-based design, I will obviously get rid of fmeval.eval_algorithms.helper_models.helper_model.

Note that the new helper model code isn't exactly the same as the original code, but the changes are mainly minor cleanup.

This PR also implements the create_shared_resource utility function, which is used to create a Ray actor out of a "shared resource" (which is typically an object that consumes lots of memory, like a helper model). This utility function allows us to decouple the helper models from Ray, which is one problem that the current implementation of BertscoreHelperModel faces (notice how there is the @ray.remote decorator on top of the class in our current implementation).

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.