LLM의 입력에 해당하는 프롬프트를 효과적으로 만들고 최적화하는 과정
Prompt의 역할: Prompt는 지시문과 사용자 입력으로 구성되며, 모델이 작업을 수행하는 데 중요한 역할을 합니다.
정보 포함: 사용자 입력이 충분하지 않을 경우, 필요한 정보를 Prompt에 포함시킬 수 있습니다.
구성 방식: Prompt를 어떻게 구성하느냐에 따라 결과가 달라질 수 있으므로, 다양한 실험을 통해 최적의 Prompt를 찾는 것이 중요합니다.
Encoder 역할: Prompt는 Encoder에서 Embedding으로 변환되어 Decoder에 전달됩니다.
Decoder 역할: Decoder는 입력된 데이터를 기반으로 다음 토큰을 반복적으로 예측하는 방식으로 문장을 생성합니다.
개념: LLMC(대형 언어 모델)가 학습하지 않은 데이터나 Context 부족으로 일반적이지 않은 답변 또는 현실에 맞지 않는 답변을 생성하는 현상을 Hallucination이라고 합니다.
원인: 학습되지 않은 정보가 많거나 입력된 데이터가 불충분할 때 발생합니다.
해결 방법: 데이터 품질을 개선하거나 Prompt를 조정하여 이러한 문제를 줄일 수 있습니다.
언어 모델이 텍스트 생성 시 출력의 랜덤성을 제어하는 하이퍼파라미터(0~1)
⇒ 클수록 다양하고 창의적인 출력 생성(일관적이지 X)
컴퓨터가 문장이나 글을 이해하기 위해 사용하는 작은 단위
LLM이 잘 이해하여 답변할 수 있도록 질의
원하는 답변의 요구 사항을 명확하게 제시
원하는 답변을 일관하게 할 수 있도록
⇒ 일관된 답변을 낼 수 있도록 여러 번 질문해서 해당 답변들을 기준으로 나열해서 중간 정도의 답변을 가져옴
구성 요소 | 설명 | 예시 |
---|---|---|
목적 | 원하는 정보나 작업을 명확히 전달하기 위한 목적 설정 | ~ 주제에 대한 정보가 필요해 / ~을 하려고 해 |
명확성 | 요청 내용을 구체적이고 명확하게 작성하여 혼동을 줄임 | ~ 설명해줘 / ~를 정리해줘 / ~을 알려줘 |
맥락 | 관련된 배경정보를 제공하여 요청의 이해를 돕고 응답의 품질을 올림 | 대상이 ~이고 어떤 곳에 사용할 ~을 기반으로 / ~에 필요한 |
형식 | 원하는 결과와 형식을 명시하여 유용한 정보 받기 | ~ 개별 항목으로 알려줘 / ~ 표로 정리해줘 |
피드백 | 결과에 대한 추가 요청이나 수정사항을 통해 AI의 응답 개선 | 설명을 하는데 도움이 되는 ~ 예를 포함해줘 / 설명할 수 있는 근거를 ~ 해줘 |
항목 | 설명 |
---|---|
(1) Role / Persona (역할) | 모델이 수행해야 할 역할 또는 페르소나를 정의 |
(2) Audience (대상) | 결과물이 전달될 대상 또는 청중을 명확히 설정 |
(3) Knowledge / Information (지식 / 정보) | 작업에 필요한 배경 지식이나 정보를 제공 |
(4) Task / Goal (작업목표) | 모델이 수행해야 할 작업과 목표를 구체적으로 명시 |
(5) Policy / Rule, Style, Constraints (정책 / 규제, 스타일, 제약 사항) | 작업 수행 시 준수해야 할 규칙, 스타일, 제한 조건 |
(6) Format / Structure (형식 / 구조) | 결과물의 형식과 구조를 명확히 지정 |
(7) Examples (예시) | 원하는 결과물의 예시를 제공하여 모델의 이해를 돕기 |
생성형 AI의 페르소나(역할)을 정의
당신은 10년 이상의 경력을 가진 디지털 마케팅 전문가입니다.
생성형 AI에게 누구에게 정보를 제공하는지 지정하여, 해당 대상에게 필요한 수준에 맞게 조정
초등학생에게 ~~
생성형 AI에게 누구에게 정보를 제공하는지 지정하여, 해당 대상에게 필요한 수준에 맞게 조정
질문과 관련하여 참고할 만한 지식과 정보를 함께 제공
요청하는 질문이 불분명하면, AI도 모호한 답변을 할 가능성이 높음
명령을 반드시 포함해야 하며, 하나의 프롬프트에는 한 개의 Task만을 작성
응답을 생성할 때 따라야 하는 정책, 스타일, 제약사항 등을 설정
성격, 어떤 분야의 전문 용어 사용 등을 제시
응답 형식 지정
테이블 형태, 500자 이내,,,
원하는 응답 형식이나 내용을 구체적인 예시를 제공하여 원하는 방향으로 응답 유도
Few-Shot learning
마크다운을 활용하여 Prompt를 더욱 논리적이고 체계적으로 구성할 수 있음
페르소나 5명에 대하여 심층 인터뷰, 소비자들의 관심사, Pain-Points를 도출
목적: 사용자가 원하는 질문, 요청 또는 명령을 전달하여 모델이 적절한 출력을 생성하도록 유도.
특징:
예시:
목적: 모델의 동작 방식, 응답 스타일, 또는 역할을 제어.
특징:
예시:
즉, 사용자 입력(User Prompt)과 시스템 초기 지침(System Prompt)이 결합되어 최종적으로 출력 결과를 결정하게 됩니다.
정의: 사용자가 모델에 제공하는 입력.
목적: Prompt 템플릿을 활용하여 특정 작업을 더 효율적으로 전달.
장점:
예시:
"Please summarize the following text:\n\n{input_text}\n\nYour summary should be concise and clear."
{input_text}
: 사용자가 입력하는 텍스트.정의: 모델의 역할과 동작 방식을 정의.
목적: Prompt 템플릿은 특정 역할이나 지침(Instruction)을 반복적으로 설정 및 적용할 때 유용.
장점:
예시:
text"You are a professional {role}. Your job is to assist users by providing accurate and detailed information about {domain}. Respond in a helpful and professional manner."
{role}
, {domain}
(예: role = "chef", domain = "Italian cuisine").항목 | User Prompt | System Prompt |
---|---|---|
역할 | 사용자 요청 전달 | 모델의 역할 및 동작 방식 정의 |
사용 목적 | 특정 작업 요청 | 모델의 응답 스타일 및 방향성 설정 |
구성 요소 | 사용자 입력값 포함 | 역할 및 도메인 관련 지침 포함 |
적용 방식 | 사용자 요청마다 변경 가능 | 일반적으로 고정되거나 미리 정의됨 |
이 두 요소는 협력하여 모델이 적절하고 효율적인 응답을 생성하도록 돕습니다.
정의: 예제 없이 모델에 직접 작업을 요청하는 방식.
특징:
정의: 작업에 대해 몇 가지 예제를 제공하여 모델이 작업 패턴을 학습하도록 유도하는 방식.
특징:
정의: 단 하나의 예제를 제공하여 작업 패턴을 보여주는 방식
특징:
정의: 모델이 중간 사고 과정을 단계적으로 생성하도록 유도하는 방식.
특징:
정의: 작업에 따라 실시간으로 Prompt를 생성하거나 수정하는 방식.
특징:
방식 | 주요 특징 | 활용 상황 |
---|---|---|
Zero-shot | 예제 없이 간단히 요청 | 빠르고 명확한 작업 요청 |
Few-shot | 몇 가지 예제로 학습 유도 | 복잡한 패턴 학습 필요 시 |
One-shot | 하나의 예제로 간결하게 요청 | 간단한 패턴 학습 필요 시 |
Chain of Thought | 중간 사고 과정을 단계적으로 생성 | 복잡한 문제 해결 |
Instruction | 구체적인 지시를 통해 작업 수행 | 명확하고 전문적인 응답 필요 시 |
Dynamic | 실시간으로 Prompt 생성 및 수정 | 서비스 목표 및 성능 개선 요구 시 |
Feasibility 분석은 특정 프로젝트, 사업 또는 아이디어의 실행 가능성을 평가하는 과정입니다.
이를 통해 해당 프로젝트가 성공적으로 수행될 수 있는지 판단하고, 필요한 자원, 잠재적 위험, 예상되는 이익 등을 분석합니다.
실행 가능성 평가: 프로젝트가 실제로 실행 가능한지 여부를 확인.
위험 식별: 잠재적인 문제와 장애물을 사전에 파악.
대안 개발: 문제 해결을 위한 다양한 접근법과 대안을 제시.
결정 지원: 프로젝트 진행 여부에 대한 데이터 기반의 의사결정을 지원.
시장 타당성(Market Feasibility):
기술적 타당성(Technical Feasibility):
재무적 타당성(Financial Feasibility):
운영적 타당성(Operational Feasibility):
법적 타당성(Legal Feasibility):
예비 조사(Preliminary Analysis):
초기 데이터를 수집하여 전체적인 실행 가능성을 평가.
추가적인 상세 분석이 필요한지 결정.
시장 조사(Market Research):
재무 예측(Financial Forecasting):
리스크 분석(Risk Assessment):
결론 도출(Conclusion):
초기 단계에서 문제를 식별하여 위험을 최소화.
실행 가능성이 높은 프로젝트에 자원을 집중할 수 있음.
투자자와 이해관계자에게 신뢰를 제공하여 지원 확보 가능.
Feasibility 분석은 새로운 사업 시작, 제품 개발, 인프라 구축 등 다양한 분야에서 활용되며, 성공적인 프로젝트 수행을 위한 필수 과정으로 간주됩니다.
랭체인에서 메모리를 사용할 때, 대화를 저장하고 관리하는 객체를 의미할 수 있다.
Few-Shot prompting은 모델의 파라미터 수가 충분히 클 때 효과가 있음.
예시를 사용하면 모델의 성능을 향상시킴
입력 라벨 형식을 유지하는 것이 모델 성능을 최적화하는데 필수적