Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- python
- PytestPluginManager
- JanusWebRTCServer
- 달인막창
- kotlin
- VARCHAR (1)
- table not found
- 자원부족
- tolerated
- pytest
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- JanusWebRTC
- Spring Batch
- Value too long for column
- 개성국밥
- 코루틴 빌더
- taint
- 오블완
- preemption #
- 깡돼후
- k8s #kubernetes #쿠버네티스
- 코루틴 컨텍스트
- terminal
- mp4fpsmod
- JanusGateway
- vfr video
- JanusWebRTCGateway
- PersistenceContext
- 티스토리챌린지
- 겨울 부산
Archives
너와 나의 스토리
LLM Conditioning 방법 - RLHF, PEFT 본문
반응형
LLM Conditioning
- 조건화(conditioning)
- 모델을 특정 작업에 맞게 조정하거나 모델 출력이 기대한 대로 일치하는지 확인하는 과정
- 모델의 출력 생성을 지시하기 위해 사용하는 다양한 방법의 모음
- 조건화의 두 가지 방법
- 미세 조정(fine tuning)
- 프롬프트 기술
- 정렬(alignment)
- LLM의 일반적인 행동, 의사 결정과정 및 출력이 좀 더 넓은 인간의 가치, 윤리 원칙 등에 부합하도록 훈련하고 수정하는 과정과 목표를 가리킨다.
- 조건화와 동의어가 아님.
- 조건화는 파인 튜닝을 포함할 수 있으며, 상호 작용의 다양한 층에서 모델을 영향을 주는 것에 중점을 두지만,
- 정렬은 모델의 행동을 인간의 윤리와 안전 기준에 대한 기본적이고 전체적인 교정에 관심이 있다.
파인 튜닝
- 사전 훈련된 모델의 모든 매개변수를 전문화된 작업에 대한 추가 훈련을 통해 조정하는 것을 포함한다.
- 이 방법은 특정 목표를 위해 모델 성능을 향상시키는 데 목표를 두고 있으며 견고한 결과를 얻는 데 알려져 있다.
- 파인 튜닝은 자원이 많이 소요될 수 있다.
- 이러한 제한 사항을 해결하기 위해, 어댐터나 저랭크 적응(LoRA, Low-Rank Adaptation)과 같은 전력이 있다.
- 이러한 전략은 희소성 요소를 도입하거나 매개변수의 일부를 부분적으로 고정해 부담을 줄인다.
프롬프트 기반 기술
- 추론 시간에 LLM을 동적으로 조건 설정하는 방법을 제공한다.
- 입력 프롬프트의 신중한 설계와 이후의 최적화 및 평가를 통해, 이러한 방법은 다시 훈련할 필요 없이 LLM의 행동을 원하는 방향으로 조절할 수 있다.
- 인간 피드백을 통한 강화학습(RLHF, Reinforcement Learning with Human Feedback)
- RLHF는 GPT-3와 같은 언어 모델의 능력을 깊게 향상시킬 수 있는 잠재력을 보여줘, 파인 튜닝을 더욱 효과적인 기술로 만든다.
훈련(Training) 시점: LLM이 학습되는 과정
추론(Inference) 시점: LLM이 실제로 질문에 답변하거나 작업을 수행하는 과정
인간 피드백을 통한 강화학습 (RLHF, Reinforcement Learning with Human Feedback)
- 인간의 선호(prefer)을 사용해 LM을 세밀하게 조정하는 온라인 접근 방식.
- 이 방법은 세 가지 주요 단계로 구성된다.
- 지도 사전 훈련: LM은 먼저 인간 데모를 기반으로 한 표준 지도학습을 통해 훈련된다.
- 보상 모델 훈련: LM 출력에 대한 인간 평가를 기반으로 한 보상 모델이 훈련돼 보상을 추정한다.
- RL 미세 조정: LM은 PPO와 같은 알고리즘을 사용해 보상 모델로부터 예상 보상을 최대화하다록 강화학습을 통해 파인 튜닝된다.
- RL(Reinforcement Learning): 강화학습
- PPO(Proximal Policy Optimization): 근접 정책 최적화
- RLHF는 학습된 보상 모델을 통해 섬세한 인간 판단을 언어 모델 훈련에 통합할 수 있게 한다.
- InstructGPT는 전통적인 파인 튜닝 방법을 넘어 인간 ㅍ피드백으로부터의 강화학습을 통합함으로써 언어 모델을 개선하는 새로운 방향을 열었다.
매개변수 효율적 미세 조정 (PEFT, Parameter-Efficient Fine-Tuning)
- 이 방법은 각 작업에서 작은 체크 포인트를 사용해 모델을 더 휴대 가능하게 만든다.
- 작은 훈련 가중치 집합은 LLM 위에 추가될 수 있어 동일한 모델을 전체 모델을 교체하지 않고 여러 작업에 사용할 수 있게 해준다.
- LoRA는 PEFT의 일종으로 사전 훈련된 모델 가중치가 고정된다.
- 각 트랜스포머 아키텍처 계층에 학습 가능한 랭크 분해 행렬을 도입해 학습 가능한 매개변수의 수를 줄인다.
- LoRA는 파인튜닝과 견줄만한 모델 품질을 달성하면서 학습 가능한 매개 변수가 적고 더 높은 훈련 치리량을 가지고 있다.
- QLORA는 LoRA의 확장으로 4bit 양자화된 모델을 고정한 상태에서 그래디언트를 역전파해 학습 가능한 저랭크 어댑터로 효율적으로 파인 튜닝할 수 있다.
양자화(quantization)
- LLM과 같은 신경망의 가중치와 활성화의 숫자 정밀도를 줄이는 기술
- 양자화의 주요 목적은 거대 모델의 메모리 사용량과 계산 요구 사항을 줄이는 것
Inference Time Conditioning (추론 시간 조건화)
- 추론 시간(출력 생성 단계)에서 일반적으로 사용되는 접근 방법 중 하나는 특정 입력 또는 조건을 동적으로 제공해 출력 생성 프로세스를 안내하는 것이다.
- 특정 상황에서는 LLM 파인 튜닝이 항상 가능하거나 이득이 아닐 수 있다.
- 제한된 파인 튜닝 서비스: 모델이 파인 튜닝 능력이 부족하거나, 제한된 API를 통해서만 접근 가능한 경우
- 데이터 부족: 파인 튜닝할 데이터가 부족한 경우
- 동적 데이터: 뉴스 관련 플랫폼과 같이 데이터가 자주 변경되는 애플리케이션의 경우, 파인 튜닝 모델을 자주 갱신하기 어렵다.
- 문맥에 민감한 응용: 개인화된 챗봇과 같이 동적이고 문맥에 특화된 애플리케이션의 경우 개별 사용자 데이터를 기반으로 파인 튜닝을 수행할 수 없다.
- 추론 시간 조건화를 위한 기술
- 프롬프트 튜닝: 의도된 행3동에 대한 자연어 지침을 제공.
- 예: "어린이 친화적인 이야기를 쓰세요."
- 접두어(Prefix) 튜닝: LLM 계층에 학습 가능한 벡터를 앞에 추가한다.
- PELT, LST(Ladder Side-Tuning) 같은 것들이 있다.
- 토큰 제약: 특정 단어를 강제로 포함 또는 제외한다.
- 메타데이터: 장르, 대상 독자와 같은 고수준 정보를 제공한다.
- 프롬프트 튜닝: 의도된 행3동에 대한 자연어 지침을 제공.
미세 조정 (Fine Tuning)
- 파인 튜닝의 목표는 원래 기초 모델에 비해 특정 작업과 문맥에 특화된 출력을 생성하기 위해 모델을 최적화하는 것이다.
- 파인 튜닝은 사전 훈련된 가중치를 대상 데이터셋과 목표에 맞게 갱신할 수 있게 한다.
- 파인 튜닝은 작업 전반에 걸쳐 일관된 강력한 결과를 얻지만, 상당한 계산 자원이 필요하다.
출처
- [LangChain으로 구현하는 LLM]
#FineTuning #Prompting #RLHF #PEFT #LoRA
반응형
'Data Analysis > LLM' 카테고리의 다른 글
[LLM] Faiss 기본 개념과 사용법 (0) | 2024.08.10 |
---|---|
[LLM] RAG with OpenAI 쉬운 구현 방법과 설명 (0) | 2024.08.10 |
[LLM] 프롬프트 엔지니어링 - 인젝션 공격, 제로샷/퓨샷, CoT, Self-Consistency, ToT (1) | 2024.06.24 |
[LLM] Text Embedding과 Vector DB (0) | 2024.06.21 |
[LLM] Chat Completion API / RAG with Llama-index / 임베딩이란 (0) | 2024.05.22 |
Comments