Update README.md
Browse files
README.md
CHANGED
@@ -3,20 +3,190 @@ base_model: unsloth/gemma-2-2b-it
|
|
3 |
tags:
|
4 |
- text-generation-inference
|
5 |
- transformers
|
6 |
-
- unsloth
|
7 |
- gemma2
|
8 |
- trl
|
9 |
-
license:
|
10 |
language:
|
11 |
-
-
|
12 |
---
|
13 |
|
14 |
-
#
|
15 |
|
16 |
-
|
17 |
-
- **License:** apache-2.0
|
18 |
-
- **Finetuned from model :** unsloth/gemma-2-2b-it
|
19 |
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
-
[<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](https://github.com/unslothai/unsloth)
|
|
|
3 |
tags:
|
4 |
- text-generation-inference
|
5 |
- transformers
|
|
|
6 |
- gemma2
|
7 |
- trl
|
8 |
+
license: creativeml-openrail-m
|
9 |
language:
|
10 |
+
- ko
|
11 |
---
|
12 |
|
13 |
+
# QCR + GEN for Conversational RAG Chatbot
|
14 |
|
15 |
+
## κ°μ
|
|
|
|
|
16 |
|
17 |
+
μ΄ λͺ¨λΈμ **QCR**(Query Context Rewriter)κ³Ό **GEN**(Generator) κΈ°λ₯μ λμμ μννλ νλμ LoRA μ΄λν° λͺ¨λΈμ
λλ€. κ²μ κΈ°λ° μ±λ΄μ΄λ RAG(Retrieval-Augmented Generation) μμ€ν
μμ νμ©ν μ μλλ‘ μ€κ³λμμ΅λλ€.
|
18 |
+
|
19 |
+
- **QCR κΈ°λ₯**: μ¬μ©μμ μ
λ ₯μ λΆμνμ¬ κ²μμ νμν 쿼리λ₯Ό μμ±νκ±°λ, νμνμ§ μμ κ²½μ° λΉ λ¬Έμμ΄μ λ°νν©λλ€.
|
20 |
+
- **GEN κΈ°λ₯**: κ²μλ λ¬Έμ μ²ν¬(λλ 컨ν
μ€νΈ)λ₯Ό νμ©νμ¬ μμ°μ€λ¬μ΄ λ΅λ³μ μμ±ν©λλ€.
|
21 |
+
|
22 |
+
μ΄ λͺ¨λΈμ 4bit μμνλ λ²μ μ μ§μνμ§ μμ΅λλ€.
|
23 |
+
|
24 |
+
## λ°μ΄ν°μ
λ° νμ΅ νΉμ§
|
25 |
+
|
26 |
+
- **10κ° μ£Όμ ν ν½**(κ°μ‘±/μ£Όκ±°, μ€ν¬μΈ , μΌν, λ―Έμ©/κ±΄κ° λ±)μ λν λ°μ΄ν°λ₯Ό μ¦κ°νμ¬ μ μ.
|
27 |
+
- **μ½ 18,000κ°μ QCR + GEN μν** ν¬ν¨.
|
28 |
+
- **QCR λ°μ΄ν°**
|
29 |
+
- μΌλ° λν(μΈμ¬, λλ΄ λ±)λ **λΉ λ¬Έμμ΄**(`""`)μ λ°ννμ¬ κ²μμ μλ΅νκ³ μ¦μ λ΅λ³ κ°λ₯.
|
30 |
+
- **GEN λ°μ΄ν°**
|
31 |
+
- κ²μλ λ¬Έμ μ²ν¬(μ΅λ 5κ°, κ° 512 ν ν° μ΄ν)λ₯Ό νμ©νμ¬ λ΅λ³ μμ±.
|
32 |
+
- **6κ°μ§ λ€μν λ°μ΄ν° ꡬμ±**:
|
33 |
+
1. κ΄λ ¨ μ λ³΄κ° μλ λ΅λ³
|
34 |
+
2. κ΄λ ¨ μ λ³΄κ° μλ λ΅λ³
|
35 |
+
3. κ΄λ ¨μ±μ΄ νΌμ¬λ μν©
|
36 |
+
4. κ²μ μ²ν¬κ° μ ν μλ κ²½μ° λ±
|
37 |
+
|
38 |
+
μ΄λ¬ν λ°μ΄ν° ꡬμ±μ ν΅ν΄ **λ μμ°μ€λ¬μ΄ λν**λ₯Ό ꡬνν μ μλλ‘ νμ΅λμμ΅λλ€.
|
39 |
+
|
40 |
+
## λͺ¨λΈ μ¬μ© λ°©μ
|
41 |
+
|
42 |
+
1. **QCRμ ν΅ν΄ κ²μ 쿼리 μμ±** β κ²μ μμ§μ ν΅ν΄ λ¬Έμ κ²μ β **GENμΌλ‘ λ΅λ³ μμ±**
|
43 |
+
2. λΆνμν κ²μ λ°©μ§(QCRμ΄ λΉ λ¬Έμμ΄ λ°ν) β μΈμ¬, μ‘λ΄ λ±μ μ§μ μλ΅ κ°λ₯.
|
44 |
+
3. 4bit μμν λͺ¨λΈ μ¬μ© κ°λ₯ β λ©λͺ¨λ¦¬ μ κ° λ° κ³ μ μΆλ‘ κ°λ₯.
|
45 |
+
|
46 |
+
## ν둬ννΈ ν
νλ¦Ώ
|
47 |
+
|
48 |
+
### Query Context Rewriter (QCR)
|
49 |
+
```
|
50 |
+
# Query Rewriter
|
51 |
+
|
52 |
+
### Instruction:
|
53 |
+
λ€μμ λν κΈ°λ‘(Context)μ μ¬μ©μμ μ§λ¬Έ(Input)μ
λλ€.
|
54 |
+
μ¬μ©μμ μ§λ¬Έμ λ΅μ μ 곡νκΈ° μν΄ νμν λ¨μΌ λ¬Έμμ΄ κ²μ 쿼리λ₯Ό μμ±νμΈμ.
|
55 |
+
κ²μμ΄ νμνμ§ μκ±°λ μΏΌλ¦¬κ° λΆνμν κ²½μ°(μΈμ¬, μ‘λ΄ λ±)μλ λΉ λ¬Έμμ΄μ λ°ννμΈμ.
|
56 |
+
|
57 |
+
μ΅μ’
μΆλ ₯ νμμ {'search': '<κ²μ 쿼리>'}μ
λλ€.
|
58 |
+
|
59 |
+
### Conversation:
|
60 |
+
{λν λ§₯λ½}
|
61 |
+
|
62 |
+
### Input:
|
63 |
+
{μ¬μ©μ μ§λ¬Έ}
|
64 |
+
|
65 |
+
### Response:
|
66 |
+
{'search': '{μμ±λ κ²μ 쿼리 λλ λΉ λ¬Έμμ΄}'}
|
67 |
+
```
|
68 |
+
|
69 |
+
### Generator (GEN)
|
70 |
+
```
|
71 |
+
# Generator
|
72 |
+
|
73 |
+
### Instruction:
|
74 |
+
λΉμ μ μΈλΆκ²μμ μ΄μ©νμ¬ μ¬μ©μμκ² λμμ μ£Όλ μΈκ³΅μ§λ₯ μ‘°μμ
λλ€.
|
75 |
+
|
76 |
+
- Contextλ μΈλΆκ²μμ ν΅ν΄ λ°νλ μ¬μ©μ μμ²κ³Ό κ΄λ ¨λ μ 보λ€μ
λλ€.
|
77 |
+
- Contextλ₯Ό νμ©ν λ λ¬Έμ₯ λμ μ¬μ©ν λ¬Έμ μ‘°κ°μ [Index]λ₯Ό λΆμ΄κ³ μμ°μ€λ¬μ΄ λ΅λ³μ μμ±νμΈμ. (e.g. [1])
|
78 |
+
- Contextμ μ λ³΄κ° μ¬μ©μ μμ²κ³Ό κ΄λ ¨μ΄ μκ±°λ λμμ΄ μλ μ μμ΅λλ€. κ΄λ ¨μλ μ λ³΄λ§ νμ©νκ³ , μλ μ 보λ₯Ό μ λ μ§μ΄λ΄μ§ λ§μΈμ.
|
79 |
+
- λλλ‘μ΄λ©΄ μΌλ° μ§μμΌλ‘ λ΅λ³νμ§ λ§κ³ , μ΅λν Contextλ₯Ό ν΅ν΄ λ΅λ³μ νλ €κ³ νμΈμ.
|
80 |
+
- Contextμ μμ κ²½μ°μλ μ΄ μ μ μΈκΈνλ©° μ¬μ£νκ³ λ€λ₯Έ μ£Όμ λ μ§λ¬Έμ μΆμ²ν΄μ£ΌμΈμ.
|
81 |
+
- μ¬μ©μ μμ²μ μλ§λ μμ°μ€λ¬μ΄ λνλ₯Ό νμΈμ.
|
82 |
+
- νμ μ‘΄λλ§λ‘ λ΅λ³νμΈμ.
|
83 |
+
|
84 |
+
### Conversation:
|
85 |
+
{λν λ§₯λ½}
|
86 |
+
|
87 |
+
### Context:
|
88 |
+
{κ²μλ λ¬Έμ μ²ν¬}
|
89 |
+
|
90 |
+
### Input:
|
91 |
+
{μ¬μ©μ μ§λ¬Έ}
|
92 |
+
|
93 |
+
### Response:
|
94 |
+
{λͺ¨λΈμ΄ μμ±ν μλ΅}
|
95 |
+
```
|
96 |
+
|
97 |
+
# μμ λν μν
|
98 |
+
|
99 |
+
## 1. κ²μμ΄ νμ μλ κ²½μ°
|
100 |
+
### μμ 1: μΈμ¬ λ° μΌλ°μ μΈ λν
|
101 |
+
```
|
102 |
+
User> μλ
? λ λꡬλ?
|
103 |
+
|
104 |
+
[QCR λ¨κ³] κ²μ 쿼리 μμ±...
|
105 |
+
{'search': ''} β κ²μ λΆνμλ‘ νλ¨.
|
106 |
+
|
107 |
+
[λ΅λ³ μμ± μ€]...
|
108 |
+
Assistant> μλ
νμΈμ! μ λ μΈλΆκ²μμ ν΅ν΄ λ€μν μ 보λ₯Ό νμ©νμ¬ μ¬μ©μλκ» λμμ μ£Όλ μΈκ³΅μ§λ₯ μ‘°μμ
λλ€. μ΄λ€ μ£Όμ λ μ§λ¬Έμ΄λ νΈνκ² λ§μν΄ μ£ΌμΈμ. μ€λ νλ£¨κ° μ΄λ μ
¨λμ?
|
109 |
+
```
|
110 |
+
|
111 |
+
## 2. κ²μμ΄ νμν κ²½μ°
|
112 |
+
### μμ 2: μν μΆμ² μμ²
|
113 |
+
```
|
114 |
+
User> λ·νλ¦μ€μμ λ³Όλ§ν μν μΆμ²ν΄μ€.
|
115 |
+
|
116 |
+
[QCR λ¨κ³] κ²μ 쿼리 μμ±...
|
117 |
+
{'search': 'λ·νλ¦μ€ μΆμ² μν λͺ©λ‘'} β κ²μ νμ.
|
118 |
+
|
119 |
+
[κ²μλ λ¬Έμ νμ© ν λ΅λ³ μμ±]
|
120 |
+
Assistant> λ·νλ¦μ€μμ μΈκΈ° μλ μν λͺ©λ‘μ λ€μκ³Ό κ°μ΅λλ€.
|
121 |
+
1. 'λΈλ λ―Έλ¬: λ°΄λμ€λ΄μΉ'
|
122 |
+
2. 'λ 룩 μ
'
|
123 |
+
3. 'μ΅μ€νΈλμ
'
|
124 |
+
λ κΆκΈν μ μ΄ μμΌμλ©΄ λ§μν΄μ£ΌμΈμ!
|
125 |
+
```
|
126 |
+
|
127 |
+
### μμ 3: νΉμ μ 보 μοΏ½οΏ½οΏ½ (μ€ν¬μΈ κ·μΉ)
|
128 |
+
```
|
129 |
+
User> 볡μ±μ λ£°μ΄ μ΄λ»κ² λλμ?
|
130 |
+
|
131 |
+
[QCR λ¨κ³] κ²μ 쿼리 μμ±...
|
132 |
+
{'search': 'λ³΅μ± λ£° μ€λͺ
'} β κ²μ νμ.
|
133 |
+
|
134 |
+
[κ²μλ λ¬Έμ νμ© ν λ΅λ³ μμ±]
|
135 |
+
Assistant> λ³΅μ± κ²½κΈ°μ κΈ°λ³Έ λ£°μ λ€μκ³Ό κ°μ΅λλ€.
|
136 |
+
- κ° λΌμ΄λλ 3λΆ μ§νλλ©°, 1λΆμ ν΄μμ΄ μ£Όμ΄μ§λλ€.
|
137 |
+
- κΈλ¬λΈ μ°©μ©μ νμμ΄λ©°, λ€μ΄λ μ μλ 10μ΄ μμ μΌμ΄λμΌ ν©λλ€.
|
138 |
+
- μ£Όμ ν격 κΈ°μ λ‘λ μ€νΈλ μ΄νΈ, ν
, μ΄νΌμ»· λ±μ΄ μμ΅λλ€.
|
139 |
+
λ κΆκΈν μ¬νμ΄ μμΌμλ©΄ μ§λ¬Έν΄μ£ΌμΈμ!
|
140 |
+
```
|
141 |
+
|
142 |
+
## 3. κ³Όκ±° λν κΈ°λ° μ§λ¬Έ
|
143 |
+
### μμ 4: λ¬Έλ§₯μ μ μ§ν μ§λ¬Έ
|
144 |
+
```
|
145 |
+
User> λ·νλ¦μ€ μν μΆμ²ν΄μ€.
|
146 |
+
|
147 |
+
[QCR λ¨κ³] κ²μ 쿼리 μμ±...
|
148 |
+
{'search': 'λ·νλ¦μ€ μΆμ² μν λͺ©λ‘'} β κ²μ νμ.
|
149 |
+
|
150 |
+
[κ²μλ λ¬Έμ νμ© ν λ΅λ³ μμ±]
|
151 |
+
Assistant> λ·νλ¦μ€μμ μΈκΈ° μλ μν λͺ©λ‘μ λ€μκ³Ό κ°μ΅λλ€.
|
152 |
+
1. 'λΈλ λ―Έλ¬: λ°΄λμ€λ΄μΉ'
|
153 |
+
2. 'λ 룩 μ
'
|
154 |
+
3. 'μ΅μ€νΈλμ
'
|
155 |
+
|
156 |
+
User> μ€μ§μ΄ κ²μμ μ΄λ?
|
157 |
+
|
158 |
+
[QCR λ¨κ³] κ²μ 쿼리 μμ±...
|
159 |
+
{'search': 'μ€μ§μ΄ κ²μ μ 보'} β κ²μ νμ.
|
160 |
+
|
161 |
+
[κ²μλ λ¬Έμ νμ© ν λ΅λ³ μμ±]
|
162 |
+
Assistant> 'μ€μ§μ΄ κ²μ'μ λ·νλ¦μ€μμ λ°©μλ μΈκΈ° μλ°μ΄λ² λλΌλ§λ‘, 456μ΅ μμ μκΈμ 건 μμ‘΄ κ²μμ λ€λ£Ήλλ€. κ²μμλ '무κΆνκ½μ΄ νΌμμ΅λλ€', 'λ¬κ³ λ λ½κΈ°' λ±μ νκ΅ μ ν΅ λμ΄κ° ν¬ν¨λμ΄ μμ΅λλ€. μμ¦ 2 μ μμ΄ νμ λμμΌλ©°, 2024λ
λ°©μ μμ μ
λλ€. λ μμΈν μ λ³΄κ° νμνμλ©΄ μλ €μ£ΌμΈμ!
|
163 |
+
```
|
164 |
+
|
165 |
+
## 4. κ°μμ€λ¬μ΄ ν ν½ λ³κ²½
|
166 |
+
### μμ 5: κ²μ μ€κ°μ μ£Όμ μ ν
|
167 |
+
```
|
168 |
+
User> λ·νλ¦μ€μμ λ³Όλ§ν μν μΆμ²ν΄μ€.
|
169 |
+
|
170 |
+
[QCR λ¨κ³] κ²μ 쿼리 μμ±...
|
171 |
+
{'search': 'λ·νλ¦μ€ μΆμ² μν λͺ©λ‘'} β κ²μ νμ.
|
172 |
+
|
173 |
+
User> κ·Όλ° λ μ¬λ§ κ·μΉμ μ΄λ»κ² λΌ?
|
174 |
+
|
175 |
+
[QCR λ¨κ³] κ²μ 쿼리 μμ±...
|
176 |
+
{'search': 'λ μ¬λ§ κ·μΉ μ€λͺ
'} β κ²μ νμ.
|
177 |
+
|
178 |
+
[κ²μλ λ¬Έμ νμ© ν λ΅λ³ μμ±]
|
179 |
+
Assistant> λ μ¬λ§μ λμ§κΈ°, μ°λ¬λ¨λ¦¬κΈ°, κΊΎκΈ° λ±μ κΈ°μ μ μ΄μ©νμ¬ μλλ₯Ό μ μνλ μ€ν¬μΈ μ
λλ€. κ²½κΈ° λ°©μμ μ¬λ¦Όν½ μ€νμΌμΈ 'κ·Έλ μ½λ‘λ§ν'κ³Ό 'μμ ν'μΌλ‘ λλ©λλ€. νΉμ κ·μΉμ΄ κΆκΈνμλ€λ©΄ μΆκ°λ‘ μ§λ¬Έν΄μ£ΌμΈμ!
|
180 |
+
```
|
181 |
+
|
182 |
+
μ΄λ¬ν μμλ€μ μ°Έκ³ νμ¬ κ²μ κΈ°λ° λͺ¨λΈμ ν¨κ³Όμ μΌλ‘ νμ©ν μ μμ΅λλ€.
|
183 |
+
|
184 |
+
## μ£Όμμ¬ν
|
185 |
+
- κ²μ μμ§κ³Ό ν¨κ» μ¬μ©ν κ²½μ° **QCRμ λ¨Όμ μ€ννμ¬ κ²μ 쿼리λ₯Ό μμ±**ν ν, κ²μλ λ¬Έμ μ²ν¬λ₯Ό λ°νμΌλ‘ **GENμ μ€ν**ν΄μΌ ν©λλ€.
|
186 |
+
- κ²μλ μ²ν¬λ μ΅λ **512 ν ν°** κΈΈμ΄μ΄λ©°, νμ΅ κ³Όμ μμ **μ΅λ 5κ°μ μ²ν¬**λ₯Ό λ°μνμμΌλ―λ‘ μ΄μ λ§μΆ° νμ©νλ κ²μ΄ μ€μν©λλ€.
|
187 |
+
- QCRμ **ν둬ννΈ νμμ λ°λμ μ§μΌμΌ** κ²μ 쿼리 μμ±μ΄ μ¬λ°λ₯΄κ² μ΄λ£¨μ΄μ§λλ€.
|
188 |
+
- GENμ λ΅λ³μμλ κ²μλ λ¬Έμ μΆμ²(Index)λ₯Ό μ νν κΈ°μ¬ν΄μΌ νλ©°, κ΄λ ¨μ±μ΄ μμΌλ©΄ μλλλ‘ μλ΄ν΄μΌ ν©λλ€.
|
189 |
+
- μ 2b λͺ¨λΈ κ°μ κ²½μ°λ 9b λͺ¨λΈμ λΉνμ¬ μΈμ΄μ , λ
Όλ¦¬μ μΈ‘λ©΄μμ μ¦μ ν 루μλ€μ΄μ
μ 체νν μ μμ΅λλ€.
|
190 |
+
|
191 |
+
μ΄ λͺ¨λΈμ ν΅ν΄ λ³΄λ€ **ν¨μ¨μ μΈ κ²μ + μ νν λ΅λ³**μ μ 곡νλ AI μμ€ν
μ ꡬμΆν μ μμ΅λλ€.
|
192 |
|
|