File size: 6,066 Bytes
3a16312
 
0b2bbec
 
 
 
 
 
 
 
 
 
3a16312
 
 
0b2bbec
 
3a16312
 
7e3ab48
3a16312
0b2bbec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40ce112
0b2bbec
40ce112
 
0b2bbec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3a16312
 
e38792e
0b2bbec
 
3a16312
e38792e
0b2bbec
3a16312
 
 
0b2bbec
7e3ab48
3a16312
0b2bbec
 
 
 
 
 
 
 
3a16312
 
0b2bbec
 
3a16312
 
 
 
7e3ab48
3a16312
0b2bbec
 
 
 
05793c4
0b2bbec
 
 
 
05793c4
3a16312
 
7e3ab48
 
 
 
 
 
 
3a16312
0b2bbec
3a16312
40ce112
3a16312
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
---
library_name: transformers
license: cc-by-nc-4.0
datasets:
- kyujinpy/KOR-OpenOrca-Platypus-v3
language:
- ko
- en
tags:
- Economic
- Finance
base_model: davidkim205/komt-mistral-7b-v1
---


# Model Details
Model Developers: Sogang University SGEconFinlab(<<https://sc.sogang.ac.kr/aifinlab/>)


## Model Description

This model is a language model specialized in economics and finance. This was learned with various economic/finance-related data.
The data sources are listed below, and we are not releasing the data that we trained on because it was used for research/policy purposes. 
If you wish to use the original data, please contact the original author directly for permission to use it.

- **Developed by:** Sogang University SGEconFinlab(<https://sc.sogang.ac.kr/aifinlab/>)
- **License:** cc-by-nc-4.0
- **Base Model:** davidkim205/komt-mistral-7b-v1(<https://huggingface.co/davidkim205/komt-mistral-7b-v1>)


## Loading the Model

    peft_model_id = "SGEcon/komt-mistral-7b-v1_fin_v5"
    config = PeftConfig.from_pretrained(peft_model_id)
    bnb_config = BitsAndBytesConfig(
        load_in_4bit=True,
        bnb_4bit_use_double_quant=True,
        bnb_4bit_quant_type="nf4",
        bnb_4bit_compute_dtype=torch.bfloat16
    )
    model = AutoModelForCausalLM.from_pretrained(config.base_model_name_or_path, quantization_config=bnb_config, device_map={"":0})
    model = PeftModel.from_pretrained(model, peft_model_id)
    tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)
    model.eval()
    streamer = TextStreamer(tokenizer)

## Conducting Conversation

    def gen(x):
        generation_config = GenerationConfig(
            temperature=0.9,
            top_p=0.8,
            top_k=50,
            max_new_tokens=256,
            early_stopping=True,
            do_sample=True,
        )
        q = f"[INST]{x} [/INST]"
        gened = model.generate(
            **tokenizer(
                q,
                return_tensors='pt',
                return_token_type_ids=False
            ).to('cuda'),
            generation_config=generation_config,
            pad_token_id=tokenizer.eos_token_id,
            eos_token_id=tokenizer.eos_token_id,
            streamer=streamer,
        )
        result_str = tokenizer.decode(gened[0])

        # μž…λ ₯ 질문과 "[INST]" 및 "[/INST]" νƒœκ·Έ 제거
        input_question_with_tags = f"[INST]{x} [/INST]"
        result_str = result_str.replace(input_question_with_tags, "").strip()

        # "<s>" 및 "</s>" νƒœκ·Έ 제거
        result_str = result_str.replace("<s>", "").replace("</s>", "").strip()

        return result_str



    
## Training Details

- We use QLora to train the base model.
Quantized Low Rank Adapters (QLoRA) is an efficient technique that uses 4-bit quantized pre-trained language models to fine-tune 65 billion parameter models on a 48 GB GPU while significantly reducing memory usage. 
The method uses NormalFloat 4-bit (NF4), a new data type that is theoretically optimal for normally distributed weights; Double Quantization, which further quantizes quantization constants to reduce average memory usage; and Paged Optimizers, which manage memory spikes during mini-batch processing, to increase memory efficiency without sacrificing performance.

- Also, we performed instruction tuning using the data that we collected and the kyujinpy/KOR-OpenOrca-Platypus-v3 dataset on the hugging face. 
Instruction tuning is learning in a supervised learning format that uses instructions and input data together as input and output data as a pair.



 
## Training Data

1. ν•œκ΅­μ€ν–‰: κ²½μ œκΈˆμœ΅μš©μ–΄ 700μ„ (<https://www.bok.or.kr/portal/bbs/B0000249/view.do?nttId=235017&menuNo=200765>)
2. κΈˆμœ΅κ°λ…μ›: κΈˆμœ΅μ†ŒλΉ„μž 정보 포털 파인 κΈˆμœ΅μš©μ–΄μ‚¬μ „(<https://fine.fss.or.kr/fine/fnctip/fncDicary/list.do?menuNo=900021>)
3. KDI κ²½μ œμ •λ³΄μ„Όν„°: μ‹œμ‚¬ μš©μ–΄μ‚¬μ „(<https://eiec.kdi.re.kr/material/wordDic.do>)
4. ν•œκ΅­κ²½μ œμ‹ λ¬Έ/ν•œκ²½λ‹·μ»΄: ν•œκ²½κ²½μ œμš©μ–΄μ‚¬μ „(<https://terms.naver.com/list.naver?cid=42107&categoryId=42107>), 였늘의 TESAT(<https://www.tesat.or.kr/bbs.frm.list/tesat_study?s_cateno=1>), 였늘의 μ£Όλ‹ˆμ–΄ TESAT(<https://www.tesat.or.kr/bbs.frm.list/tesat_study?s_cateno=5>), μƒκΈ€μƒκΈ€ν•œκ²½(<https://sgsg.hankyung.com/tesat/study>)
5. μ€‘μ†Œλ²€μ²˜κΈ°μ—…λΆ€/λŒ€ν•œλ―Όκ΅­μ •λΆ€: μ€‘μ†Œλ²€μ²˜κΈ°μ—…λΆ€ μ „λ¬Έμš©μ–΄(<https://terms.naver.com/list.naver?cid=42103&categoryId=42103>)
6. κ³ μ„±μ‚Ό/λ²•λ¬ΈμΆœνŒμ‚¬: νšŒκ³„Β·μ„Έλ¬΄ μš©μ–΄μ‚¬μ „(<https://terms.naver.com/list.naver?cid=51737&categoryId=51737>)
7. 맨큐의 κ²½μ œν•™ 8판 Word Index
8. kyujinpy/KOR-OpenOrca-Platypus-v3(<https://huggingface.co/datasets/kyujinpy/KOR-OpenOrca-Platypus-v3>)


At the request of the original author, it is not to be used for commercial purposes. Therefore, it is licensed under the license CC-BY-NC-4.0.
The copyright of the data used belongs to the original author, so please contact the original author when using it.




## Training Hyperparameters

|Hyperparameter|SGEcon/komt-mistral-7b-v1_fin_v5|
|------|---|
|Lora Method|Lora|
|load in 4 bit|True|
|learning rate|1e-6|
|lora alpa|8|
|lora rank|32|
|lora dropout|0.05|
|optim|adamw_torch|
|target_modules|o_proj, q_proj, up_proj, down_proj, gate_proj, k_proj, v_proj, lm_head|



## License
The language identification model is distributed under the Creative Commons Attribution-NonCommercial 4.0 International Public License.



## Example

> μ€‘μ•™μ€ν–‰μ˜ 역할에 λŒ€ν•΄μ„œ μ„€λͺ…ν•΄μ€„λž˜?

>> 쀑앙은행은 κ΅­κ°€ 경제의 μ•ˆμ •μ„ μœ μ§€ν•˜κΈ° μœ„ν•΄ κ΅­κ°€μ˜ 톡화 λ°œν–‰, 은행 업무 감독, λŒ€μΆœ 쑰절 λ“±μ˜ μ€‘μš”ν•œ 역할을 μˆ˜ν–‰ν•˜λŠ” 금육 기관이닀. 쀑앙은행은 κ΅­κ°€μ˜ 톡화 λ°œν–‰ μ‘°μ ˆμ„ 톡해 λ¬Όκ°€ μƒμŠΉμ„ μ–΅μ œν•˜κ³ , 이λ₯Ό 톡해 가격 μ•ˆμ •μ„±μ„ μœ μ§€ν•˜κ³ μž ν•œλ‹€. λ˜ν•œ, 쀑앙은행은 λŒ€μΆœ μ‘°μ ˆμ„ 톡해 금리λ₯Ό μ‘°μ ˆν•˜μ—¬ 자금 쑰달 μ‹œμž₯에 μ μ ˆν•œ 금리 μˆ˜μ€€μ„ μœ μ§€ν•˜κ³ , 이λ₯Ό 톡해 경제 ν™œλ™μ„ 적절히 μ‘°μ ˆν•  수 μžˆλ‹€.