daebum commited on
Commit
ffca536
Β·
verified Β·
1 Parent(s): a11de23

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +28 -2
README.md CHANGED
@@ -16,7 +16,7 @@ datasets:
16
  ---
17
 
18
  ## Introduction
19
- Qwen2.5 14B λͺ¨λΈμ€ Command r plus λͺ¨λΈμ„ μ΄μš©ν•˜μ—¬ 자체 κ΅¬μΆ•ν•œ RAG νŠΉν™” 데이터셋, CoT 데이터셋, 벀치마크 λ°μ΄ν„°μ…‹μœΌλ‘œ Full fine-tuning ν•œ λͺ¨λΈμž…λ‹ˆλ‹€.
20
  ν•΄λ‹Ή λͺ¨λΈμ€ 일반적인 RAG μ„œλΉ„μŠ€μ˜ μž…λ ₯데이터에 λŒ€ν•΄μ„œ μ •ν™•ν•œ λ‹΅λ³€κ³Ό λ‹΅λ³€ 좜처λ₯Ό 생성할 수 있으며 Json ν˜•νƒœλ‘œ 닡변을 좜λ ₯ν•˜λŠ” νŠΉμ§•μ„ κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.
21
  좜λ ₯ key값은 μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.
22
  1. "related_document"의 κ°’ : 질문과 κ΄€λ ¨ μžˆλŠ” λ¬Έμ„œ doc_id, 제λͺ© (key : λ¬Έμ„œ 번호, Value : λ¬Έμ„œ 제λͺ©)
@@ -40,6 +40,31 @@ Qwen2.5 14B λͺ¨λΈμ€ Command r plus λͺ¨λΈμ„ μ΄μš©ν•˜μ—¬ 자체 κ΅¬μΆ•ν•œ RAG
40
  }
41
  ```
42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  ## RAG Prompt
44
  ```
45
  RAG_PROMPT = """<|im_start|>system\n\n 당신은 λŒ€ν™”ν˜• AIλ‘œμ„œ, μ‚¬μš©μžμ˜ μ§ˆλ¬Έμ— μ‹ λ’°ν•  수 μžˆλŠ” 정보λ₯Ό μ œκ³΅ν•˜λŠ” 것이 μ£Όμš” μ—­ν• μž…λ‹ˆλ‹€. μ‚¬μš©μžμ˜ μš”κ΅¬λ₯Ό μ •ν™•νžˆ μ΄ν•΄ν•˜κ³ , κ΄€λ ¨ λ¬Έμ„œλ₯Ό λΆ„μ„ν•˜μ—¬ 졜적의 닡변을 생성해야 ν•©λ‹ˆλ‹€. \n당신은 λ‹€μŒκ³Ό 같은 원칙을 μ€€μˆ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€:\n1. 항상 μ‚¬μš©μžμ˜ μš”μ²­μ„ μ΅œμš°μ„ μœΌλ‘œ κ³ λ €ν•˜λ©°, λͺ…ν™•ν•˜κ³  μ΄ν•΄ν•˜κΈ° μ‰¬μš΄ 닡변을 μ œκ³΅ν•©λ‹ˆλ‹€.\n2. 제곡된 λ¬Έμ„œλ₯Ό μ΅œλŒ€ν•œ ν™œμš©ν•˜μ—¬ 응닡을 κ΅¬μ„±ν•˜λ˜, 좔가적인 뢄석과 논리λ₯Ό 톡해 μ‘λ‹΅μ˜ μ§ˆμ„ λ†’μž…λ‹ˆλ‹€.\n3. 응닡을 생성할 λ•ŒλŠ” λ°˜λ“œμ‹œ μ£Όμ–΄μ§„ 지침을 λ”°λ₯΄κ³ , λͺ…ν™•ν•œ 좜처λ₯Ό μ œκ³΅ν•΄μ•Ό ν•©λ‹ˆλ‹€.\n4. μ‚¬μš©μžμ˜ 질문이 λͺ¨ν˜Έν•  경우, λͺ…확성을 ν™•λ³΄ν•˜κΈ° μœ„ν•΄ μ§ˆλ¬Έμ„ μž¬κ΅¬μ„±ν•˜λŠ” λ°©μ•ˆμ„ κ³ λ €ν•  수 μžˆμŠ΅λ‹ˆλ‹€.\n\n# μ‚¬μš©μž μ•ˆλ‚΄λ¬Έ\n## μž‘μ—… 및 λ§₯락\n당신은 μ‚¬μš©μž μ§ˆλ¬Έμ— λŒ€ν•΄ κ΄€λ ¨ λ¬Έμ„œλ₯Ό λΆ„μ„ν•˜κ³ , μ‹ λ’°ν•  수 μžˆλŠ” 정보λ₯Ό λ°”νƒ•μœΌλ‘œ 응닡을 생성해야 ν•©λ‹ˆλ‹€. λ‹¨μˆœν•œ 정보 전달을 λ„˜μ–΄, λ¬Έλ§₯을 κ³ λ €ν•˜μ—¬ κ°€μž₯ μ μ ˆν•œ ν˜•νƒœλ‘œ 정보λ₯Ό μ œκ³΅ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€.\n\n## μŠ€νƒ€μΌ κ°€μ΄λ“œ\njson ν˜•μ‹μœΌλ‘œ 닡변을 좜λ ₯ν•˜μ„Έμš”.[
@@ -86,4 +111,5 @@ generated_ids = [
86
 
87
  response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
88
  print(response)
89
- ```
 
 
16
  ---
17
 
18
  ## Introduction
19
+ Command r plus λͺ¨λΈμ„ μ΄μš©ν•˜μ—¬ 자체 κ΅¬μΆ•ν•œ RAG νŠΉν™” 데이터셋, CoT 데이터셋, 벀치마크 λ°μ΄ν„°μ…‹μœΌλ‘œ Qwen2.5 14B λͺ¨λΈμ„ Full fine-tuning ν•œ λͺ¨λΈμž…λ‹ˆλ‹€.
20
  ν•΄λ‹Ή λͺ¨λΈμ€ 일반적인 RAG μ„œλΉ„μŠ€μ˜ μž…λ ₯데이터에 λŒ€ν•΄μ„œ μ •ν™•ν•œ λ‹΅λ³€κ³Ό λ‹΅λ³€ 좜처λ₯Ό 생성할 수 있으며 Json ν˜•νƒœλ‘œ 닡변을 좜λ ₯ν•˜λŠ” νŠΉμ§•μ„ κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.
21
  좜λ ₯ key값은 μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.
22
  1. "related_document"의 κ°’ : 질문과 κ΄€λ ¨ μžˆλŠ” λ¬Έμ„œ doc_id, 제λͺ© (key : λ¬Έμ„œ 번호, Value : λ¬Έμ„œ 제λͺ©)
 
40
  }
41
  ```
42
 
43
+ ## ν•™μŠ΅ ν™˜κ²½ 및 νŒŒλΌλ―Έν„°
44
+ νŠœλ‹ ν™˜κ²½ : H100(80GB) * 8
45
+ -tokenizer_model_mex_length 4500
46
+ -use_flash_attn True
47
+ -num_train_epochs 3.0
48
+ -weight_decay 0.001
49
+ -lr_scheduler_type "linear"
50
+ -per_device_train_batch_size 1
51
+ -gradient_accumulation_steps 64
52
+ -learning_rate 5e-06
53
+ -bf16 True
54
+ -deepspeed ds_stage2.json
55
+
56
+ ## μ‚¬μš© 데이터셋
57
+ - AIhub 16 ν–‰μ • λ¬Έμ„œ λŒ€μƒ 기계독해 데이터
58
+ - AIhub 17 λ‰΄μŠ€ 기사 기계독해 데이터
59
+ - AIhub 21 λ„μ„œμžλ£Œ 기계독해
60
+ - AIhub 149 ν‘œ 정보 μ§ˆμ˜μ‘λ‹΅ 데이터
61
+ - AIhub 150 μˆ«μžμ—°μ‚° 기계독해 데이터
62
+ - AIhub 151 금육, 법λ₯  λ¬Έμ„œ 기계독해 데이터
63
+ - kyujinpy/KoCoT_2000
64
+ - MarkrAI/KoCommercial-Dataset
65
+ - CarrotAI/ko-instruction-dataset
66
+ - heegyu/CoT-collection-ko
67
+
68
  ## RAG Prompt
69
  ```
70
  RAG_PROMPT = """<|im_start|>system\n\n 당신은 λŒ€ν™”ν˜• AIλ‘œμ„œ, μ‚¬μš©μžμ˜ μ§ˆλ¬Έμ— μ‹ λ’°ν•  수 μžˆλŠ” 정보λ₯Ό μ œκ³΅ν•˜λŠ” 것이 μ£Όμš” μ—­ν• μž…λ‹ˆλ‹€. μ‚¬μš©μžμ˜ μš”κ΅¬λ₯Ό μ •ν™•νžˆ μ΄ν•΄ν•˜κ³ , κ΄€λ ¨ λ¬Έμ„œλ₯Ό λΆ„μ„ν•˜μ—¬ 졜적의 닡변을 생성해야 ν•©λ‹ˆλ‹€. \n당신은 λ‹€μŒκ³Ό 같은 원칙을 μ€€μˆ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€:\n1. 항상 μ‚¬μš©μžμ˜ μš”μ²­μ„ μ΅œμš°μ„ μœΌλ‘œ κ³ λ €ν•˜λ©°, λͺ…ν™•ν•˜κ³  μ΄ν•΄ν•˜κΈ° μ‰¬μš΄ 닡변을 μ œκ³΅ν•©λ‹ˆλ‹€.\n2. 제곡된 λ¬Έμ„œλ₯Ό μ΅œλŒ€ν•œ ν™œμš©ν•˜μ—¬ 응닡을 κ΅¬μ„±ν•˜λ˜, 좔가적인 뢄석과 논리λ₯Ό 톡해 μ‘λ‹΅μ˜ μ§ˆμ„ λ†’μž…λ‹ˆλ‹€.\n3. 응닡을 생성할 λ•ŒλŠ” λ°˜λ“œμ‹œ μ£Όμ–΄μ§„ 지침을 λ”°λ₯΄κ³ , λͺ…ν™•ν•œ 좜처λ₯Ό μ œκ³΅ν•΄μ•Ό ν•©λ‹ˆλ‹€.\n4. μ‚¬μš©μžμ˜ 질문이 λͺ¨ν˜Έν•  경우, λͺ…확성을 ν™•λ³΄ν•˜κΈ° μœ„ν•΄ μ§ˆλ¬Έμ„ μž¬κ΅¬μ„±ν•˜λŠ” λ°©μ•ˆμ„ κ³ λ €ν•  수 μžˆμŠ΅λ‹ˆλ‹€.\n\n# μ‚¬μš©μž μ•ˆλ‚΄λ¬Έ\n## μž‘μ—… 및 λ§₯락\n당신은 μ‚¬μš©μž μ§ˆλ¬Έμ— λŒ€ν•΄ κ΄€λ ¨ λ¬Έμ„œλ₯Ό λΆ„μ„ν•˜κ³ , μ‹ λ’°ν•  수 μžˆλŠ” 정보λ₯Ό λ°”νƒ•μœΌλ‘œ 응닡을 생성해야 ν•©λ‹ˆλ‹€. λ‹¨μˆœν•œ 정보 전달을 λ„˜μ–΄, λ¬Έλ§₯을 κ³ λ €ν•˜μ—¬ κ°€μž₯ μ μ ˆν•œ ν˜•νƒœλ‘œ 정보λ₯Ό μ œκ³΅ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€.\n\n## μŠ€νƒ€μΌ κ°€μ΄λ“œ\njson ν˜•μ‹μœΌλ‘œ 닡변을 좜λ ₯ν•˜μ„Έμš”.[
 
111
 
112
  response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
113
  print(response)
114
+ ```
115
+