brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Feb 22. 2024

AWS 48탄-3. 프롬프트 엔지니링

1AWS Innovate AI/ML and Data Edition,트랙1

파운데이션 모델 = 기초 모델을 알아보자

프롬프트 엔지니어링을 알아보자.



<1> 파운데이션 모델 = 기초 모델

<2> 프롬프트 엔지니어링

<3> 일반적인 프롬프트 엔지니어링 기술

<4> 아마존 베드락의 프롬프트 엔지니어링

<5> 데모

<6> 프롬프트 엔지니어링 최근 추세




<1> 파운데이션 모델 = 기초 모델



1

대량의 데이터로 훈련된 대규모 머신 러닝 모델, 다양한 업무에 적용 가능함.

최소 1000만 개 이상 파라미터를 가진 모델을 파운데이션 모델이라고 한다.

파운데이션 모델을  텍스트로 학습된 모델을 LLM이라고 한다.



2

기존 모델 특징  = 특정 목적에 만든 모델을 만들고 배포하는 방식

파운데이션 모델 특징 = 불특정의 요청을 처리하는 모델 = 하나의 모델이 각각의 TASK를 처리.





<2> 프롬프트 엔지니어링


1

프롬프트란?

AI가 수행해야 하는 작업을 설명하는 자연어 텍스트

기존에는 특정 명령어를 넣었는데 , 지금은 일상생활에서 사용하는 자연어를 넣는다.

자연어를 넣어서 접근성이 높아졌다.



2

프롬프트 구조 4가지?


입력

지시사항 - 이 메일 요약해주세요

컴텍스트 (참고 추가정보)

출력형식




3

매개 변수?

모델의 응답을 제어하고, 커스터 마이징 하는 값이다.



# 매개 변수 부분들은 다른 클라우드도 동일하게 적용됩니다. ^^

템프러처 : 무작위성, 결정론적인 응답을 만들려면 0으로 한다. 일반적인 답변을 얻으려면 1로 한다. 신선한 문구, 눈에 띌만한 문구는 0으로 한다.  광고 문구 만들려면 0으로 한다.

TOP P :   다음에 올 단어 중 상위 p% 확률로 다음에 올 단어를 선택한다. 0.8이면 상위 80% 결과생성. 보통 높게 설정한다. 1설정.

TOP K : 상위에서 나열된 단어 중 k까지 개수로 선택하는 것을 의미한다. 보통 0 , 제일 높은 값 1개 나오도록 한다.

Tokens : 응답 길이, 소설은 크게,  답변은 적게 적는다.

Stop sequences : 특정시퀀스를 만나면 텍스트 생성 중지, ### 등 표시, 챗봇에서 많이 사용한다.




4

프롬프트 엔지니어링이란?

대규모 언어모델이 해석하고 이해할 수 있도록 텍스트를 구조화하는 프로세스이다.




<3> 일반적인 프롬프트 엔지니어링 기술


1

Zero-shot 

예제가 제공되지 않는 극단적인 경우로 지시만 제공. 

모델에 예제를 제공하지 않고, 명령이나 질문을 애기하는 것.


2

One-shot 

하나의 예제와 지시가 제공.


3

Few-shot

여러 예제와 지시가 제공되하여 FM이 더 나은 성능을 발휘 할수 있도로  한다.



4

CoT prompting  (Chain of Thoughts)

에이전트에서 사용.

프롬프트에서 제공 되는 컨텍스트로 문제 해결 방법에 대한 다단계 , 즉 멀티스탬의 추론을 제공하는 방식.

중간 추론 단계를 두어 복잡한 작업을 세분화하는 기술. 에이전트의 실행 과정에서 필요한 복잡한 추론을 가능하게 해주는 방식.

단순히 대답을 하는 것이 아니라 복잡한 추론을 통해 문제를 해결하도록 유도 하는것.

모델이 이러한 멀티 스템의 사고 과정을 거치게 되면 정확한 결과를 제공할 가능성이 높아 진다.



4

React

실제 에이전트에서 많이 사용하는 기술.

에이전트는 스스로 추론을 추적하고 테스트에 맞는 행동을 결정하도록 한다.

외부 도구와 상호작용하면서 보다 실뢰할 수 있고 사실적인 응답으로 이어지도록 추가 정보를 검색할 수도 있습니다.




5

Self Consistency

Few-shot과 Chain of Thoughts를 이용해 여러가지 다양한 추론 경로를 샘플링하고 여러번의 프롬프트 생성과정을 거쳐서 그 결과를 Aggregation한 후에 가장 일관된 답을 선택하도록 하는 것이다.

산술이나 상식적인 추론과 관련된 작업에서 성능을 향살 시킬수 있다.







<4> 아마존 베드락의 프롬프트 엔지니어링


1

아마존에서 지원하는 FM들은 아래와 같다.



2

베드락에서 지원하는 모델 중  엔트로픽사의  클로드 모델( ANTHROP\C 사의 Claude) 기법.

= 다국어 지원 모델임.



클로드 모델 작성하는 팁?


한국 인식률이 높음.

프롬프트 형식 = 프롬프트는 Human , Assistant 형식으로 하라.

명확하고 구체적인 지시를 하라.

XML 태그 사용한다.

예제 사용하자.

단계별로 생각하기.

역할 할당하기.

데이터와 지시(프롬프트) 분리하기.

Claude용 출력 서식 지정 및 말하기 - 정확한 출력 형식 지정하기. 예제) 시로 답변하게 하기.




<5> 데모


1

LangChan 이란?

LangChan은 언어 모델로 구동되는 애플리케이션을 개발하기 위한 프레임 워크

LangChan은 프롬프트 기법 중 하나인 reAct를 구현하는 프레임워크입니다.

아마존 베드랑의 모델 및 벡터 데이터베이스와 같은 관련 서비스를 편하게 연계할 수 있는 기능을 제공한다.



2

Streamlit이란?

쉽게 상호 작용적이고 데이터 기반 웹/앱을 만들 수 있도록 도와주는 오픈 소스 Python 라이브러리.



3

Building with Amazon Bedrock and LangChain (Korean)


결과 :

이야기 만드는 웹/앱.





https://catalog.workshops.aws/building-with-amazon-bedrock-langchain/ko-KR/bonus/bedrock-templates





<6> 프롬프트 엔지니어링 최근 추세


1

프롬프트의 오남용 방지 및 방어 추세

오남용 방식 - 원래 사용자의 의도와 다르게 답변받는 것 .

아마존 베드락에는 오/남용 탐지 기능이 있다.



2

워터마킹 추세

사람인지 대규모 언어모델인지 구분한다.

워커마크를 삽입한다.



다음 AI

https://brunch.co.kr/@topasvga/3740

감사합니다.



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari