* Chat GPT
- Open AI에서 개발한 고급 언어 모델 -> Deep learning Program 사용
- 프롬프트를 통해 질문을 하고 대답하는 방식으로 대화한다.
- Chat + GPT(Generative Pre-trained Transfer, 생성하는 미리 학습된 트랜스포머)의 합성어
- 대화할 때 필요한 정보를 미리 학습한 프로그램
* Chat GPT 가입방법 및 시작
1) https://chat.openai.com/auth/login 에서 Sign Up을 클릭한다.
2. 이메일 주소를 넣으면, 입력한 이메일로 확인 메일이 날아온다.
3. 이름과 생년월일, 휴대폰 번호 인증을 한다. -> 가입 완료
4. (참고) 유료버전 이용 방법
- Free/Plus/Team 총 3가지의 버전이 있습니다.
- Free 버전
• ChatGPT 3.5 모델 무제한 사용
• 웹 및 iOS / Android 사용 가능
- Plus 버전 (월20$)
• ChatGPT 4.0 모델 제한 수량 사용 가능
• 챗봇을 만들 수 있는 GPTs 기능 제공
• DALL-E / 웹 검색, 데이터 분석 등 제공
- Team 버전 (연간 기준, 1인당 월 25$)
• 더 많은 chatGPT 4.0 모델 사용 가능
• 더 많은 DALL-E / 웹 검색, 데이터 분석
• 구축 팀별 별도 워크 스페이스 제공
* 프롬프트 엔지니어링 (Prompt Engineering)
- 목표 : AI가 사용자의 의도를 정확하게 이해하고 원하는 정보를 생성하도록 하는 것
- AI 모델, 자연어처리 (NLP)와 관련된 학습 모델에 대한 입력 텍스트 (프롬프트)를 최적화하여 원하는 결과를 얻는 기법
- 특징
• 정확성 → 목표와 맥락을 정확하게 전달
• 명료성 → 명료하고 직접적으로 표현
• 포괄성 → 필요한 모든 정보를 포함시켜서 AI가 충분한 맥락을 가지고 작업할 수 있도 록 수행
• 창의성 → 비표준적이거나 창의적 프롬프트를 통해 더 잘 반응하고 원하는 결과를 생 성하도록 유도
• 반복과 수정 → 반복적으로 수정하고 테스트하는 과정
* 환각효과 (Hallucination)
• 챗GPT가 질문을 받았을 때 있지도 않은 것을 그럴싸하게 있는 것처럼 대답하는 것.
• 넓은 범주에서는 생성 AI 모델이 잘못된 정보/허위 정보를 학습, 사실인 것 처럼 답하는 것
* 자연어 처리 (natural language processing; NLP)
• 인공지능이 사람의 언어를 이해하기 위해 필요한 분야
• ‘자연어’란 사람들이 대화할 때 쓰는 언어.
• 컴퓨터가 사람의 언어를 이해할 수 있도록 만드는 기술
* 기계학습 (machine learning)
• 기계가 스스로 학습하는 기술
• 머신러닝은 크게 지도학습, 비지도학습, 강화학습으로 나뉨
• 지도학습 : 정답이 있는 데이터를 학습해 새로운 데이터를 예측하는 방식
• 비지도학습 : 정답이 없는 데이터에서 구조나 패턴을 찾고 새로운 데이터를 예측하는 방식
• 강화학습 : 환경과 상호작용하여 목표를 달성하는 방식
* 딥러닝 (deep learning)
• 인간의 뇌를 모방해서 만든 인공신경망을 여러 계층으로 겹쳐 쌓고 연결한 것
• 좀 더 정확하고, 복잡한 작업을 수행하는데 사용되는 기법
• 인간의 신경망을 모방해 구성함
* 토큰 (token)
• 챗GPT가 단어를 처리하기 위해 문장을 의미 단위로 조각 낸 단위
• 프롬프트의 길이 및 GPT의 답변 등, 텍스트를 입력/출력하는 모든 곳에서 사용됨
• 일정 토큰 수가 넘어가면 챗GPT는 망각 → 단기 기억은 Good. 중장기 기억은 Bad
• 한글은 영어보다 더 많은 토큰을 사용함 (더 짧은 기억력, 더 잦은 환각 현상 발생)
* Fine-tuning
• 모델에게 새로운 작업을 가르치고 세부 내용을 조정하는 과정
• 학습이 덜 된 인공지능을 특정한 조건에 맞춰 학습하고 경험시켜서 더 좋은 결과를 내도록 파라메터를 조정하는 과정
* 인공 일반 지능 (artificial general intelligence; AGI)
• 인간 지능 수준의 컴퓨터 프로그램이나 기계를 의미 → 아직 개념으로만 존재
• AGI가 완성되려면 사람의 지능을 모방해야 함(학습 능력, 추론, 언어 이해, 인식, 문제 해결 등)
* Chat GPT 사용 팁
• 역할부여
- 챗GPT의 답변 시작점을 설정 → 원하는 방향의 답변을 진행하게 하는 방법
- 챗GPT가 가진 수많은 정보를 역할을 이용해 정보를 한정해 답변을 요청 하는 방법
예시) 나 :지금부터 너는 ‘반도체 공학 전문가’가 되는 거야. 디램에 대해서 알려줘
• 원하는 답변의 맥락을 전달
- 챗GPT는 답변과 프롬프트의 맥락을 파악하고 답변을 제공
- 시간/장소/경우(Time / Place / Occasion, TPO)와 같은 맥락을 함께 제공할 경우, 제공한 맥락에 맞춰 답변을 생성
예시) 나 : 슈퍼 컴퓨터가 뭔지 말해 줘. 10살 아이에게 설명할 수 있게 이야기해 줘.
• 맥락의 단계 나누기
- 복잡한 맥락을 알아듣기에는 아직 인간과 같은 해석 능력은 부족
- 단순한 맥락을 여러 개 이어서 복잡한 요구를 수행하면 좀 더 퀄리티 있는 답변을 진행
예시)
• 나는 소설을 쓰고 싶다.
• 장르: SF 소설
• 배경: 미래, 미국
• 주인공 특징: 로봇을 잘 다루는 프리랜서
• 질문 변경하기 (프롬프트 변경)
- 맥락을 유지하며 다른 답변을 원하는 경우
- 오타 혹은 부족한 정보를 채워 넣기 위해 사용
• 같은 질문 다른 답변 (다른 답변을 원할때)
- 챗GPT는 기본적으로 랜덤값(난수)을 가지고 있어, 매번 다른 대답을 진행
- 같은 질문에도 매번 다르게 답변하게 되어 있음
- 재생성 화살표를 새로운 대답 생성할 수 있음
• 답변 이어듣기 (답변이 길게 출력될 경우, 끊기는 현상)
- 한 번에 출력할 수 있는 최대치(토큰으로 인해)가 있음 → 긴 질문의 경우, 답변을 이어서 들 을 수 있는 버튼이 존재
- [Continue generating]을 누르면 이전 답변에서 이어서 출력 가능
• Customize ChatGPT (가이드 라인을 통해 답변 제어)
- 사전 지식이나, 정보 출력 방식 등을 입력
- 챗GPT가 개인에게 맞춰진 답변을 할 수 있도록 함
• 소설/시쓰기
- 기호를 통해 프롬프트의 특정 영역을 챗GPT에게 강조시킬 수 있음
- 작은 따옴표 ‘’ / 큰따옴표 “ ”, 소괄호( ), 중괄호{ }, 대괄호[ ]도 사용 가능
• Ex : ‘이순신 : '거북선' 에서 [거북선]을 좀 더 한국적인 느낌이 나게 변경할 수 있어?
• 보고서 요약
- 논문 / 보고서 pdf, txt 등의 자료를 챗GPT에게 제공해, 요약 및 분석 요청 가능
- 3.5버전의 경우, 글자가 일정량을 초과할 경우, 제대로 인지를 못하는 경우도 있음
• 한계
- 환각효과 → 정답을 주는 것이 아니라 질문에 대한 답을 준다
- 확인과 검증이 필요함
* 프롬프트 엔지니어링 패턴 대표적 예시
1. 나의 질문을 수정해 줘! → “더 나은 버전의 질문을 제안해 주세요”
• 무엇을 묻는지 정확하지 않을 때 더 나은 질문을 해 달라는 패턴
• 챗GPT를 이용해서 질문을 한 번 더 검수해, 정확도를 높이는 방법
2. 이 정보를 기반으로 대답해 줘! → “여러 가지 추가 질문을 생성해줘”
• 정확한 답을 모를 때 유용한 찾아가는 패턴
• 챗GPT를 이용해서 질문을 한 번 더 검수해, 정확도를 높이는 방법
3. 청중을 위한 답변을 해 줘! → “제가 사자라고 가정합니다”
• 잘 알려진 역할 부여를 반대로 적용시킨 방식, 챗GPT를 듣는 사람 입장으로 설정
• 새로운 관점이나, 고객의 관점에서 이야기를 들을 수 있는 타겟 의중 파악 좋은 패턴
4. 난 대답 할게. 넌 질문만 해! → “첫 번째 질문을 하세요.”
• 자문자답 형식을 챗GPT를 이용해서 진행하는 방식
• 기존의 정보를 이용해 새로운 인사이트를 찾을 때 사용하기 좋은 패턴
5. 게임을 통해 배워보자! → “새로운 지식을 발견할 수 있는 해양 모험 게임을 만들어줘”
• 게임의 특성을 이용해 학습하는 방식
• 특정 지식들을 학습하고 싶다면, 게임화 시키는 것도 하나의 방법
6. 이런 형태로 답해줘! → “제가 제공하는 서식과 전체 템플릿을 유지하세요: 이름, 난이도”
• 내가 원하는 형태의 답변을 요청하고 싶을 때
7. 빠진 것 없는지 확인? → “전체 단계 순서를 알려주세요. 누락된 단계가 있으면 입력해 주세요
• 나는 [어떤 목표]를 달성하고 싶다. 나는 A, B, C 단계를 수행해야 한다는 것을 알고 있다
• GPT가 빠진 내용이나 수정이 필요한 부분을 추가
8. 더 좋은 방법이 있을까? → “각 표현의 장단점도 비교 및 대조해 주세요.”
• 새로운 시각을 전달하는 컨설턴트, 문제를 해결하기 위한 방법과 조언을 해주는 조언자를 설정하 는 방식
9. 개요 확장 패턴 → “입력한 내용을 바탕으로 글머리 기호 개요를 생성한 다음 어떤 글머리 기호를 확장할지 물어보세요” • 대규모 언어 모델의 한계를 보완
* 확장 프로그램 추천
1. 프롬프트 지니
• 프롬프트 입력 시, 자동으로 영한 / 한영 번역 해주는 프로그램
• 구글 번역 API 기반
• 한글로 질문할 경우,영어로 변환해 챗GPT에게 지시
-> why? 한글/영어를 번역해야 하는가? : 영어가 한글보다 토큰을 적게 사용할 수 있어서 한번에 많은 정보를 출력이 가능하다. 따라서, Chat GPT의 기억력을 오래 유지하고, 접근 자료의 범위가 증가한다.
2. 스낵 프롬프트
• 다른 사람들이 만들어 놓은 프롬프트 템플릿을 이용할 수 있음
• 또는 자신이 자주 사용하는 템플릿을 저장, 언제든 불러와 사용 가능
'인공지능' 카테고리의 다른 글
[인공지능] Uninformed Search (0) | 2024.04.10 |
---|---|
[인공지능] 인공지능이란 무엇인가? (0) | 2024.04.10 |
[인공지능] Adversarial Search (0) | 2024.04.02 |
[인공지능] 인공지능 탐색에 대한 나의 고찰 (0) | 2024.03.24 |
[인공지능] 인공지능의 역사와 기술,활용 (2) | 2024.03.15 |