class_docstr: BLOOM Critic model.
  
  Args:
      pretrained (str): Pretrained model name or path.
      config (BloomConfig): Model config.
      lora_rank (int): LoRA rank.
      lora_train_bias (str): LoRA bias training mode.
code: def __init__(
      self,
      pretrained: str = None,
      config: Optional[BloomConfig] = None,
      lora_rank: int = 0,
      lora_train_bias: str = "none",
      **kwargs,
  ) -> None:
      if pretrained is not None:
          model = BloomModel.from_pretrained(pretrained)
      elif config is not None:
          model = BloomModel(config)
      else:
          model = BloomModel(BloomConfig())
  
      value_head = nn.Linear(model.config.hidden_size, 1)
      super().__init__(
          model, value_head, lora_rank, lora_train_bias, **kwargs
      )
  
imports: from typing import Optional
  import torch.nn
  from transformers import BloomConfig, BloomModel
  from ..base import Critic
label_desc: Use image node_id 1 to create a new BLOOMCritic object from inherited base classes: Critic with example: obj = BLOOMCritic(pretrained, config, lora_rank, lora_train_bias)