반응형

프롬프트 엔지니어링
프롬프트 엔지니어링은 AI언어 모델에게 원하는 결과를 얻기 위해 입력(프롬프트)를 설계하는 기술이다.
중요한이유
- 같은 요청이라도 물어보는 방식에 따라 답변의 품질이 크게 바뀐다.
- GPT-4 API로 LLM 학습데이터를 만들 때 중요하다.
- LLAMA나 여러가지 파인튜닝할때도 프롬프트 엔지니어링이 중요하다.
프롬프트 엔지니어링 기초
프롬프트 엔지니어링의 기본적인 원칙은 사람에게 설명하듯 잘 설명해줘야한다.
1.명확한 지시사항
ex)
"다음 텍스트를 3개의 핵심 포인트로 요약해줘"(o)
"다음텍스트를 요약해줘"(X)
2.컨텍스트 제공(배경 정보와 상황 설명을 주거나 예시작성)
ex)
- "예시를 줄게~ 예시는 다음과같아 ex) {~~~~}"
- "너는 과학기술에서 뛰어난 학자야 ~~답변해줘"
3. 형식의 제약
ex) 다음과 같은 형식으로 답변해줘
1) 문제점 2)원인, 3)해결책
JSON형태로 작성해줘~
예시를 주는 기법
예시를 여러개 주는 경우 이를 Few-shot 이라고 한다. 상황이 추상적이거나,
답변형식을 설명하기 어렵다면 예시를 주는것이 가장 강력하다.
"""
# Instruction
다음 리뷰의 감성을 Positive, Negative, Neutral 중 하나로만 출력하라.
# Examples
<example>
<input>배터리는 평범하지만 디자인은 마음에 든다.</input>
<output>Neutral</output>
"""
근거또는 논리적 추론
모델이 문제를 풀기 전에 논리적인 추론과정을 거친 후에 답을 작성하는 경우에는 정답의 정확도가 높아진다.
답을 바로 작성하지말고, 근거를 작성하고 답을 써라라는 식(Chain-of-Thought)
"""
사과가 10개 있었는데 철수랑 영희가 2개씩 가져갔어 그럼 몇개남았을까?
"""
Chain of Thought
"""
사과가 10개 있었는데 철수랑 영희가 2개씩 가져갔어 그럼 몇개남았을까?
단계적으로 생각해봐
"""
구조화된 프롬프트
프롬프트의 기본 원칙은 해야할 업무 지시를 자세하게 알려주어야한다.
가장 쉽게 설명하는 방법 중 하나는 구조화된 프롬프트를 작성하는 것이다.
"""
[역할]
[입력]
[답변]
"""
이렇게 구조화 해서 답변해~
GPT API 발급
- https://platform.openai.com/api-keys%EF%BB%BF 에 들어간다.
- Name에 key 이름을 넣고 [Create secret Key]를 클릭하여 발급받고 저장한다.
- https://platform.openai.com/settings/organization/billing/overview 에 들어가서Billing에서 결제를 한 후 결제하여 사용한다.
딥러닝 모델 학습
1. 프리 트레이닝
기본 지식 학습
2. 파인 튜닝
특수 작업 최적화
파인튜닝
- 풀 파인튜닝
- PEFT
사전학습
모델이 세상의 기본적인 지식을 배우는 단계이다. 대규모 데이터를 사용해 모델에게 기본적인 이해를 가르친다.
ex) 학교에서 기초교육을 받는 것
특징
- 대량의 데이터
- 매우 비싼 컴퓨팅자원
- 수백억, 수천억개의 파라미터 학습
파인튜닝
이미 기본교육을 받은 모델에게 특수한 기술을 가르치는 과정 내가 가진 상대적으로 적은 양의 데이터를 추가적으로 학습한다.
부트캠프와 유사하다. 데이터로 수백~수십만개
- 상대적으로 작은데이터
- 더적은 컴퓨티 자원
- 더짧은 훈련시간
풀파인튜닝
모든 파라미터를 새로운 데이터로 업데이트한다. 전체 컴퓨터를 새로운 용도에 맞게 재구성
특징
- 모델의 모든 가중치(수십억~수천억 개)를 조정
- 최대한의 성능 개선 가능
- 많은 메모리와 계산 자원 필요
- 원본 모델의 일반적 능력이 손실될 위험 있음 (과적합)
- 특정 작업에 완전히 최적화된 모델 생성
- 필요한 GPU가 굉장히 많은 편
PEFT
파라미터 효율적 파인튜닝의 약자로 모델의 일부만 업데이트하여 효율적으로 파인튜닝하는 방법
대형 기계 전체는 그대로 두고 일부 부품만 교체하여 전체 기능을 향상시키는 것
PEFT가 필요한 이유
- 자원 문제: 최신 AI 모델은 너무 거대해서 모든 파라미터를 조정하려면 엄청난 GPU 메모리와 시간이 필요
- 효율성: 실제로 모든 파라미터를 변경하지 않아도 좋은 결과를 얻을 수 있음.
- 재사용성: 기본 모델은 그대로 두고 필요할 때마다 작은 '추가 모듈'만 바꿔가며 여러 작업에 활용 가능
LORA 튜닝
- 낮은 랭크의 행렬을 사용해 원본 모델의 변화를 표현
- 원본 행렬 W는 그대로 유지
- 작은 크기의 두 파라메타 A와B를 추가학습

반응형
'AI > LLM' 카테고리의 다른 글
| 태태개발일지 - 언어모델의 역사 (0) | 2025.09.17 |
|---|