prompt engineering

2022.11.30 ChatGPT 등장
알파고와는 달리 누구나 쓸 수 있는 서비스

1993 mosaic개발 > 1994 Netscape, Yahoo, Amazon탄생 > 1998 Google 탄생
30년 만에 인공지능 혁명

2020.06 GPT-3.0
2022.11 GPT-3.5
2022.11.30 ChatGPT 발표

GPT-3.5 = GPT-3.0 + RLHF (인간에 의한 피드백)
GPT-4 멀티모달 인공지능 (여러모드, 텍스트,이미지)
GPT-3.5 16개 병렬 = GPT-4
입력단어의 수가 25,000단어(영어기준)
토큰 32,767개 = 한글 32,767자

1.대화AI혁명
Transformer 2017년 구글 발표
Attention 매커니즘으로 데이터의 시퀀스를 처리
(문맥에 집중할 단어를 결정하는 방식)
인간의 말을 알아듣는 것처럼 보이는 인공지능 서비스

2.빠른 생성 AI혁명
콘텐츠를 자동으로 빨리 많이 잘 생성하는 개인과 조직이 승리

3.일반인공지능(AGI)혁명
모든 상황에 일반적으로 두루 적용할 수 있는 서비스
AGI vs. Domain-Specific 더 효율적인걸 써보고 비교해야함

32,727 토큰 길이만큼 기억 가능
모델 사이즈가 커지면 커질수록 프롬프트만으로도 좋은 결과를 얻는다는 것을 우연히 발견
prompt Engineering 중요

Zero-shot learning
프롬프트만 입력하여 결과 도출
One-shot learning
하나의 예시를  입력하여 결과 도출
Few-shot learning
여러 예시를 모델에 입력하여 결과 도출

In-Context Learning이 아닌 것
Pre-trained
. Generative Pre-trained Transformer
. 기존 원문서로 Self-Supervised Learning 한 것
어떤 AI를 사용하는건 이미 Pre-trained 된 AI갖고 오는 것
Fine-tuning
. Q&A 데이터로 기존에 학습된 매개변수를 수정
In0context learning 하여 활요하는 것 = prompt engneerinig

언어모델 : LM
N개의 단어(토큰)을 주면, N+1번째 단어를 생성
GPT-4:32,767개의 토큰을 줄 수 있음

언어 모델을 만드는 AI모델 : Transformer
input:외국어>Encoders>Decoders>output:영어
단어를 벡터로 변환(embedding)
여러 모델 중 transformer 모델이 현재까지 가장좋음

자동회귀(auto-regressive)언어 모델
첫 단추를 잘못 끼우면 계속 잘못된 방향으로 흘러감 -> hallucination 문제 발생
AI는 언제든지 틀릴 수 있다는 것 고려

언어 모델의 학습 방법:Self-Supervised Pre-Training
인터넷의 거의 모든 문서를 수집해서 랜덤하게 구멍을 뚫고 맞히는 연습을 함
틀릴 때마다 신경망의 연결 강도를 조정
ChatGPT 신경망의 연결강도는 1,750억 개

그전에는 인공지능 개발시 데이터 레이블링 필요 : Supervised Learning
이제는(GenAI) ㅔ이터 레이블링 작업이 필요 없게 됨, 기존 문서에서 단어 학습>굉장히 많은 일을 하는 AI가 됨

기계학습(머신러닝)이란? 처음엔 잘 못하지만 경험할수록 성과가 좋아지는 기계, 학습하는 기계

수학적인 알고리즘에 불과 : 1,750억 개의 X가 있는 방정식, 비선형 최적화 문제이므로 완벽하게 풀 수 없음

초거대 신경망(LLM)은 LNN의 언어모델
GPT-4: 1조7천억 개 파라미터(추정)
파라미터 수는 1년에 10배 씩 증가
다음 해에 1조가 아닌 10조, 100조 나올 수 있음

초거대 신경망을 만드는 비용?
파라미터수에서 0을 하나 뺀 원화 비용으로 얼추 추산
GPT-4는 1700억 정도
무어의 법칙 : 컴퓨팅 성능은 18개월마다 2배 향상, 가격은 반으로 하락

미래에는 부담없이 사용될 지도...
모든 개인이 인공지능을 소유할 수 있음

거대기업은 Closed Source LLM (소스 비공개)
Meta : LLaMA, LLaMA-2 발표 (소스 공개)

Closed Source LLM : New Bing, Bard, Ernie, SenseChat, Anthropic
Open Source S(Small)-LLM : LLaMA, Koala, Alpaca, Vicuna, StableLM, Hyena

필수적으로 경험해야 할 생성AI 서비스
ChatGPT : 무료, 유료는 월20달러
New Bing : GPT-4무료이용
카카오톡 AskUp 친구추가 : ?검색, !(GPT-4), URL내용요약
뤼튼: wrtn.ai 많은 AI 써볼 수 있음
DeepL : 번역을 잘 함
구글 Bard
Claude
마이크로 소프트 CoPilot 월30불 : ms 워드 파일을 작성하면 ChatGPT가 PPT슬라이드 형식으로 정리하여 만들어 줌

생성 AI로 업무 생산성 증진

==================================
Prompt Engineering 개념 및 활용법

prompt : AI가 수해애야 할 작업을 설명하는 text (현재는 텍스트지만 미래, 음성, 이미지, 영상 가능)
생성AI모델과 소통하는 기술

텍스트 생성 AI, 이미지 생성 AI, 멀티 모달 생성 AI
정해진 문법이 존재하는 것이 아니다.
좁은 의미로는 생성AI를 잘 쓰는것
넓은 의미로는 소비자 관점이 아닌 제작자 관점에서 고품질의 서비스와 시스템을 최적화 하여 제작하는 방법론

Prompt Engineering 의 범주
API, Plug-in, RAG:Retrieval-Augmented Generation, Prompting Gen AI for Target Gen AI
(프롬프트를 생성을 위해 AI 사용), Fine tuning

예시:
한국어로 논문 작성 > DeepL 영어로 번역 > GPT-4 학술적으로 수정 > 영어 논문 완성

Chain-of-Thought Prompting
질문을 하고 정답예제를 알려주면 참고해서 문제를 품
질문/대답의 길이만큼 비용 지급
좋은 답을 얻을 수 있는 짧은 prompt 생성

프롬프트 기법
Generated knowledge prompting
모델에 먼저 관련된 사실을 생성하도록 요청한 다음, 그 정보를 바탕으로 주어진 prompt를 완료

Least-to-most prompting
복잡한 문제나 질문을 여러 하위 문제로 나누고, 이러한 하위 문제들을 순차적으로 해결함으로써 전체 문제를 해결

Self-consistency decoding
모델의 일관성과 정확성을 향상시키는 방식으로써 여러개의 Chain-of-Thought 시뮬레이션(rollouts)을 수행한 후, 그 결과들 중에서 가장 일관적으로 도출된 결론을 선택

Complexity-based prompting
모델의 다양한 생각의 경로 중에서 가장 복잡하고 긴 경로를 선별하고, 그 결과 중에서 가장 일관적으로 도출된 결론을 선택

Self-refine
LLM의 답변을 반복적으로 개선하는 데 중점을 두며, 모델은 자신의 답변을 평가하고, 그 평가를 바탕으로 다시 문제 해결
-> step by step 접근으로 hallucination 방지

Plug-in
chatGPT에서 3개까지 설정할 수 있음

LangChain
LLM을 모듈로서 다른 기능과 결합하여 새로운 애플리케이션을 만들 수 있음
DB에서 굉장히 반복적인 대화를 생성해야 될 때 사용
인터넷 검색 연동
구조화된 자료(통계자료, DB등) 분석 후 prompt 생성
질문에 대해 문서에 기반한 답변 생성

검색 증강 생성 RAG
질문을 벡터로 변환, 답변DB도 벡터변환, 질문과 가장가까운 벡터를 찾아 비슷한 문서를 토큰한계만큼 입력하여 질문하면 가장 좋은 답변이 나옴

생성 AI를 학습시키는데 많은 비용이 소요됨 > 자주 학습을 할 수 없음 > 최신 정보는 RAG를 활용
ChatGPT는 2021년 9월까지 데이터를 학습했으므로 그 이후의 정보와 관련된 질문에 대답 불가능, 우디는 RAG와 결합하여 최신 정보 기반 서비스를 가능하게 함

Embeddings-Based Search
1. Generative Pre-trainde 모델
이미 학습이 완료되어 output도출이 가능한 모델
자주 학습시킬 수 없음
2. 최신 정보의 학습
fine-tuning : 모델 가중치를 통한 학습, 모델을 훈련 세트에 맞게 조정
Embeddings : 모델 입력을 통한 학습, 텍스트, 이미지를 벡터로 변환, 지식을 입력 메시지에 삽입

활용 수준 7가지
1. 생성 AI모델 사용
2. 생성 AI모델 API 활용
3. Plug-in 활용
4. RAG&Fine-tuninig
5. 생성 AI독자적 개발
6. Agent 개발
7. 연합 학습(Federated Learning) 방식 개발

step by step
1) Manual, API & Plug-In
2) RAG, Finetuning, EFM
3) Agent & Federated Learning

AI가 사람을 대체하는 것이 아닌, AI를 잘 활용하는 사람에게 AI를 활용 못하는 사람이 대체될 것

AI의 성능은 좋아졌으나 여전히 실수하며 영원히 실수할 것
AI가 내놓은 결과를 날카롭게 검토하는 비판적 사고력 중요
Human-AI Loop
창의적 비판적 사고를 하고 많은 지식을 가진 사람이 주도하는 조직 필요

+ Recent posts