intrect commited on
Commit
0330d0c
ยท
verified ยท
1 Parent(s): c5f7d77

Update model card for DPO v4

Browse files
Files changed (1) hide show
  1. README.md +178 -3
README.md CHANGED
@@ -1,3 +1,178 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ language:
4
+ - ko
5
+ - en
6
+ library_name: transformers
7
+ tags:
8
+ - finance
9
+ - korean
10
+ - stock-analysis
11
+ - reasoning
12
+ - dpo
13
+ base_model: Qwen/Qwen2.5-7B-Instruct
14
+ pipeline_tag: text-generation
15
+ ---
16
+
17
+ # VELA (Vector-Encoded Learning Agent)
18
+
19
+ **ํ•œ๊ตญ ์ฃผ์‹์‹œ์žฅ ์ „๋ฌธ AI ์• ๋„๋ฆฌ์ŠคํŠธ**
20
+
21
+ VELA๋Š” ํ•œ๊ตญ ์ฃผ์‹์‹œ์žฅ ๋‰ด์Šค ๋ถ„์„ ๋ฐ ํˆฌ์ž ๋ฆฌ์„œ์น˜๋ฅผ ์œ„ํ•ด ํŠนํ™”๋œ 7B ํŒŒ๋ผ๋ฏธํ„ฐ ์–ธ์–ด ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.
22
+
23
+ ## Model Details
24
+
25
+ | ํ•ญ๋ชฉ | ๋‚ด์šฉ |
26
+ |------|------|
27
+ | **Base Model** | Qwen/Qwen2.5-7B-Instruct |
28
+ | **Training Stage** | SFT + DPO v4 |
29
+ | **Parameters** | 7.6B |
30
+ | **Context Length** | 8,192 tokens |
31
+ | **Precision** | BFloat16 |
32
+ | **License** | Apache 2.0 |
33
+
34
+ ## Training Pipeline
35
+
36
+ ```
37
+ Qwen2.5-7B-Instruct
38
+ โ†“
39
+ SFT (930K samples)
40
+ - ํ•œ๊ตญ ์ฃผ์‹ ๋‰ด์Šค ๋ถ„์„
41
+ - ๋ฆฌ์„œ์น˜ ๋ฆฌํฌํŠธ ์ƒ์„ฑ
42
+ - Reasoning Trace ํ•™์Šต
43
+ โ†“
44
+ DPO v4 (7,681 pairs)
45
+ - ์ค‘๊ตญ์–ด/์˜์–ด leak ๊ต์ •
46
+ - ํ•œ๊ตญ์–ด ์ถœ๋ ฅ ๊ฐ•ํ™”
47
+ - ํ˜•์‹ ์ค€์ˆ˜ ํ–ฅ์ƒ
48
+ โ†“
49
+ VELA v1.0
50
+ ```
51
+
52
+ ## Capabilities
53
+
54
+ - **๋‰ด์Šค ์˜ํ–ฅ ๋ถ„์„**: ์ฃผ์‹ ๊ด€๋ จ ๋‰ด์Šค์˜ ์‹œ์žฅ ์˜ํ–ฅ๋„ ์˜ˆ์ธก
55
+ - **๋ฆฌ์„œ์น˜ ๋ฆฌํฌํŠธ ์ƒ์„ฑ**: ๊ตฌ์กฐํ™”๋œ ํˆฌ์ž ๋ถ„์„ ๋ณด๊ณ ์„œ ์ž‘์„ฑ
56
+ - **Reasoning Trace**: ๋‹จ๊ณ„๋ณ„ ๋ถ„์„ ์‚ฌ๊ณ ๊ณผ์ • ์ƒ์„ฑ
57
+ - **๋‹ค์ค‘ ์†Œ์Šค ์ข…ํ•ฉ**: ๋‰ด์Šค, ์‹œ์„ธ, ์ˆ˜๊ธ‰ ๋ฐ์ดํ„ฐ ํ†ตํ•ฉ ๋ถ„์„
58
+
59
+ ## Usage
60
+
61
+ ### Transformers
62
+
63
+ ```python
64
+ from transformers import AutoModelForCausalLM, AutoTokenizer
65
+ import torch
66
+
67
+ model = AutoModelForCausalLM.from_pretrained(
68
+ "intrect/vela",
69
+ torch_dtype=torch.bfloat16,
70
+ device_map="auto"
71
+ )
72
+ tokenizer = AutoTokenizer.from_pretrained("intrect/vela")
73
+
74
+ messages = [
75
+ {"role": "system", "content": "๋‹น์‹ ์€ ํ•œ๊ตญ ์ฃผ์‹ ์ „๋ฌธ ์• ๋„๋ฆฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค."},
76
+ {"role": "user", "content": "์‚ผ์„ฑ์ „์ž HBM ์‚ฌ์—… ์ „๋ง์„ ๋ถ„์„ํ•ด์ฃผ์„ธ์š”."}
77
+ ]
78
+
79
+ text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
80
+ inputs = tokenizer(text, return_tensors="pt").to(model.device)
81
+
82
+ outputs = model.generate(
83
+ **inputs,
84
+ max_new_tokens=1024,
85
+ temperature=0.7,
86
+ do_sample=True
87
+ )
88
+ print(tokenizer.decode(outputs[0], skip_special_tokens=True))
89
+ ```
90
+
91
+ ### vLLM (Recommended for Production)
92
+
93
+ ```python
94
+ from vllm import LLM, SamplingParams
95
+
96
+ llm = LLM(model="intrect/vela", dtype="bfloat16")
97
+ params = SamplingParams(temperature=0.7, max_tokens=1024)
98
+
99
+ prompts = ["์‚ผ์„ฑ์ „์ž HBM ์‹œ์žฅ ์ „๋ง์„ ๋ถ„์„ํ•ด์ฃผ์„ธ์š”."]
100
+ outputs = llm.generate(prompts, params)
101
+ ```
102
+
103
+ ### MLX (Apple Silicon)
104
+
105
+ MLX ๋ณ€ํ™˜ ๋ชจ๋ธ์€ ๋ณ„๋„ ์ €์žฅ์†Œ์—์„œ ์ œ๊ณต ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
106
+
107
+ ## Output Format
108
+
109
+ VELA๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐํ™”๋œ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค:
110
+
111
+ ```markdown
112
+ ## Executive Summary
113
+ [2-3๋ฌธ์žฅ ํ•ต์‹ฌ ์š”์•ฝ]
114
+
115
+ ## Key Metrics
116
+ | ์ง€ํ‘œ | ์ˆ˜์น˜ |
117
+ |------|------|
118
+ | ํ˜„์žฌ๊ฐ€ | โ‚ฉXX,XXX |
119
+ | PER | XX.X |
120
+ | ... | ... |
121
+
122
+ ## ์‹œ์žฅ ๋™ํ–ฅ ๋ถ„์„
123
+ [์ƒ์„ธ ๋ถ„์„]
124
+
125
+ ## ๋ฆฌ์Šคํฌ ์š”์ธ
126
+ - ๋ฆฌ์Šคํฌ 1
127
+ - ๋ฆฌ์Šคํฌ 2
128
+
129
+ ## ํˆฌ์ž ์˜๊ฒฌ
130
+ [์ข…ํ•ฉ ์˜๊ฒฌ]
131
+ ```
132
+
133
+ ## Training Data
134
+
135
+ | ๋ฐ์ดํ„ฐ์…‹ | ์ƒ˜ํ”Œ ์ˆ˜ | ์šฉ๋„ |
136
+ |----------|---------|------|
137
+ | ํ•œ๊ตญ ์ฃผ์‹ ๋‰ด์Šค | 412K | SFT ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ |
138
+ | ๋ฆฌ์„œ์น˜ ๋ฆฌํฌํŠธ | 50K | ๋ถ„์„ ํ˜•์‹ ํ•™์Šต |
139
+ | Reasoning Traces | 5K | ์‚ฌ๊ณ ๊ณผ์ • ํ•™์Šต |
140
+ | DPO Pairs | 7.7K | ์„ ํ˜ธ๋„ ์ •๋ ฌ |
141
+
142
+ ## DPO v4 Improvements
143
+
144
+ DPO v4๋Š” ๋‹ค์Œ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค:
145
+
146
+ - โœ… **์ค‘๊ตญ์–ด leak ์ œ๊ฑฐ**: ์ค‘๊ตญ์–ด ๋ฌธ์ž ์ถœ๋ ฅ ๋ฐฉ์ง€
147
+ - โœ… **์˜์–ด leak ๊ฐ์†Œ**: ๋ถˆํ•„์š”ํ•œ ์˜์–ด ์‚ฌ์šฉ ์ตœ์†Œํ™”
148
+ - โœ… **ํ˜•์‹ ์ค€์ˆ˜**: ์ง€์ •๋œ ์ถœ๋ ฅ ํ˜•์‹ ์—„๊ฒฉ ์ค€์ˆ˜
149
+ - โœ… **ํ•œ๊ตญ์–ด ํ’ˆ์งˆ**: ์ž์—ฐ์Šค๋Ÿฌ์šด ํ•œ๊ตญ์–ด ํ‘œํ˜„
150
+
151
+ ## Limitations
152
+
153
+ - ์‹ค์‹œ๊ฐ„ ์‹œ์„ธ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๋ถˆ๊ฐ€ (์™ธ๋ถ€ API ํ•„์š”)
154
+ - ํˆฌ์ž ์กฐ์–ธ์ด ์•„๋‹Œ ์ •๋ณด ์ œ๊ณต ๋ชฉ์ 
155
+ - 8K ์ปจํ…์ŠคํŠธ ์ œํ•œ์œผ๋กœ ๊ธด ๋ฌธ์„œ ์ฒ˜๋ฆฌ ํ•œ๊ณ„
156
+
157
+ ## Citation
158
+
159
+ ```bibtex
160
+ @misc{vela2025,
161
+ title={VELA: Vector-Encoded Learning Agent for Korean Stock Analysis},
162
+ author={intrect},
163
+ year={2025},
164
+ publisher={Hugging Face},
165
+ url={https://huggingface.co/intrect/vela}
166
+ }
167
+ ```
168
+
169
+ ## Version History
170
+
171
+ | ๋ฒ„์ „ | ๋‚ ์งœ | ๋ณ€๊ฒฝ์‚ฌํ•ญ |
172
+ |------|------|----------|
173
+ | v1.0 (DPO v4) | 2025-01-28 | DPO v4 ๋ณ‘ํ•ฉ, ์ค‘๊ตญ์–ด/์˜์–ด leak ํ•ด๊ฒฐ |
174
+ | v0.9 (SFT) | 2025-01-15 | SFT ๋ฒ ์ด์Šค ๋ชจ๋ธ ๊ณต๊ฐœ |
175
+
176
+ ---
177
+
178
+ **Disclaimer**: ์ด ๋ชจ๋ธ์˜ ์ถœ๋ ฅ์€ ํˆฌ์ž ์กฐ์–ธ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ชจ๋“  ํˆฌ์ž ๊ฒฐ์ •์€ ๋ณธ์ธ์˜ ํŒ๋‹จ๊ณผ ์ฑ…์ž„ ํ•˜์— ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.