def __init__(
      self,
      model_name: str = 'google/gemma-2b-it',
      *,
      measurements: measurements_lib.Measurements | None = None,
      channel: str = language_model.DEFAULT_STATS_CHANNEL,
      device: str = 'cpu'
  ) -> None:
    """Initializes the instance.

    Args:
        model_name: The local language model to use. For more details,
          see transformers.AutoModelForCausalLM at huggingface.
        measurements: The measurements object to log usage statistics to.
        channel: The channel to write the statistics to.
        device: Specifies whether to use cpu or cuda for model processing.
    """
    self._model_name = model_name
    self._tokenizer_name = model_name
    self._device = device

    os.environ['TOKENIZERS_PARALLELISM'] = 'false'

    self._model = transformers.GemmaForCausalLM.from_pretrained(
        self._model_name).to(self._device)
    self._tokenizer = transformers.AutoTokenizer.from_pretrained(
        self._tokenizer_name)

    self._measurements = measurements
    self._channel = channel

    self._text_system_message = (
        'You always continue sentences provided by the user and you never ' +
        'repeat what the user already said.')
Initializes the instance.

    Args:
        model_name: The local language model to use. For more details,
          see transformers.AutoModelForCausalLM at huggingface.
        measurements: The measurements object to log usage statistics to.
        channel: The channel to write the statistics to.
        device: Specifies whether to use cpu or cuda for model processing.
    
concordia/language_model/pytorch_gemma_model.py