카테고리 없음

AI/GPT] 프롬프트 엔지니어링_Part 1-1(Prompt Engineering)

Move-first 2025. 5. 14. 05:19

디코딩 알고리즘 및 글을 다양한 형식으로 변환
모델이 데이터를 처리할 수 있도록 하고 처리된 데이터를 사람이 이해할 수 있는 형태의 텍스트로 생성하는 과정을 코딩이라고 합니다. 글을 다양한 형식으로 변환하기 위한 프롬프트의 기본 원리에 대해 알아보겠습니다.

1. 디코딩 알고리즘
 a.) 일반적인 매핑 방법: 각 토큰에 고유 ID 할당 → ID를 사용해 토큰을 숫자로 변환
 b.) 인코딩은 모델이 데이터를 처리하고 이해하는 과정
 c.) 디코딩은:  LLM의 출력을 사람이 이해할 수 있는 형태 텍스트로 생성하는 과정으로 인코딩의 반대.
 
2. 동일한 프롬프트인데 응답은 왜 항상 다른가요? 
동일한 프롬프트라도 항상 동일한 응답을 생성하지 않음 →  텍스트 생성 시, 모델은 각 단계에서 가능한 다음 단어의 확률분포*) 추정하기 때문
 *) 확률분포: 확률 변수**)가 취할 수 있는 모든 결과를 나열하고 가각의 결과가 발생할 확률을 명시한 것으로 예측 모델을 생성하고 불확실성을 추정에 필수
  **) 확률 변수: 확률적인 실험의 결과를 수치로 표현하는 변수
높은 확률을 가진 단어가 선택될 가능성이 크지만 절대적으로 특정 단어가 선택되는 것은 아님

3. 디코딩 알고리즘의 종류:
- 그리디 서치(Greedy Search): 각 단계에서 가장 높은 확률을 가진 단어만 고려 → 높은 계산 효율성 (단, 다양성과 품질 측면에서 제한적일 수 있음)
- 빔 서치(Beam Search): Greedy Search보강을 위해 여러 개의 후보 문장을 동시에 추적하여 최적의 문장 검색. Greedy search보다 나은 결과를 생성할 가능성이 높지만 여전히 확률이 높은 쪽으로 편향 될 수 있음

확률 기반 샘플링
 각 단어의 확률 분포를 기반으로 무작위 단어 선택하여 다양한 문장 생성이 가능 → 출력의 다양성을 주지만 비합리적인 결과를 생성할 수 있음
 - Top-k 샘플링: 확률 분포에서 가장 높은 확률을 가진 상위 k개의 단어만 고려 → k개의 단어중 무작위로 하나의 단어 선택 → 문장 생성
(K값을 작게 설정할 수록 텍스트의 예측 가능성 증대, 텍스트의 일관성 증대. k값을 크게 설정할 수록 생성된 텍스트가 더 다양해짐
- Top-p(Nucleus) 샘플링 : 누적 확률분포가 p를 초과할 때까지 가장 확률이 높은 단어들 선택하고 → 무작위로 하나의 단어가 선택되어 문장을 생성
(p값을 작게 설정할 수록 텍스트의 예측 가능성 증대, 일관성 증대 . p값을 크게 설정할 경우 더 다양하고 창의적이며 패턴이나 구조에 얽매이지 않는 텍스트 생성)

디코딩 알고리즘의 성능에 따라 모델이 생성하는 텍스트의 품질, 다양성이 결정됨

글을 다양한 형식으로 변환하는 방법

특정 샘플을 제공하고 동일한 형식으로 작성 요청

예)
프롬프트 1 : 다음 글의 내용이 아닌 형식만 기억합니다. 다른 글을 작성하지 말고 "준비완료"라고만 답해 주세요:  
("다른 글을 작성하지 말고" -답변하려는 버릇을 막아 시간을 절약할 수 있음)
- 한 줄 요약
- 장점
- 단점
프롬프트 2: 다음 글을 앞서 기억한 글과 동일한 형식으로 변환해 주세요: [원문]