[AI] - 트랜드, 키워드
- AI 없으면, 툴이 없으면 만들 수 없다.
그결과, 직장인들의 운명은?
- 기획, 설계 등 AI에게 물어봄
- 부부간에 싸움을 법원처럼 AI에게 물어봄
- Loop(하나의 업무 흐름) - 적어도 한번은 인간이 개입해서 판단, 결정
업무능력이 좋은 인재 > 업무능력이 좋지 않은 인재
어떻게 하면, AI를 잘 쓸까?
- 잘 묻고, 잘 판별하고, 잘 결정하기
- 어떤 질문을 하느냐?
- 단순 "~해줘"는 아니다.
Java, Django 등 모듈화하여 개발하기
1. 프롬프트를 '함수(Function)'로 설계하기
일반적인 코딩에서는 입력값을 받아 로직을 처리하고 출력값을 뱉는 함수를 짭니다. AI 개발에서는 '기존 프롬프트(베이스 프롬프트)'가 이 함수의 로직 역할을 합니다.
- 기존 방식: if-else 문으로 모든 조건을 분기 처리.
- 프롬프트 개발 방식: AI에게 "너는 은행 상담원이야. 고객의 질문을 분석해서 대출, 예금, 송금 중 하나의 카테고리로 분류해줘"라고 지시하는 **시스템 프롬프트(System Prompt)**를 미리 작성해 둡니다.
예시: 사용자가 "돈 보내고 싶어"라고 입력하면, 미리 짜둔 프롬프트(함수)가 이를 받아 송금이라는 정형화된 데이터로 변환해 줍니다.
2. 반복적 개선 (Iterative Refinement)
'기존 프롬프트를 통한다'는 말은, 처음부터 완벽한 AI 모델을 만드는 것이 아니라, 잘 동작하는 프롬프트 템플릿을 만들어두고 이를 계속 수정(튜닝)해 나가는 과정을 의미하기도 합니다.
- 초안 작성: "친절하게 대답해줘" (너무 추상적)
- 테스트 및 수정: "고객에게 존댓말을 쓰고, 문장 끝에는 이모지를 붙여줘." (구체화)
- 제약 조건 추가: "단, 금융 상품을 추천할 때는 반드시 '투자 권유 문구'를 포함해야 해." (안전장치 마련)
이처럼 기존에 작성된 프롬프트(코드)를 디버깅하듯 다듬어 원하는 결과물의 퀄리티를 높이는 것입니다.
3. 프롬프트 체이닝 (Prompt Chaining)
복잡한 기능을 개발할 때, 하나의 거대 프롬프트로 모든 것을 처리하지 않고 여러 개의 프롬프트를 연결하는 방식입니다.
- 단계 1 (프롬프트 A): 사용자 입력에서 '의도'만 파악 (예: 송금 요청이구나!)
- 단계 2 (프롬프트 B): 파악된 의도를 바탕으로 필요한 정보 추출 (예: 누구에게, 얼마를?)
- 단계 3 (프롬프트 C): 최종 답변 생성 및 JSON 데이터 포맷팅
이때 **'기존 프롬프트'**란 각 단계별로 미리 검증되고 최적화된 모듈형 프롬프트들을 의미하며, 개발자는 이들을 레고 블록처럼 조립하여 서비스를 만듭니다.
AI 학습
네, 맞습니다. 앞서 설명한 프롬프트 엔지니어링이 이미 완성된 똑똑한 AI(모듈)에게 "일하는 방법"을 말로 잘 설명해서 결과를 얻는 것이라면,
직접 모듈을 학습시킨다는 것은 AI의 뇌 자체를 수술(튜닝)해서 우리 회사 전용 AI로 만드는 과정을 뜻합니다. 이를 전문 용어로 **파인튜닝(Fine-Tuning)**이라고 합니다.
개발자 관점에서 **직접 학습(Fine-Tuning)**이 어떻게 진행되는지 단계별로 설명해 드리겠습니다.
1. 개념: 똑똑한 신입사원 vs 전문 교육 이수자
- 프롬프트 엔지니어링 (기존 방식): 명문대 나온 똑똑한 신입사원(GPT-4 등)에게 "우리 은행 규정집 3페이지를 참고해서 고객 답변을 써줘"라고 매번 지시서를 주는 것과 같습니다.
- 파인튜닝 (직접 학습): 신입사원을 3개월간 합숙 훈련을 보내 우리 은행의 말투, 상품 규정, 상담 노하우를 머릿속에 아예 암기시키는 것과 같습니다. 훈련이 끝나면 지시서(프롬프트)가 없어도 척척 알아듣습니다.
2. 학습(Fine-Tuning) 진행 프로세스
직접 학습을 시키려면 크게 3가지 준비물이 필요합니다: 데이터, 베이스 모델, 컴퓨팅 파워(GPU).
Step 1: 데이터 준비 (가장 중요)
AI에게 먹여줄 '문제집'을 만드는 과정입니다. 일반적인 텍스트 파일이 아니라, 질문(Input)과 이상적인 답변(Output) 쌍으로 된 데이터셋(JSONL 형식)이 필요합니다.
EUMbank 예시 데이터:
JSON
{"messages": [ {"role": "user", "content": "EUM 파킹통장 이자율이 어떻게 돼?"}, {"role": "assistant", "content": "현재 EUM 파킹통장의 기본 금리는 연 2.0%이며, 우대금리 적용 시 최대 연 3.5%까지 가능합니다."} ]}이런 데이터가 최소 수백 개에서 수천 개가 필요합니다.
Step 2: 베이스 모델 선정
맨바닥에서(Pre-training) AI를 만드는 것은 구글이나 네이버급 기업만 가능합니다. 개인이나 일반 기업은 이미 공개된 **오픈소스 모델(Open Weights Model)**을 가져와서 개조합니다.
- 대표 모델: Llama 3 (Meta), Gemma (Google), Mistral 등
Step 3: 학습 (LoRA 기법 활용)
모델의 모든 파라미터(수십억 개)를 다 수정하려면 수억 원짜리 장비가 필요합니다. 그래서 개발자들은 **LoRA(Low-Rank Adaptation)**라는 효율적인 기술을 씁니다.
- LoRA: 모델의 핵심 지식은 건드리지 않고, '추가 지식'을 담은 작은 어댑터(Adapter) 모듈만 붙여서 학습시키는 방식입니다.
- 장점: 일반적인 게이밍 GPU(예: RTX 3080 Ti 등)로도 집에서 학습이 가능합니다.
중요한 부분
코랩에서 개발하는 순서 (워크플로우)
이제 코랩을 '소스 코드 개발 툴'로 생각하고 이렇게 진행하시면 됩니다.
- 구글 드라이브 준비: EUMbank_AI 폴더를 하나 만드세요.
- 데이터 업로드: 만들었던 학습 데이터(JSONL 파일)를 그 폴더에 넣습니다.
- 코랩 접속 & 드라이브 연결: 코랩 노트북을 열고 아래 코드를 실행하면 내 드라이브가 연결됩니다.
-
Python
from google.colab import drive drive.mount('/content/drive') - 학습 코드 실행: 오픈소스(Unsloth 등)를 설치하고 버튼을 누르면 학습이 시작됩니다.
- 저장: 학습된 결과물(어댑터 파일)을 다시 /content/drive/My Drive/EUMbank_AI 폴더로 저장하게 코드를 짭니다.