colossalai

Форк
0
36 строк · 1.1 Кб
1
from typing import Optional
2

3
import torch.nn as nn
4
from transformers import OPTConfig, OPTModel
5

6
from ..base import RewardModel
7

8

9
class OPTRM(RewardModel):
10
    """
11
    OPT Reward model.
12

13
    Args:
14
        pretrained (str): Pretrained model name or path.
15
        config (OPTConfig): Model config.
16
        lora_rank (int): Rank of the low-rank approximation.
17
        lora_train_bias (str): LoRA bias training mode.
18
    """
19

20
    def __init__(
21
        self,
22
        pretrained: Optional[str] = None,
23
        config: Optional[OPTConfig] = None,
24
        lora_rank: int = 0,
25
        lora_train_bias: str = "none",
26
    ) -> None:
27
        if pretrained is not None:
28
            model = OPTModel.from_pretrained(pretrained)
29
        elif config is not None:
30
            model = OPTModel(config)
31
        else:
32
            model = OPTModel(OPTConfig())
33

34
        value_head = nn.Linear(model.config.word_embed_proj_dim, 1)
35
        value_head.weight.data.normal_(mean=0.0, std=1 / (model.config.word_embed_proj_dim + 1))
36
        super().__init__(model, value_head, lora_rank, lora_train_bias)
37

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.