LLM 기초 - thought-corner/backend-roadmap GitHub Wiki
Prompt 구조와 역할
- 시스템(System)
- 역할 : AI 모델의 행동 지침 및 전체적인 맥락 설정
- 특징 : AI에게 페르소나를 강제로 부여
- 사용자(User)
- 역할 : 실제 서비스를 사용하는 유저가 입력하는 질문 or 명령
- 특징 : 채팅창에 직접 타이핑하는 그 내용
Prompt Engineering
- 역할 부여(페르소나 설정) : AI에게 직업이나 전문가로서의 역할을 씌워주면 답변의 전문성과 퀄리티가 상승
- 예: '당신은 글로벌 마케팅 최고 전문가입니다. 아래 상품의 홍보 문구를 작성해 주세요.'
- 단계별 접근(차근차근 생각하기) : 복잡한 논리나 수학 문제를 풀게 할 때, 다짜고짜 답을 내라고 하지 않고 유도하는 기법
- 예: '답을 바로 말하지 말고, 차근차근 단계별로 논리적으로 생각(Step-by-step)해 보세요.'
- 예시 제공(Few-shot learning) : 말로만 설명하는 것보다, 내가 원하는 결과물 패턴을 1~2개 직접 보여주면 AI가 그 패턴을 완벽하게 모방
- 예: '사과 -> Apple, 포도 -> Grape. 자 이제 시작할게. 딸기 -> ?'
- 제약 조건(명확한 가이드라인) : 결과물이 엉뚱하게 튀는 것을 막기 위해 출력 형식, 글자 수, 스타일 등을 엄격하게 제한
- 예: '반드시 표 형태로 정리해 주고, 분량은 300자를 넘지 말며, 존댓말을 사용해 주세요.'
Token
- AI 모델이 사람의 언어(입력)를 읽고, 답변(출력)을 만들어낼 때 사용하는 가장 작은 데이터 처리 단위
- AI는 텍스트를 일정한 길이의 조각(토큰)으로 쪼개서 소화
OpenAI Platform
Tokens 변환 과정
- 입력(사용자 ⇒ AI) : 사용자가 입력한 자연어(단어) ⇒ Token으로 쪼개서 변환 ⇒ AI 모델이 연산 및 처리
- 출력 (AI ⇒ 사용자) : AI가 생성한 결과물(Token) ⇒ 다시 사람의 언어(단어)로 변환 ⇒ 화면에 텍스트로 출력
Tokens는 곧 비용
- 과금 방식 : AI 서비스는 우리가 '몇 개의 질문'을 했는지가 아니라, '몇 개의 토큰'을 소모했는지를 기준으로 요금을 매긴다.
- 합산 기준 : 요금은 내가 질문할 때 보낸 글자 수(입력 토큰)와 AI가 대답한 글자 수(출력 토큰)를 모두 합산하여 청구된다.
Context Window
- Context Window란 AI 모델이 단 한 번의 호출(질문-답변)에서 까먹지 않고 동시에 처리할 수 있는 최대 토큰의 한계치를 말한다.
- Context Window가 4K(약 4,000토큰)인 AI에게 10,000토큰짜리 긴 PDF 문서를 요약하라고 주면, AI는 용량 초과로 에러를 뱉거나 앞부분의 내용을 잊어버리게 된다.
- 따라서 Context Window를 잘 이해하고 있어야 한다.
Fine Tuning
- 이미 학습된 기존 AI 모델의 내부 가중치(두뇌의 신경망 연결 상태)를 직접 조작하여, 우리가 원하는 특정 데이터나 목적에 딱 맞게 개조하는 전통적인 머신러닝 기법
- 사내의 전문 지식이나 특유의 말투를 집중적으로 추가 학습시켜 맞춤형 특화 모델로 개조하는 것이라고 생각하면 된다.
- 특정 작업에 대한 압도적인 성능 향상 : 법률 계약서만 검토하게 하거나, 의료 차트만 분석하게 하는 등 특정 분야의 업무 처리 능력이 일반 AI와 비교할 수 없을 정도로 좋아진다.
- 행동이나 스타일의 미세 조정 : 단순한 지식 전달을 넘어, AI가 대답하는 스타일 자체를 바꿀 수 있다.
- 어마어마한 비용과 시간 : AI의 뇌 구조를 직접 뜯어고치는 작업이므로, 학습을 돌리는 데 수백~수천만 원짜리 고성능 GPU 서버가 여러 대 필요하며 시간도 오래 걸린다.
- 높은 진입 장벽(머신러닝 전문 지식 필요) : 일반적인 자바 웹 개발 지식만으로는 불가능하며, 데이터를 정제하고 모델을 튜닝할 줄 아는 전문 AI 엔지니어(데이터 사이언티스트)가 필요하다.
- 일부 모델은 파인튜닝 미지원
RAG
- AI 모델이 한 번도 배운 적 없는 최신 정보나 사내 데이터를, 질문(프롬프트) 속에 함께 끼워 넣어서(통합하여) 정확한 답변을 만들어내는 기술
- RAG가 동작하는 가장 핵심적인 메커니즘이 바로 프롬프트 스터핑(Prompt Stuffing)한다.
- 유저가 질문을 하면, 백엔드 서버는 먼저 사내 DB(벡터 DB)를 검색하여 질문과 가장 의미가 비슷한(임베딩 유사도가 높은) 문서 내용만 발췌한다.
- 발췌된 문서를 유저의 질문과 함께 하나의 프롬프트로 뭉쳐서 AI에게 전달한다.
- 토큰의 한계가 있는 Context Window 때문에 토큰 제한을 넘지 않도록, 질문과 가장 관련된 데이터만 효과적으로 검색해 프롬프트에 삽입하는 것이 핵심이다.