A A
[DL] Model Distillation (λͺ¨λΈ 증λ₯˜)
μ΄λ²ˆμ—λŠ” Model Distillation (λͺ¨λΈ 증λ₯˜)에 κ΄€ν•œ λ‚΄μš©μ— λ°ν•˜μ—¬ ν•œλ²ˆ μ„€λͺ…ν•΄ 보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€.

What is Model Distillation (λͺ¨λΈ 증λ₯˜)?

 

λͺ¨λΈ 증λ₯˜λŠ” λ”₯λŸ¬λ‹μ—μ„œ 큰 λͺ¨λΈμ˜ 지식을 μž‘μ€ λͺ¨λΈλ‘œ μ „λ‹¬ν•˜μ—¬, μž‘μ€ λͺ¨λΈμ΄ 큰 λͺ¨λΈμ˜ μ„±λŠ₯을 μ΅œλŒ€ν•œ λͺ¨λ°©ν•˜λ„둝 ν•˜λŠ” κΈ°λ²•μž…λ‹ˆλ‹€.

이 방법은 큰 λͺ¨λΈ(ꡐ사 λͺ¨λΈ, Teacher Model)이 λ³΅μž‘ν•œ νŒ¨ν„΄κ³Ό 지식을 이미 ν•™μŠ΅ν•œ μƒνƒœμ—μ„œ, κ·Έ 지식을 μž‘μ€ λͺ¨λΈ(학생 λͺ¨λΈ, Student Model)에 μ „λ‹¬ν•˜μ—¬ 더 효율적인 λͺ¨λΈμ„ λ§Œλ“œλŠ” 것을 λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€.

 

https://www.linkedin.com/pulse/model-compression-knowledge-distillation-swapnil-kangralkar-j8dbc/


Model Distillation (λͺ¨λΈ 증λ₯˜)의 ν•„μš”μ„±

그러면 Model Distillation (λͺ¨λΈ 증λ₯˜)κ°€ ν•„μš”ν•œ μ΄μœ λŠ” λ¬΄μ—‡μΌκΉŒμš”?
  • μžμ› νš¨μœ¨μ„±: λŒ€ν˜• λͺ¨λΈμ€ 높은 μ„±λŠ₯을 λ³΄μ΄μ§€λ§Œ, λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰κ³Ό 계산 λ³΅μž‘λ„κ°€ λ†’μ•„ μ‹€μ œ λ°°ν¬λ‚˜ μ‹€μ‹œκ°„ μ‘μš©μ— μ œμ•½μ΄ μžˆμŠ΅λ‹ˆλ‹€.
  • 배포 μš©μ΄μ„±: μž‘μ€ λͺ¨λΈμ€ λͺ¨λ°”일 κΈ°κΈ°λ‚˜ μž„λ² λ””λ“œ μ‹œμŠ€ν…œκ³Ό 같이 μžμ›μ΄ μ œν•œλœ ν™˜κ²½μ—μ„œλ„ μ›ν™œν•˜κ²Œ μž‘λ™ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ—λ„ˆμ§€ 절감: 계산 μžμ›μ΄ 적게 ν•„μš”ν•˜λ―€λ‘œ μ „λ ₯ μ†ŒλΉ„λ₯Ό κ°μ†Œμ‹œμΌœ ν™˜κ²½ μΉœν™”μ μž…λ‹ˆλ‹€.

Model Distillation (λͺ¨λΈ 증λ₯˜)의 μ£Όμš” ꡬ성 μš”μ†Œ

 Model Distillation (λͺ¨λΈ 증λ₯˜)κ°€ 주둜 μ–΄λ– ν•œ ꡬ성 μš”μ†Œλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλŠ”μ§€ ν•œλ²ˆ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.
  • ꡐ사 λͺ¨λΈ(Teacher Model): λŒ€κ·œλͺ¨μ˜ νŒŒλΌλ―Έν„°λ₯Ό 가진 κ³ μ„±λŠ₯ λͺ¨λΈλ‘œ, λ³΅μž‘ν•œ 데이터 νŒ¨ν„΄κ³Ό 지식을 이미 ν•™μŠ΅ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 학생 λͺ¨λΈ(Student Model): ꡐ사 λͺ¨λΈμ˜ 지식을 전달받아 더 μž‘μ§€λ§Œ 효율적인 λͺ¨λΈλ‘œ, ꡐ사 λͺ¨λΈμ˜ μ˜ˆμΈ‘μ„ λͺ¨λ°©ν•˜λ„둝 ν›ˆλ ¨λ©λ‹ˆλ‹€.
  • μ†Œν”„νŠΈ νƒ€κ²Ÿ(Soft Targets): ꡐ사 λͺ¨λΈμ΄ μž…λ ₯ 데이터에 λŒ€ν•΄ 좜λ ₯ν•œ 예츑 ν™•λ₯  λΆ„ν¬λ‘œ, 학생 λͺ¨λΈμ˜ ν•™μŠ΅μ— μ‚¬μš©λ©λ‹ˆλ‹€. μ΄λŠ” λ‹¨μˆœν•œ μ •λ‹΅ 라벨(ν•˜λ“œ νƒ€κ²Ÿ)보닀 더 ν’λΆ€ν•œ 정보λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

Model Distillation (λͺ¨λΈ 증λ₯˜) κ³Όμ •

Model Distillation (λͺ¨λΈ 증λ₯˜)의 과정에 λ°ν•˜μ—¬ ν•œλ²ˆ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.
  • ꡐ사 λͺ¨λΈ(Teacher Model) ν›ˆλ ¨: λ¨Όμ €, λ³΅μž‘ν•œ 데이터셋에 λŒ€ν•΄ ꡐ사 λͺ¨λΈμ„ ν›ˆλ ¨μ‹œμΌœ 높은 μ„±λŠ₯을 갖좔도둝 ν•©λ‹ˆλ‹€.
  • μ†Œν”„νŠΈ νƒ€κ²Ÿ(Soft Targets) μƒμ„±: ꡐ사 λͺ¨λΈμ„ μ‚¬μš©ν•˜μ—¬ ν•™μŠ΅ 데이터에 λŒ€ν•œ 예츑 ν™•λ₯  뢄포(μ†Œν”„νŠΈ νƒ€κ²Ÿ)λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  • 학생 λͺ¨λΈ(Student Model) ν›ˆλ ¨:
    • μ†Œν”„νŠΈ νƒ€κ²Ÿ ν™œμš©: 학생 λͺ¨λΈμ€ ꡐ사 λͺ¨λΈμ˜ μ†Œν”„νŠΈ νƒ€κ²Ÿμ„ μ°Έκ³ ν•˜μ—¬ 좜λ ₯ 뢄포λ₯Ό ꡐ사 λͺ¨λΈκ³Ό μœ μ‚¬ν•˜κ²Œ λ§Œλ“­λ‹ˆλ‹€.
    • ν•˜λ“œ νƒ€κ²Ÿ 병행 ν•™μŠ΅: μ›λž˜μ˜ μ •λ‹΅ 라벨(ν•˜λ“œ νƒ€κ²Ÿ)도 ν•¨κ»˜ μ‚¬μš©ν•˜μ—¬ λͺ¨λΈμ˜ μΌλ°˜ν™” λŠ₯λ ₯을 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.
    • 손싀 ν•¨μˆ˜ ꡬ성: 일반적으둜 μ†Œν”„νŠΈ νƒ€κ²Ÿκ³Ό ν•˜λ“œ νƒ€κ²Ÿμ— λŒ€ν•œ 손싀 ν•¨μˆ˜λ₯Ό κ²°ν•©ν•˜μ—¬ μ΅œμ’… 손싀 ν•¨μˆ˜λ₯Ό κ΅¬μ„±ν•©λ‹ˆλ‹€.

Model Distillation (λͺ¨λΈ 증λ₯˜)의 μˆ˜ν•™μ  ν‘œν˜„

학생 λͺ¨λΈμ˜ 손싀 ν•¨μˆ˜ LλŠ” ν•˜λ“œ νƒ€κ²Ÿμ— λŒ€ν•œ 크둜슀 μ—”νŠΈλ‘œν”Ό 손싀 Lhard와 μ†Œν”„νŠΈ νƒ€κ²Ÿμ— λŒ€ν•œ 크둜슀 μ—”νŠΈλ‘œν”Ό 손싀 Lsoft의 κ°€μ€‘ν•©μœΌλ‘œ ν‘œν˜„λ©λ‹ˆλ‹€.

L = αLhard​ + (1 − α)Lsoft​

 

μ—¬κΈ°μ„œ λŠ” 두 손싀 κ°„μ˜ κ· ν˜•μ„ μ‘°μ ˆν•˜λŠ” ν•˜μ΄νΌνŒŒλΌλ―Έν„°μž…λ‹ˆλ‹€.


Model Distillation (λͺ¨λΈ 증λ₯˜)의 μž₯점

  • νš¨μœ¨μ„± ν–₯상: μž‘μ€ λͺ¨λΈμ€ λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰κ³Ό 계산 λΉ„μš©μ΄ 적어 μ‹€μ‹œκ°„ μ‘μš©μ΄λ‚˜ 배포에 μœ λ¦¬ν•©λ‹ˆλ‹€.
  • μ„±λŠ₯ μœ μ§€: ꡐ사 λͺ¨λΈμ˜ 지식을 효과적으둜 전달받아 μž‘μ€ λͺ¨λΈμ—μ„œλ„ 높은 μ„±λŠ₯을 μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ²”μš©μ„±: 이미지 λΆ„λ₯˜, μžμ—°μ–΄ 처리 λ“± λ‹€μ–‘ν•œ λ”₯λŸ¬λ‹ 뢄야에 적용 κ°€λŠ₯ν•©λ‹ˆλ‹€.

LLMμ—μ„œμ˜ Model Distillation (λͺ¨λΈ 증λ₯˜) 적용

  • λŒ€κ·œλͺ¨ μ–Έμ–΄ λͺ¨λΈμ˜ 증λ₯˜: GPT-3, BERT와 같은 λŒ€ν˜• μ–Έμ–΄ λͺ¨λΈμ„ μž‘μ€ 크기의 λͺ¨λΈλ‘œ 증λ₯˜ν•˜μ—¬ λΉ„μŠ·ν•œ μ„±λŠ₯을 μœ μ§€ν•˜λ©΄μ„œλ„ 배포와 싀행이 μš©μ΄ν•΄μ§‘λ‹ˆλ‹€.
  • μ‹€μ‹œκ°„ μ‘μš©μ— 유리: μž‘μ€ μ–Έμ–΄ λͺ¨λΈμ€ μΆ”λ‘  속도가 빨라 챗봇, μ‹€μ‹œκ°„ λ²ˆμ—­ λ“± μ‘μš©μ—μ„œ νš¨κ³Όμ μž…λ‹ˆλ‹€.
  • μžμ› μ ˆμ•½: ν›ˆλ ¨ 및 배포 μ‹œ ν•„μš”ν•œ μ»΄ν“¨νŒ… μžμ›κ³Ό μ „λ ₯ μ†ŒλΉ„λ₯Ό κ°μ†Œμ‹œμΌœ λΉ„μš© νš¨μœ¨μ„±μ„ λ†’μž…λ‹ˆλ‹€.

μΆ”κ°€ 고렀사항

μ˜¨λ„ λ§€κ°œλ³€μˆ˜(T): μ†Œν”„νŠΈ νƒ€κ²Ÿμ„ 생성할 λ•Œ μ†Œν”„νŠΈλ§₯슀 ν•¨μˆ˜μ— μ˜¨λ„ λ§€κ°œλ³€μˆ˜ Tλ₯Ό μ μš©ν•˜μ—¬ ν™•λ₯  뢄포λ₯Ό μ‘°μ ˆν•©λ‹ˆλ‹€.

높은 T값은 ν™•λ₯  뢄포λ₯Ό λ”μš± λΆ€λ“œλŸ½κ²Œ λ§Œλ“€μ–΄ 학생 λͺ¨λΈμ΄ ꡐ사 λͺ¨λΈμ˜ 좜λ ₯ λΆ„ν¬μ—μ„œ 더 λ§Žμ€ 정보λ₯Ό ν•™μŠ΅ν•  수 있게 ν•©λ‹ˆλ‹€.

  • μ—¬κΈ°μ„œ ziλŠ” λ‘œμ§“(logit) κ°’μž…λ‹ˆλ‹€.
  • ν•˜μ΄νΌνŒŒλΌλ―Έν„° νŠœλ‹: , T λ“±μ˜ ν•˜μ΄νΌνŒŒλΌλ―Έν„°λŠ” λͺ¨λΈ μ„±λŠ₯에 큰 영ν–₯을 λ―ΈμΉ˜λ―€λ‘œ μ μ ˆν•œ κ°’μœΌλ‘œ νŠœλ‹ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  • 데이터 증강: 학생 λͺ¨λΈμ˜ μΌλ°˜ν™” λŠ₯λ ₯을 ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ 데이터 증강 기법을 ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • 닀쀑 ꡐ사 λͺ¨λΈ: μ—¬λŸ¬ 개의 ꡐ사 λͺ¨λΈμ„ μ‚¬μš©ν•˜μ—¬ 학생 λͺ¨λΈμ„ ν›ˆλ ¨ν•˜λ©΄ λ”μš± ν’λΆ€ν•œ 지식을 전달받을 수 μžˆμŠ΅λ‹ˆλ‹€.
λͺ¨λΈ 증λ₯˜λŠ” λ”₯λŸ¬λ‹ λͺ¨λΈμ˜ νš¨μœ¨μ„±μ„ ν–₯μƒμ‹œν‚€λ©΄μ„œλ„ μ„±λŠ₯을 μœ μ§€ν•  수 μžˆλŠ” κ°•λ ₯ν•œ κΈ°λ²•μž…λ‹ˆλ‹€.
특히 μžμ›μ΄ μ œν•œλœ ν™˜κ²½μ—μ„œμ˜ λ”₯λŸ¬λ‹ λͺ¨λΈ λ°°ν¬λ‚˜ μ‹€μ‹œκ°„ μ‘μš©μ—μ„œ κ·Έ μ€‘μš”μ„±μ΄ λ”μš± λΆ€κ°λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€.