Skip to content

Commit 15bdbb8

Browse files
authored
Make BLEURT lazy (#536)
* make bleur lazy * make tokenizer lazy too
1 parent 1ce7331 commit 15bdbb8

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/lighteval/metrics/metrics_sample.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -708,9 +708,21 @@ def __init__(self):
708708
"""Creates a BLEURT scorer using a light bleurt-tiny-512 model.
709709
For more complex use cases, could also be Elron/bleurt-base-128
710710
"""
711-
self.tokenizer = AutoTokenizer.from_pretrained("Elron/bleurt-tiny-512")
712-
self.model = AutoModelForSequenceClassification.from_pretrained("Elron/bleurt-tiny-512")
713-
self.model.eval()
711+
self._tokenizer = None
712+
self._model = None
713+
714+
@property
715+
def tokenizer(self):
716+
if self._tokenizer is None:
717+
self._tokenizer = AutoTokenizer.from_pretrained("Elron/bleurt-tiny-512")
718+
return self._tokenizer
719+
720+
@property
721+
def model(self):
722+
if self._model is None:
723+
self._model = AutoModelForSequenceClassification.from_pretrained("Elron/bleurt-tiny-512")
724+
self._model.eval()
725+
return self._model
714726

715727
def compute(self, golds: list[str], predictions: list[str], **kwargs) -> float:
716728
"""Uses the stored BLEURT scorer to compute the score on the current sample.

0 commit comments

Comments
 (0)