intrect commited on
Commit
7f641b5
·
verified ·
1 Parent(s): c34c4f4

docs: update model card with v3 training data (58K SFT, 26K DPO), MLX benchmark, Markdown RT format

Browse files
Files changed (1) hide show
  1. README.md +251 -84
README.md CHANGED
@@ -12,6 +12,7 @@ tags:
12
  - dpo
13
  - gguf
14
  - llama-cpp
 
15
  base_model: Qwen/Qwen2.5-7B-Instruct
16
  pipeline_tag: text-generation
17
  ---
@@ -21,16 +22,23 @@ pipeline_tag: text-generation
21
  **한국 주식시장 전문 AI 애널리스트**
22
 
23
  VELA는 한국 주식시장 뉴스 분석 및 투자 리서치를 위해 특화된 7B 파라미터 언어 모델입니다.
24
- 2,135개 종목에 대한 뉴스 영향 분석, 증권사 리포트 해석, Reasoning Trace 기반 구조화된 투자 분석을 수행합니다.
 
 
 
 
 
 
25
 
26
  ## Model Details
27
 
28
  | 항목 | 내용 |
29
  |------|------|
30
- | **Base Model** | Qwen/Qwen2.5-7B-Instruct |
31
- | **Training** | SFT (36,713) + DPO (24,779 pairs) |
32
  | **Parameters** | 7.6B |
33
  | **Context Length** | 8,192 tokens |
 
34
  | **Stock Coverage** | 2,135 종목 (KOSPI + KOSDAQ) |
35
  | **License** | Apache 2.0 |
36
 
@@ -42,77 +50,176 @@ VELA는 한국 주식시장 뉴스 분석 및 투자 리서치를 위해 특화
42
  | **GGUF Q8_0** | `vela-q8_0.gguf` | 7.6 GB | High quality quantized, GPU/CPU |
43
  | **GGUF Q4_K_M** | `vela-q4_k_m.gguf` | 4.4 GB | Fast & lightweight, GPU/CPU |
44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  ## Training Pipeline
46
 
47
  ```
48
- Qwen2.5-7B-Instruct
49
-
50
- SFT (36,713 samples)
51
- - 뉴스 분류 분석 10,830
52
- - 극단 시그널 분석 9,603
53
- - 증권사 리포트 5,117
54
- - 뉴스 영향 분석 4,839
55
- - Tool Calling 1,965
56
- - 기타 (비교분석, 실적, 리스크, 수급, 섹터, 매크로) 4,359
57
-
58
- DPO (24,779 pairs)
59
- - 중복 제거 기본 페어 12,000
60
- - 다국어 leak 5,997
61
- - VELA ChatML 정렬 5,000
62
- - 중국어 leak 교정 v2 1,216
63
- - Reasoning Trace 정렬 566
64
-
65
- VELA
 
 
 
 
 
 
 
 
 
 
 
66
  ```
67
 
68
- ## Training Data Distribution
 
 
69
 
70
- ### SFT (36,713 samples, 2,135 종목)
71
 
72
  | Source | Samples | Ratio | Description |
73
  |--------|---------|-------|-------------|
74
- | **classified_news** | 10,830 | 29.5% | GPT-4o 분류된 뉴스 Reasoning Trace 생성 |
75
- | **extreme_signals** | 9,603 | 26.2% | 급등/급락 시그널 뉴스 분석 |
76
- | **securities_report_gpt4o** | 5,117 | 13.9% | 증권사 리포트 GPT-4o 재구성 (네이버 종목분석 + 미래에셋) |
77
- | **analysis_news** | 4,839 | 13.2% | 일반 뉴스 영향 분석 |
78
- | **tool_calling** | 1,965 | 5.4% | Search/Price/Investor 도구 호출 학습 |
79
- | **multi_stock_comparison** | 981 | 2.7% | 다중 종목 비교 분석 |
80
- | **earnings_impact** | 971 | 2.6% | 실적 발표 영향 분석 |
81
- | **risk_alert** | 948 | 2.6% | 리스크 경보 분석 |
82
- | **supply_demand** | 492 | 1.3% | 수급 동향 분석 |
83
- | **sector_theme** | 486 | 1.3% | 섹터/테마 분석 |
84
- | **macro_impact** | 481 | 1.3% | 매크로 지표 영향 분석 |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
 
86
- > 평균 응답 길이: 2,337자 (Reasoning Trace JSON + 분석 리포트 포함)
87
 
88
- ### DPO (24,779 pairs)
89
 
90
- | Source | Pairs | Ratio | Description |
91
- |--------|-------|-------|-------------|
92
- | **dpo_dedup** | 12,000 | 48.4% | 중복 제거된 기본 DPO 페어 |
93
- | **multilingual_aug** | 5,997 | 24.2% | 중국어/영어 leak 보강 (rejected에 leak 삽입) |
94
- | **vela_chatml** | 5,000 | 20.2% | VELA 시스템 프롬프트 정렬 |
95
- | **chinese_leak_v2** | 1,216 | 4.9% | 중국어 leak 집중 교정 |
96
- | **reasoning_trace_2k** | 566 | 2.3% | Reasoning Trace 형식 정렬 |
97
 
98
- ## Capabilities
99
 
100
- - **뉴스 영향 분석**: 주식 관련 뉴스의 시장 영향도 예측
101
- - **증권사 리포트 해석**: 애널리스트 리포트 기반 투자 분석
102
- - **리서치 리포트 생성**: 구조화된 투자 분석 보고서 (7개 섹션)
103
- - **Reasoning Trace**: 단계별 분석 사고과정 (JSON 형식)
104
- - **다중 소스 종합**: 뉴스, 시세, 수급 데이터 통합 분석
105
 
106
- ## Quantization Benchmark
107
 
108
- RTX 3060 12GB, llama-cpp-python, n_gpu_layers=-1, n_ctx=4096
109
 
110
- | Format | Speed (tok/s) | Chinese Leak | Quality |
111
- |--------|--------------|--------------|---------|
112
- | **Q4_K_M** | **36 tok/s** | 0/5 CLEAN | Reasoning Trace + Report OK |
113
- | **Q8_0** | 25 tok/s | 0/5 CLEAN | Reasoning Trace + Report OK |
114
 
115
- > Stress test: 5회 연속 (Synthesis + 3K Reasoning Trace 교대) - 양쪽 모두 Chinese leak 제로
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
 
117
  ## Usage
118
 
@@ -124,7 +231,7 @@ from llama_cpp import Llama
124
  model = Llama(
125
  model_path="vela-q4_k_m.gguf", # or vela-q8_0.gguf
126
  n_ctx=4096,
127
- n_gpu_layers=-1, # Full GPU offload
128
  chat_format="chatml",
129
  )
130
 
@@ -148,13 +255,13 @@ import torch
148
  model = AutoModelForCausalLM.from_pretrained(
149
  "intrect/VELA",
150
  torch_dtype=torch.bfloat16,
151
- device_map="auto"
152
  )
153
  tokenizer = AutoTokenizer.from_pretrained("intrect/VELA")
154
 
155
  messages = [
156
  {"role": "system", "content": "당신은 한국 주식 전문 애널리스트입니다."},
157
- {"role": "user", "content": "삼성전자 HBM 사업 전망을 분석해주세요."}
158
  ]
159
 
160
  text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
@@ -164,7 +271,7 @@ outputs = model.generate(
164
  **inputs,
165
  max_new_tokens=1024,
166
  temperature=0.7,
167
- do_sample=True
168
  )
169
  print(tokenizer.decode(outputs[0], skip_special_tokens=True))
170
  ```
@@ -177,8 +284,27 @@ from vllm import LLM, SamplingParams
177
  llm = LLM(model="intrect/VELA", dtype="bfloat16")
178
  params = SamplingParams(temperature=0.7, max_tokens=1024)
179
 
180
- prompts = ["삼성전자 HBM 시장 전망을 분석해주세요."]
181
- outputs = llm.generate(prompts, params)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  ```
183
 
184
  ### Ollama
@@ -196,26 +322,40 @@ PARAMETER temperature 0.7
196
  PARAMETER num_ctx 4096
197
  ```
198
 
 
 
199
  ## Output Format
200
 
201
- VELA는 두 가지 출력 모드를 지원합니다:
202
 
203
  ### 1. Reasoning Trace (분석 과정)
204
 
205
- ```json
206
- {
207
- "step": 1,
208
- "thought": "삼성전자 HBM3E 12단 양산 관련 뉴스 확인. 추가 수주 현황과 시장 점유율 파악 필요.",
209
- "action": "search",
210
- "query": "삼성전자 HBM3E 12단 수주 시장점유율",
211
- "confidence": 0.45
212
- }
 
 
 
 
 
 
 
 
 
 
213
  ```
214
 
215
  ### 2. Synthesis Report (최종 리포트)
216
 
 
 
217
  ```markdown
218
- # EOD 리포트: 삼성전자 (005930.KS)
219
 
220
  ## Executive Summary
221
  [2-3문장 핵심 요약]
@@ -223,6 +363,9 @@ VELA는 두 가지 출력 모드를 지원합니다:
223
  ## Key Metrics
224
  | 지표 | 수치 |
225
  |------|------|
 
 
 
226
 
227
  ## 시장 동향 분석
228
  ## 수급 분석
@@ -231,19 +374,40 @@ VELA는 두 가지 출력 모드를 지원합니다:
231
  ## 투자 의견
232
  ```
233
 
234
- ## DPO Improvements
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
235
 
236
- - ✅ **중국어 leak 제거**: Stress test 10/10 CLEAN
237
- - ✅ **영어 leak 감소**: 불필요한 영어 사용 최소화
238
- - ✅ **형식 준수**: Reasoning Trace JSON + 7-section Report
239
- - ✅ **한국어 품질**: 자연스러운 한국어 표현
240
 
241
  ## Limitations
242
 
243
- - 실시간 시세 데이터 접근 불가 (외부 API 필요)
244
- - 투자 조언아닌 정보 제공 목적
245
- - 8K 컨텍스트 제한으로 긴 문서 처리 한계
246
- - 할루시네이션 수치 가능 (수치 터는 외부 검증 필요)
 
 
247
 
248
  ## Citation
249
 
@@ -257,11 +421,14 @@ VELA는 두 가지 출력 모드를 지원합니다:
257
  }
258
  ```
259
 
 
 
260
  ## Version History
261
 
262
- | 버전 | 날짜 | 변경사항 |
263
- |------|------|----------|
264
- | v1.1 | 2026-02-12 | GGUF 양자화 모델 추가 (Q4_K_M, Q8_0), 벤치마크, 학습 데이터 분포 공개 |
 
265
  | v1.0 | 2026-01-28 | DPO 병합, 중국어/영어 leak 해결 |
266
  | v0.9 | 2026-01-15 | SFT 베이스 모델 공개 |
267
 
 
12
  - dpo
13
  - gguf
14
  - llama-cpp
15
+ - mlx
16
  base_model: Qwen/Qwen2.5-7B-Instruct
17
  pipeline_tag: text-generation
18
  ---
 
22
  **한국 주식시장 전문 AI 애널리스트**
23
 
24
  VELA는 한국 주식시장 뉴스 분석 및 투자 리서치를 위해 특화된 7B 파라미터 언어 모델입니다.
25
+ KOSPI/KOSDAQ 2,135개 종목에 대한 뉴스 영향 분석, 증권사 리포트 해석,
26
+ Reasoning Trace 기반 구조화된 투자 분석을 수행합니다.
27
+
28
+ > **58K+ SFT 샘플**과 **26K+ DPO 페어**로 학습하여,
29
+ > 한국어 금융 도메인에서 정확하고 구조화된 분석을 제공합니다.
30
+
31
+ ---
32
 
33
  ## Model Details
34
 
35
  | 항목 | 내용 |
36
  |------|------|
37
+ | **Base Model** | [Qwen/Qwen2.5-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-7B-Instruct) |
38
+ | **Training** | SFT (58,206 samples) + DPO (26,421 pairs) |
39
  | **Parameters** | 7.6B |
40
  | **Context Length** | 8,192 tokens |
41
+ | **RT Format** | Markdown Reasoning Trace |
42
  | **Stock Coverage** | 2,135 종목 (KOSPI + KOSDAQ) |
43
  | **License** | Apache 2.0 |
44
 
 
50
  | **GGUF Q8_0** | `vela-q8_0.gguf` | 7.6 GB | High quality quantized, GPU/CPU |
51
  | **GGUF Q4_K_M** | `vela-q4_k_m.gguf` | 4.4 GB | Fast & lightweight, GPU/CPU |
52
 
53
+ > MLX 4-bit 양자화 모델도 별도 제공 예정 (Apple Silicon 최적화)
54
+
55
+ ---
56
+
57
+ ## What Can VELA Do?
58
+
59
+ ### 1. 뉴스 영향 분석
60
+ 주식 관련 뉴스가 주가에 미치는 영향을 단계적으로 추론합니다.
61
+
62
+ ### 2. Reasoning Trace (단계별 사고 과정)
63
+ 분석 과정을 투명하게 보여주는 Markdown Reasoning Trace를 생성합니다:
64
+
65
+ ```
66
+ **Step 1**:
67
+ **Thought**: 삼성전자 3나노 양산 성공 뉴스의 기술적 의미를 파악해야 합니다.
68
+ **Action**: search
69
+ **Query**: 삼성전자 3나노 파운드리 수율 경쟁력 TSMC
70
+ **Confidence**: 35%
71
+
72
+ **Step 2**:
73
+ **Thought**: TSMC 대비 수율 격차가 핵심 변수이며, 양산 성공은 기술력 입증이나 수율 안정화까지 시간 필요.
74
+ **Action**: analyze
75
+ **Confidence**: 65%
76
+
77
+ **Step 3**:
78
+ **Thought**: 3나노 양산 성공은 중장기 긍정 시그널이나, 단기적으로 수율 이슈 리스크가 존재합니다.
79
+ **Action**: conclude
80
+ **Confidence**: 80%
81
+ ```
82
+
83
+ ### 3. 증권사 리포트 해석
84
+ 애널리스트 리포트를 기반으로 핵심 포인트와 투자 시사점을 도출합니다.
85
+
86
+ ### 4. 투자 리서치 리포트
87
+ 7개 섹션으로 구조화된 투자 분석 보고서를 생성합니다:
88
+ Executive Summary / Key Metrics / 시장 동향 / 수급 분석 / 뉴스 영향 / 리스크 / 투자 의견
89
+
90
+ ### 5. 도구 호출 (Tool Calling)
91
+ Search, Price, Investor 등 외부 도구와 연동하는 분석을 수행합니다.
92
+
93
+ ---
94
+
95
  ## Training Pipeline
96
 
97
  ```
98
+ Qwen/Qwen2.5-7B-Instruct
99
+ |
100
+ v
101
+ SFT (58,206 samples)
102
+ ├── 뉴스 분류 분석 10,830 (18.6%)
103
+ ├── 극단 시그널 분석 9,603 (16.5%)
104
+ ├── 증권사 리포트 (GPT-4o) 5,117 (8.8%)
105
+ ├── 뉴스 영향 분석 4,839 (8.3%)
106
+ ├── 멀티턴 대화 8,000 (13.8%)
107
+ ├── Gap Fill (12 카테고리) 12,635 (21.7%)
108
+ │ ├── 밸류에이션 분석 2,000
109
+ │ ├── 수급/리스크/EOD 3,000
110
+ │ ├── 거절/유응답 1,000
111
+ │ ├── 간결 분석 1,000
112
+ │ ├── 심층 추론 (5+ steps) 1,000
113
+ │ └── 기타 (매크로, 섹터 등) 4,635
114
+ └── 기타 7,182 (12.3%)
115
+ |
116
+ v
117
+ DPO (26,421 pairs)
118
+ ├── 중복 제거 기본 페어 12,000 (45.4%)
119
+ ├── 다국어 leak 보강 5,997 (22.7%)
120
+ ├── VELA ChatML 정렬 5,000 (18.9%)
121
+ ├── 불충분 분석 교정 1,642 (6.2%)
122
+ ├── 중국어 leak 교정 v2 1,216 (4.6%)
123
+ └── Reasoning Trace 정렬 566 (2.1%)
124
+ |
125
+ v
126
+ VELA v1.2
127
  ```
128
 
129
+ ---
130
+
131
+ ## Training Data Details
132
 
133
+ ### SFT v3 (58,206 samples)
134
 
135
  | Source | Samples | Ratio | Description |
136
  |--------|---------|-------|-------------|
137
+ | `classified_news` | 10,830 | 18.6% | GPT-4o 분류된 뉴스 Reasoning Trace |
138
+ | `extreme_signals` | 9,603 | 16.5% | 급등/급락 시그널 뉴스 분석 |
139
+ | `securities_report_gpt4o` | 5,117 | 8.8% | 증권사 리포트 GPT-4o 재구성 |
140
+ | `analysis_news` | 4,839 | 8.3% | 일반 뉴스 영향 분석 |
141
+ | `multi_turn_2t` | 4,000 | 6.9% | 단일 다양 종목 분석 |
142
+ | `multi_turn_4t` | 4,000 | 6.9% | 2턴 follow-up 대화 |
143
+ | **`valuation`** | **2,000** | **3.4%** | 밸류에이션 분석 (v3 Gap Fill) |
144
+ | `tool_calling` | 1,965 | 3.4% | Search/Price/Investor 도구 호출 |
145
+ | **`supply_demand_ext`** | **1,000** | **1.7%** | 수급 확장 분석 (v3) |
146
+ | **`risk`** | **1,000** | **1.7%** | 리스크 분석 (v3) |
147
+ | **`eod_report`** | **1,000** | **1.7%** | EOD 시황 리포트 (v3) |
148
+ | **`refusal`** | **1,000** | **1.7%** | 거절/유보 응답 (v3) |
149
+ | **`short_analysis`** | **1,000** | **1.7%** | 간결 분석 <500자 (v3) |
150
+ | **`deep_reasoning`** | **1,000** | **1.7%** | 심층 추론 5+ steps (v3) |
151
+ | **`low_confidence`** | **1,000** | **1.7%** | 저확신도 분석 (v3) |
152
+ | **`macro_impact_ext`** | **1,000** | **1.7%** | 거시경제 확장 (v3) |
153
+ | **`sector_theme`** | **1,000** | **1.7%** | 섹터/테마 분석 (v3) |
154
+ | `multi_stock_comparison` | 981 | 1.7% | 복수 종목 비교 분석 |
155
+ | `earnings_impact` | 971 | 1.7% | 실적 발표 영향 분석 |
156
+ | `risk_alert` | 948 | 1.6% | 리스크 경고 분석 |
157
+ | **`null_impact`** | **900** | **1.5%** | 주가 무영향 응답 (v3) |
158
+ | Other | 2,050 | 3.5% | batch5 fallback, 기존 수급/섹터/매크로 |
159
+
160
+ > v3에서 12개 카테고리 12,635개 샘플을 추가하여 데이터 갭을 보강했습니다.
161
+ > 생성 비용: Perplexity Sonar 2K ($4.60) + OpenAI gpt-4o-mini Batch API 10.6K ($2.76) = **~$7.36**
162
+
163
+ ### DPO v2 (26,421 pairs)
164
+
165
+ | Source | Pairs | Ratio | Rejection Type |
166
+ |--------|-------|-------|----------------|
167
+ | `dpo_dedup` | 12,000 | 45.4% | 짧은/저품질 응답 vs 상세 분석 |
168
+ | `multilingual_aug` | 5,997 | 22.7% | 중국어/영어 leak, 짧은 응답, 저확신 |
169
+ | `vela_chatml` | 5,000 | 18.9% | 형식 오류, 짧은 응답 |
170
+ | `batch5_insuf_dpo` | 1,642 | 6.2% | 불충분 분석 품질 교정 |
171
+ | `chinese_leak_v2` | 1,216 | 4.6% | 중국어 문자 leak 집중 교정 |
172
+ | `reasoning_trace_2k` | 566 | 2.1% | 영어 leak, RT 형식 오류 |
173
+
174
+ ### Data Version History
175
+
176
+ | Version | SFT Samples | DPO Pairs | Changes |
177
+ |---------|-------------|-----------|---------|
178
+ | v1.0 | 36,713 | 24,779 | 초기 학습 데이터 (JSON RT) |
179
+ | v1.1 | 36,713 | 24,779 | RT JSON → Markdown 변환 |
180
+ | v2.0 | 45,571 | 26,421 | +멀티턴 8K, +batch5 불충분 DPO |
181
+ | **v3.0** | **58,206** | **26,421** | **+Gap Fill 12개 카테고리 12,635** |
182
 
183
+ ---
184
 
185
+ ## Benchmarks
186
 
187
+ ### Quantization Benchmark (GGUF)
 
 
 
 
 
 
188
 
189
+ RTX 3060 12GB, llama-cpp-python, `n_gpu_layers=-1`, `n_ctx=4096`
190
 
191
+ | Format | Speed | Chinese Leak | Quality |
192
+ |--------|-------|--------------|---------|
193
+ | **Q4_K_M** | **36 tok/s** | 0/5 CLEAN | RT + Report OK |
194
+ | **Q8_0** | 25 tok/s | 0/5 CLEAN | RT + Report OK |
 
195
 
196
+ > Stress test 5회: Synthesis + 3K Reasoning Trace 교대 — 양쪽 모두 **Chinese leak 제로**
197
 
198
+ ### MLX Benchmark (Apple Silicon)
199
 
200
+ M1 Max 32GB, MLX 4-bit 양자화
 
 
 
201
 
202
+ | Config | Quantization | Load Time | Speed | Memory |
203
+ |--------|-------------|-----------|-------|--------|
204
+ | **MLX 4-bit** | 4-bit (4.5 bpw) | 0.59s | **15.93 tok/s** | 4.4 GB |
205
+ | PyTorch (CPU) | BF16 | 0.10s | 4.93 tok/s | 0.3 GB |
206
+ | PyTorch + LoRA (CPU) | BF16 | 1.64s | 4.22 tok/s | 14.1 GB |
207
+
208
+ MLX 4-bit vs PyTorch CPU:
209
+ - **3.2x** faster inference (15.93 vs 4.93 tok/s)
210
+ - **73%** smaller model size (4 GB vs 15 GB)
211
+ - **68%** less memory (4.4 vs 14.1 GB)
212
+
213
+ ### DPO Quality Improvements
214
+
215
+ | Metric | Before DPO | After DPO |
216
+ |--------|-----------|-----------|
217
+ | Chinese leak | Frequent | **0/10 CLEAN** |
218
+ | English leak | Occasional | Minimal |
219
+ | RT format compliance | ~80% | **~98%** |
220
+ | Korean fluency | Good | **Excellent** |
221
+
222
+ ---
223
 
224
  ## Usage
225
 
 
231
  model = Llama(
232
  model_path="vela-q4_k_m.gguf", # or vela-q8_0.gguf
233
  n_ctx=4096,
234
+ n_gpu_layers=-1,
235
  chat_format="chatml",
236
  )
237
 
 
255
  model = AutoModelForCausalLM.from_pretrained(
256
  "intrect/VELA",
257
  torch_dtype=torch.bfloat16,
258
+ device_map="auto",
259
  )
260
  tokenizer = AutoTokenizer.from_pretrained("intrect/VELA")
261
 
262
  messages = [
263
  {"role": "system", "content": "당신은 한국 주식 전문 애널리스트입니다."},
264
+ {"role": "user", "content": "삼성전자 HBM 사업 전망을 분석해주세요."},
265
  ]
266
 
267
  text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
 
271
  **inputs,
272
  max_new_tokens=1024,
273
  temperature=0.7,
274
+ do_sample=True,
275
  )
276
  print(tokenizer.decode(outputs[0], skip_special_tokens=True))
277
  ```
 
284
  llm = LLM(model="intrect/VELA", dtype="bfloat16")
285
  params = SamplingParams(temperature=0.7, max_tokens=1024)
286
 
287
+ outputs = llm.generate(
288
+ ["삼성전자 HBM 시장 전망을 분석해주세요."],
289
+ params,
290
+ )
291
+ print(outputs[0].outputs[0].text)
292
+ ```
293
+
294
+ ### MLX (Apple Silicon)
295
+
296
+ ```python
297
+ from mlx_lm import load, generate
298
+
299
+ model, tokenizer = load("intrect/VELA") # or local MLX 4-bit path
300
+
301
+ response = generate(
302
+ model,
303
+ tokenizer,
304
+ prompt="삼성전자 3나노 양산 뉴스 분석",
305
+ max_tokens=1024,
306
+ )
307
+ print(response)
308
  ```
309
 
310
  ### Ollama
 
322
  PARAMETER num_ctx 4096
323
  ```
324
 
325
+ ---
326
+
327
  ## Output Format
328
 
329
+ VELA는 두 가지 출력 모드를 지원합니다.
330
 
331
  ### 1. Reasoning Trace (분석 과정)
332
 
333
+ Markdown 형식으로 단계별 사고 과정을 투명하게 보여줍니다:
334
+
335
+ ```markdown
336
+ **Step 1**:
337
+ **Thought**: 삼성전자 HBM3E 12단 양산 관련 뉴스를 확인합니다. 수주 현황과 시장 점유율 파악이 필요합니다.
338
+ **Action**: search
339
+ **Query**: 삼성전자 HBM3E 12단 수주 시장점유율
340
+ **Confidence**: 45%
341
+
342
+ **Step 2**:
343
+ **Thought**: SK하이닉스 대비 삼성전자의 HBM 시장 점유율 확대 추세를 분석합니다.
344
+ **Action**: analyze
345
+ **Confidence**: 70%
346
+
347
+ **Step 3**:
348
+ **Thought**: HBM3E 양산 성공은 긍정적이나, NVIDIA 인증 지연 리스크가 존재합니다.
349
+ **Action**: conclude
350
+ **Confidence**: 82%
351
  ```
352
 
353
  ### 2. Synthesis Report (최종 리포트)
354
 
355
+ 7개 섹션으로 구조화된 투자 분석 보고서:
356
+
357
  ```markdown
358
+ # 분석 리포트: 삼성전자 (005930.KS)
359
 
360
  ## Executive Summary
361
  [2-3문장 핵심 요약]
 
363
  ## Key Metrics
364
  | 지표 | 수치 |
365
  |------|------|
366
+ | 현재가 | 181,200원 |
367
+ | 12M FWD PER | 15.4배 |
368
+ | PBR | 3.13배 |
369
 
370
  ## 시장 동향 분석
371
  ## 수급 분석
 
374
  ## 투자 의견
375
  ```
376
 
377
+ ---
378
+
379
+ ## Architecture
380
+
381
+ VELA는 단독 LLM으로도 동작하지만, 에이전트 시스템과 결합하면 실시간 데이터 기반 분석이 가능합니다:
382
+
383
+ ```
384
+ [사용자 쿼리]
385
+ |
386
+ v
387
+ [멀티소스 검색] ──�� DuckDuckGo (최신 뉴스)
388
+ | ├── 한국투자증권 KIS (현재가, PER, PBR, EPS, 수급)
389
+ | ├── FnGuide (사업개요, 재무정보)
390
+ | └── FAISS 317K (과거 유사 뉴스 + 주가 반응)
391
+ v
392
+ [컨텍스트 주입] → System Prompt + 검색 결과
393
+ |
394
+ v
395
+ [VELA LLM] → Reasoning Trace (Step-by-Step)
396
+ |
397
+ v
398
+ [리서치 리포트]
399
+ ```
400
 
401
+ ---
 
 
 
402
 
403
  ## Limitations
404
 
405
+ - **실시간 시세**: 모델 자체는 실시간 데이터 접근하지 못합니다 (에이전트 시스템 필요)
406
+ - **수치 할루시네션**: 구체적 수치(주가, PER 등)는 외부 검증이 필요합니다
407
+ - **컨텍스트**: 8K 토큰 제한으로 긴 문서 처리 한계가 있습니다
408
+ - **투자 조언 아님**: 정보 제공 목적며, 투자 결정은 본인의 판단과 책임입니다
409
+
410
+ ---
411
 
412
  ## Citation
413
 
 
421
  }
422
  ```
423
 
424
+ ---
425
+
426
  ## Version History
427
 
428
+ | Version | Date | Changes |
429
+ |---------|------|---------|
430
+ | **v1.2** | **2026-02-16** | **SFT v3 (58K) Gap Fill 12카테고리, Markdown RT, 벤치마크 추가** |
431
+ | v1.1 | 2026-02-12 | GGUF 양자화 모델 추가 (Q4_K_M, Q8_0) |
432
  | v1.0 | 2026-01-28 | DPO 병합, 중국어/영어 leak 해결 |
433
  | v0.9 | 2026-01-15 | SFT 베이스 모델 공개 |
434