|
--- |
|
base_model: unsloth/gemma-2-9b-it-bnb-4bit |
|
tags: |
|
- text-generation-inference |
|
- transformers |
|
- unsloth |
|
- gemma2 |
|
- trl |
|
license: apache-2.0 |
|
language: |
|
- en |
|
--- |
|
--- |
|
base_model: unsloth/gemma-2-2b-it |
|
tags: |
|
- text-generation-inference |
|
- transformers |
|
- unsloth |
|
- gemma2 |
|
- trl |
|
license: openrail |
|
language: |
|
- en |
|
--- |
|
# Gemma2 νκ΅μ΄ μ μ© μ΄λν° (Gemma2 Korean Adapter) |
|
|
|
λ³Έ λ ν¬μ§ν 리λ **unsloth/gemma-2-9b-it-bnb-4bit** λͺ¨λΈμ κΈ°λ°μΌλ‘, **νκ΅μ΄ μ§μ λΆλ₯ λ° κ²μ 쿼리 μ¬μμ±**μ μννκΈ° μν μ΄λν°(Adapter) μμμ
λλ€. |
|
**λΉμμ
μ μ©λ**λ‘ λ°°ν¬λλ©°, μμ
μ μ¬μ©μ μ νλ©λλ€. λ³Έ λͺ¨λΈ λ° μ΄λν°μ λν μ μκΆμ μ κ°λ°μμκ² μμΌλ©°, λ¬΄λ¨ μ μ¬ λ° λ°°ν¬λ κΈμ§λ©λλ€. |
|
|
|
--- |
|
|
|
## μ£Όμ κΈ°λ₯ |
|
|
|
1. **μ§μ λΆλ₯(Query Classification)** |
|
- μ¬μ©μμ μ§μκ° μΈμ¬, λλ΄, κ²μΉλ λ±μ μ€μ κ²μμ΄ λΆνμν κ²½μ°, `{"search": ""}`(λΉ λ¬Έμμ΄) ννλ‘ λ°νν©λλ€. |
|
- μ¦, κ²μμ΄ μ ν νμνμ§ μμ μν©μ μλμΌλ‘ λΆλ₯νμ¬ μΏΌλ¦¬λ₯Ό μμ±νμ§ μμ΅λλ€. |
|
|
|
2. **κ²μ 쿼리 μμ±(Search Query Rewriting)** |
|
- μ€μ κ²μμ΄ νμν μ§λ¬Έμ κ²½μ°, **κ³Όκ±° λν(Context)**λ₯Ό κ³ λ €νμ¬ λΆμμ ν 쿼리λ₯Ό 보μνκ±°λ, λΆνμν λΆλΆμ μ κ±°ν΄ μ΅μ νλ κ²μμ΄λ₯Ό μμ±ν©λλ€. |
|
- μ΅μ’
μΆλ ₯μ JSON νμμΌλ‘ `{"search": "<κ²μ 쿼리>"}` ννλ₯Ό λ°λ¦
λλ€. |
|
|
|
--- |
|
|
|
## νμ΅ λ°μ΄ν° κ΅¬μ± |
|
|
|
- **λν(Context)**: μ¬μ©μμμ κ³Όκ±° λν κΈ°λ‘μ κ°ν(`\n`)μΌλ‘ ꡬλΆνμ¬ μ΄μ΄λΆμΈ ν
μ€νΈ |
|
- **μ§μλ¬Έ(Instruction)**: λͺ¨λΈμκ² μ΄λ€ μμ
μ μνν΄μΌ νλμ§ μλ €μ£Όλ ν
μ€νΈ |
|
- **μ
λ ₯(Input)**: μ¬μ©μκ° λ§μ§λ§μΌλ‘ μ
λ ₯ν μ€μ μ§μ |
|
- **μλ΅(Response)**: μ΅μ’
JSON νμ(`{"search": "<κ²μμ΄>"}`)μΌλ‘ μμ±λ κ²μ 쿼리 κ²°κ³Ό |
|
|
|
λνμ μμ²μ νλμ ν
μ€νΈλ‘ ν©μ³ νμ΅ν μ μλλ‘, Hugging Face `Dataset`μ νμ©νμ¬ μλμ κ°μ ν
νλ¦Ώμ λ§μΆ° λ³ννμμ΅λλ€. |
|
|
|
--- |
|
|
|
## ν둬ννΈ ν
νλ¦Ώ(μμ) |
|
|
|
λ³Έ μ΄λν°λ μλμ κ°μ ν
νλ¦Ώ ꡬ쑰λ₯Ό μ¬μ©ν©λλ€. λͺ¨λΈμ μ
λ ₯λ μ΅μ’
λ¬Έμμ΄μ λ€μκ³Ό κ°μ΅λλ€: |
|
|
|
``` |
|
### Context: |
|
{conversation} |
|
|
|
### Instruction: |
|
λ€μμ λν κΈ°λ‘(Context)μ μ¬μ©μμ μ§λ¬Έ(Input)μ
λλ€. μ¬μ©μμ μ§λ¬Έμ λ΅μ μ 곡νκΈ° μν΄ νμν λ¨μΌ λ¬Έμμ΄ κ²μ 쿼리λ₯Ό μμ±νμΈμ. λν κΈ°λ‘μ κ³ λ €νμ¬ κ²μ 쿼리λ₯Ό μμ±νμΈμ. κ²μμ΄ νμνμ§ μκ±°λ μΏΌλ¦¬κ° λΆνμν κ²½μ°(μΈμ¬λ, κ²μΉλ , λλ΄) λΉ λ¬Έμμ΄μ λ°ννμΈμ. |
|
|
|
μ΅μ’
μΆλ ₯ νμμ {'search': '<κ²μ 쿼리>'}μ
λλ€. |
|
|
|
### Input: |
|
{input} |
|
|
|
### Response: |
|
{response} |
|
``` |
|
|
|
- `{conversation}`: κ³Όκ±° λν νμ€ν 리λ₯Ό κ°ν(`\n`)μΌλ‘ ꡬλΆνμ¬ μ΄μ΄λΆμΈ λ¬Έμμ΄ |
|
- `{instruction}`: μ¬μ©μ μμ²μ λν μ§μΉ¨ |
|
- `{input}`: μ΅μ’
μ¬μ©μ μ§μ |
|
- `{response}`: JSON νμ(μ: `{"search": "<κ²μμ΄>"}`)μΌλ‘ μμ±λ κ²°κ³Ό |
|
|
|
λͺ¨λΈμ EOS ν ν°(μ: `tokenizer.eos_token`)μ μ΄μ©ν΄ λ¬Έμ₯ λ¨μλ₯Ό ꡬλΆν©λλ€. |
|
|
|
--- |
|
|
|
## μ¬μ© μμ |
|
|
|
1. **μΈμ¬, λλ΄, κ²μΉλ μ§λ¬Έ** |
|
- Input: βμλ
? μ μ§λ΄?β |
|
- λΆλ₯ κ²°κ³Ό: κ²μμ΄ λΆνμνλ€κ³ νλ¨ β `{"search": ""}` |
|
|
|
2. **κ²μ νμν μ§λ¬Έ** |
|
- Context: μ΄μ λνμμ βλ΄μ λ§μ§β μ΄μΌκΈ°λ₯Ό νκ³ μμμ |
|
- Input: βκ·ΈλΌ λ΄μμμ μ μΌ μΈκΈ° μλ νλ²κ±° κ°κ² μ°Ύμμ€β |
|
- λͺ¨λΈ μλ΅: `{"search": "λ΄μ μΈκΈ° νλ²κ±° κ°κ²"}` |
|
- κ³Όκ±° λνλ₯Ό κ³ λ €νμ¬ ν€μλλ₯Ό μΆμΆ λ° μ¬μμ± |
|
|
|
--- |
|
|
|
## λͺ¨λΈ ꡬ쑰 |
|
|
|
- **Base Model**: [unsloth/gemma-2-9b-it-bnb-4bit](https://huggingface.co/unsloth/gemma-2-9b-it-bnb-4bit) |
|
- **μΈμ΄(Language)**: νκ΅μ΄μ μ΅μ νλ μ΄λν° |
|
--- |
|
|
|
## μ¬μ© λ°©λ² |
|
|
|
1. **λ°μ΄ν°μ
μμ±** |
|
- `merged_dataset.json` ννλ‘ λνμ μ§μκ° ν¬ν¨λ μλ³Έ λ°μ΄ν°λ₯Ό μ€λΉν©λλ€. |
|
- μ μμ μ€ν¬λ¦½νΈμ²λΌ, `{"search": "<κ²μμ΄>"}` ννμ μ΅μ’
`Response`λ₯Ό μμ±νλλ‘ μ μ²λ¦¬(ν ν° μ μ ν, λΆνμν λν μ κ±° λ±)λ₯Ό κ±°μΉ©λλ€. |
|
|
|
2. **ν¬λ§· λ³ν** |
|
- ν
νλ¦Ώ(`custom_prompt`)μ μ¬μ©ν΄ `<conversation>`, `<instruction>`, `<input>`, `<response>`λ₯Ό νλμ λ¬Έμμ΄λ‘ ν©μΉ©λλ€. |
|
- Hugging Face `Dataset` κ°μ²΄μ 맡ν(map)νμ¬ `text` 컬λΌμ μμ±ν©λλ€. |
|
|
|
3. **λ°μ΄ν° λΆν ** |
|
- μμ μ½λμμμ²λΌ train/val λ°μ΄ν°λ₯Ό λΆλ¦¬ν ν, μνλ λ―ΈμΈμ‘°μ λ°©λ²μΌλ‘ νμ΅ν©λλ€. |
|
|
|
4. **μΆλ‘ (Inference)** |
|
- νμ΅λ λͺ¨λΈ νΉμ μ΄λν°λ₯Ό λ‘λν λ€, μ¬μ©μ μ
λ ₯μ λ°μ ν
νλ¦Ώμ λ§μΆ° λͺ¨λΈμ μ λ¬ν©λλ€. |
|
- λͺ¨λΈμ μ΅μ’
μΆλ ₯μ΄ `{"search": "<κ²μμ΄>"}` ννμΈμ§ νμΈν©λλ€. |
|
- `search` νλκ° λΉ λ¬Έμμ΄(`""`)μ΄λΌλ©΄ κ²μμ΄ νμνμ§ μμμ μλ―Έν©λλ€. |
|
|
|
--- |
|
|
|
## λΌμ΄μ μ€ |
|
|
|
- λ³Έ μ΄λν°λ **λΉμμ
μ μ©λ**λ‘λ§ μ¬μ© κ°λ₯ν©λλ€. |
|
- μ¬λ°°ν¬ λ° νμ νλ‘μ νΈ μμ± μ, λ°λμ λΉμμ
μ λͺ©μ μ΄μ΄μΌ νλ©°, 2μ°¨ μ°½μ μ μμμ νκΈ°λ₯Ό μ€μν΄μΌ ν©λλ€. |
|
- μμ
μ μ΄μ©μ΄ νμν κ²½μ° λ³λμ νμλ₯Ό ν΅ν΄ νκ°λ₯Ό λ°μμΌ ν©λλ€. |
|
|
|
--- |
|
|