[AI System] Applications To Recent Topics

"Applications To Recent Topics"

[Application]

▣ Current Trends In Language & Vision
· Transformer 기반의 LLM : Text 기반 작업에 사용
· Diffusion Model : 이미지 생성을 위한 Multi-Modal Foundation Model에 사용
→ 최근 Multi-Modal Foundation Model은 위 2가지 개념을 함께 사용

▣ LoRA를 이용한 LLM Fine-Tuning
· 전체 Parameter를 모두 Update하지 않고, 작은 Low-Rank Matrix만 학습해서 Fine-Tuning 비용↓

▣ Federated LLM Fine-Tuning에 LoRA 적용
· 중앙 Server에 데이터를 모으지 않고 여러 Client가 각자 Local Data로 LLM을 Fine-Tuning
· LoRA : 학습할 Parameter 수↓
· Federated Learning : 여러 Client의 협업 학습 가능
· Differential Privacy : Server로 전송되는 LoRA Parameter에서 개인정보 누출↓

> Privacy Constraint
· ε 값↓ : Privacy↑, Noise↑(Noise가 많으면 성능↓)
 FFA-LoRA : 일반 LoRA보다 Privacy가 강한 상황에서도 더 안정적인 성능

▣ Heterogeneous LoRA
· Federated Learning : Client마다 GPU, Memory, 계산 능력이 다름 → 모든 Client가 같은 LoRA Rank를 사용하기 어려움
· Heterogeneous LoRA : Client마다 서로 다른 Rank 사용 가능(성능 좋은 장비 : 큰 Rank / 성능 약한 장비 : 작은 Rank)

▣ Compact LLM By Pruning, Knowledge Distillation
· 이미 학습된 큰 LLM이 있을 때, 특정 Target Dataset에서 잘 작동하는 가벼운 LLM 생성
· Pruning : Model의 불필요한 부분 제거
· Distillation : 큰 Teacher Model의 지식을 작은 Student Model에 전달

> Step 1
· 먼저 Pre-Trained LLM을 Target Dataset으로 Fine-Tuning(LoRA 사용 시 전체 Model을 모두 학습 X → 효율↑)
→ Target Dataset에 잘 맞는 강한 Teacher Model 생성

> Step 2
· Transformer의 Attention Head, Neuron, FC Layer 일부를 제거
→ Model은 가벼워지지만, 중요한 부분까지 제거될 수 있어서 성능 저하 가능성 존재

> Step 3
· Pruning된 작은 Model을 Student로 두고, Fine-Tuned LLM을 Teacher로 사용
· Teacher가 가진 지식을 Student에게 전달하면서 다시 학습
→ Pruning으로 작아진 Model의 성능 회복

> Loss
· Cross Entropy Loss : 정답 Label과 Student 출력 사이의 오차
· Logit Distillation Loss : Teacher와 Student의 최종 출력 분포가 비슷해지도록 학습
· Intermediate Feature Distillation Loss : 중간 Layer의 표현도 Teacher와 Student가 비슷해지도록 학습
→ Student : 정답만 배우는 것이 아니라 Teacher의 출력 방식과 내부 표현까지 함께 학습

∴ Pruning과 Distillation을 함께 사용하면 강한 Light-Weight Model 생성 가능

** 단순히 작은 Model을 처음부터 학습하는 것보다, 큰 Model을 Pruning하고 Distillation한 Model이 더 좋은 성능 발휘

▣ LLM Quantization
· Model Parameter를 더 낮은 Bit로 표현해서 Memory 사용량과 계산량을 줄이는 방법
· 최근에는 Weight뿐만 아니라 Activation, KV Cache까지 Quantization하는 연구↑
    (KV Cache : LLM 추론에서 매우 커질 수 있기 때문에 감소하는 것이 중요)

▣ Multi-Exit LLM
· 일반 LLM은 모든 Layer를 통과한 후 최종 출력
· Multi-Exit LLM : 중간 Layer에도 Exit을 만들어서, 쉬운 입력은 끝까지 계산하지 않고 중간에서 빠르게 출력 → 평균 추론 시간↓

> Multi-Exit LLM의 병렬화
· Model을 여러 Stage로 나누고 Forward/Backward를 수행하여 병렬화 진행

여러 GPU로 LLM 학습
· 대규모 LLM은 한 GPU에 올릴 수 없기 때문에 여러 GPU를 사용
· Data Parallelism, Pipeline Parallelism, Expert Parallelism 등을 조합

[Reference]

· Applications to Recent Topics (AI System : Week 14) - Dongjun Han

댓글

이 블로그의 인기 게시물

[Mini-NPU RTL] NN Reference Model

[Mini-NPU RTL] TPU (Study Paper)