반응형
해당 포스팅은 'Learn Prompting' 블로그 내용을 학습하며 요약한 글로
정확한 내용은 하단의 링크를 이용해 본문을 확인하시길 바랍니다.

LLM의 한계점

  • LLM은 매우 강력하지만 사용할 때 주의해야 할 한계점이 많이 존재

1. 인용(Citing Sources)

  • LLM은 대부분 소스를 정확하게 인용할 수 없음
    • 인터넷에 접속할 수 없고 정보가 어디에서 왔는지 정확히 기억하지 못하기 때문
    • 좋아 보이지만 완전히 부정확한 소스를 생성하는 경우가 많음
    • 이 문제는 검색 증강 LLM(인터넷 및 기타 소스를 검색할 수 있는 LLM)을 사용하면 어느정도 해결할 수 있음

2. 편향(Bias)

  • LLM은 종종 편향된 결과를 생성할 수 있음
    • 안전요원이 있어도 가끔 성차별/인종차별/동성애혐오적인 말을 함
    • 소비자가 사용하는 애플리케이션에서 LLM을 사용할 때 또는 연구에 사용할 때 주의 필요

3. 거짓(Hallucinations)

  • LLM은 답변을 모르는 질문을 받았을 때 거짓을 자주 생성
    • 답을 모른다고 말할 때도 있지만 대부분의 경우 자신 있게 잘못된 대답을 함

4. 수학(Math)

  • LLM은 종종 수학을 잘 못함
    • 이 문제는 Tool Augmented LLM을 사용하여 어느 정도 해결할 수 있음

5. 프롬프트 해킹(Prompt Hacking)

  • 사용자는 종종 LLM을 속여 원하는 콘텐츠를 생성할 수 있음

 

LLM 설정

  • LLM의 output은 다양한 측면을 제어하는 ​​하이퍼파라미터의 영향을 받을 수 있음
    • 하이퍼파라미터를 조정하여 보다 창의적이고 다양하며 흥미로운 결과를 생성할 수 있음
    • 대표적으로 Temperature, Top p등이 있음
    • 학습률, 레이어 수, 은닉 크기 등과 같은 일반 하이퍼파라미터와 다름

 

Temperature(온도)

  • 언어 모델의 임의성을 제어하는 하이퍼파라미터
  • 높은 온도는 보다 예측 불가능하고 창의적인 결과를, 낮은 온도는 보다 일반적이고 보수적인 결과를 생성
    • ex. 모델의 온도를 1.0에서 0.5로 설정하는 경우, 보다 더 예측 가능하고 덜 창의적인 텍스트를 생성

 

Top p

  • 언어 모델의 무작위성을 제어하는 ​​하이퍼파라미터
  • 임계 확률 설정 -> 누적 확률이 임계 값을 초과하는 상위 토큰 선택 -> 토큰 집합에서 무작위로 샘플링하여 output 생성
    • 이 방법은 전체 어휘를 ​​무작위로 샘플링하는 기존 방법보다 더 다양하고 흥미로운 결과를 생성할 수 있음
    • ex. 상위 p를 0.9로 설정하면 모델은 확률 질량의 90%를 구성하는 가장 가능성이 높은 단어만 고려

 

그 외 관련 하이퍼파라미터

  • 빈도(frequency), 존재(presence) 패널티 등과 같이 언어 모델 성능에 영향을 줄 수 있는 다른 많은 하이퍼 매개변수가 존재

 

하이퍼파라미터가 모델에 미치는 영향

  • 온도와 top p는 모두 생성된 텍스트의 무작위성과 다양성 정도를 제어하여 언어 모델의 출력에 영향을 줄 수 있음
    • 높은 온도 또는 높은 p 값은 더 예측할 수 없고 흥미로운 결과를 생성하지만 오류 또는 무의미한 텍스트의 가능성도 증가시킴
      • 텍스트 생성 작업 중 창의로운 결과가 필요한 경우 사용할 수 있음
    • 낮은 온도 또는 낮은 p 값은 보다 보수적이고 예측 가능한 결과를 생성할 수 있지만 반복적이거나 흥미롭지 않은 텍스트가 될 수 있음
      • 번역 작업이나 질문 답변과 같이 정확성이 중요한 작업의 경우 낮은 온도 또는 최고 p 값을 사용해야 함
  • 하이퍼파라미터와 모델 출력 간의 관계를 이해하면 특정 작업 및 애플리케이션에 대한 프롬프트를 최적화할 수 있음
    • ChatGPT와 같은 일부 모델에서는 하이퍼파라미터를 조정할 수 없음
반응형
반응형
해당 포스팅은 'Learn Prompting' 블로그 내용을 학습하며 요약한 글로
정확한 내용은 하단의 링크를 이용해 본문을 확인하시길 바랍니다.

 

Instruction Prompting

  • 가장 간단한 프롬프팅 방법 중 하나로 단순히 지시를 내리는 것
  • 간단한 지시도 가능하지만 최신 AI는 훨씬 더 복잡한 지시를 내릴 수 있음

 

Example1

  • 사용자가 이름을 입력하면 정해진 양식에 맞게 답변을 요청
A user has input their first and last name into a form. We don't know in which order 
their first/last name is, but we need it to be in the format 'Last, First'. Convert the following:

john doe
  • 답변
Doe, John

 

Example2

  • 주어진 메일에서 사용자의 개인 정보를 적절한 위치 표시로 변경하도록 요청
Read the following sales email. Remove any personally identifiable information (PII),
and replace it with the appropriate placeholder. For example, replace the name "John Doe"
with "[NAME]".

Hi John,

I'm writing to you because I noticed you recently purchased a new car. I'm a salesperson
at a local dealership (Cheap Dealz), and I wanted to let you know that we have a great deal on a new
car. If you're interested, please let me know.

Thanks,

Jimmy Smith

Phone: 410-805-2345
Email: jimmysmith@cheapdealz.com
  • 답변
Hi [NAME],

I'm writing to you because I noticed you recently purchased a new car. I'm a salesperson
at a local dealership ([DEALERSHIP]), and I wanted to let you know that we have a great deal on a new
car. If you're interested, please let me know.

Thanks,

[SALESPERSON]

Phone: [PHONE NUMBER]
Email: [EMAIL ADDRESS]

 

Role Prompting

  • AI에 역할을 할당하는 것
  • 예를 들어 "당신은 의사입니다" 또는 "당신은 변호사입니다"로 시작한 다음 AI에게 의료 또는 법적 질문에 대답하도록 요청

Example

  • 수학자라는 역할을 부여하고 문제 해결을 요청
You are a brilliant mathematician who can solve any problem in the world.
Attempt to solve the following problem:

What is 100*100/400*56?
  • 답변
The answer is 1400.
  • AI에 역할을 할당할 때 약간의 추가 내용을 제공하면 AI가 질문을 더 잘 이해하는 데 도움이 되어 종종 더 나은 답변을 제공함

Few Shot Prompting

  • 모델이 원하는 작업의 몇 가지 예(shot이라고 함)를 보여주는 방식
  • 위의 예시에서 고객 피드백을 긍정/부정으로 분류하는 3가지 예를 보여준 다음 아직 분류되지 않은 피드백(It doesnt work!:)을 제공
  • 모델은 처음 3개의 예가 긍정/부정으로 분류되었음을 확인하고 이 정보를 사용하여 새 피드백을 부정으로 분류
  • 위의 예시에서 input: classification와 같이 예제(shot)를 구조화하는 방식이 매우 중요

 

Shot Prompting 종류

  • "샷"이라는 단어는 "예제"와 동의어
  • 투샷 프롬프팅 외에도 두 가지 다른 유형의 샷 프롬프팅이 존재하며 이러한 변형 간의 유일한 차이점은 모델을 표시하는 예의 수

 

0-shot prompting

  • 가장 기본적인 프롬프팅 형식으로 예 없이 모델에 프롬프트를 표시하고 응답을 생성하도록 요청하는 것
    • 모델에 완전한 예제를 보여주지 않았기 때문에 0-shot
  • 앞서 다뤘던 지침 및 역할 프롬프트는 0-shot prompting
  • 0-shot prompting의 예
Add 2+2:

 

1-shot prompting

  • 모델에게 하나의 예를 보여주는 것
  • 1-shot prompting의 예
Add 3+3: 6
Add 2+2:

 

few shot prompting

  • 모델에게 2개 이상의 예를 보여주는 것
  • few shot prompting의 예
Add 3+3: 6
Add 5+5: 10
Add 2+2:
  • 예를 많이 보여줄수록 답변이 더 좋아지므로 대부분의 경우 0-shot, 1-shot 프롬프트보다 few-shot 프롬프트가 선호 됨

 

Formalizing Prompts

  • 프롬프트는 다양한 형식과 복잡성을 가질 수 있음
  • 여러 유형의 프롬프트 기술들을 결합하면 더 강력한 프롬프트가 생성될 수 있음
  • 프롬프트 파트의 종류
    • 역할: AI의 역할
    • 지침/지시: AI에게 내리는 지시
    • 질문: AI에게 물어는 질문
    • 내용: AI가 질문에 답하거나 지침을 수행할 때 사용하기 원하는 관련 정보
    • 예제: AI에게 제공하는 예제
  • 해당 파트들이 모든 프롬프트에서 사용되는 것은 아니며 일부만 사용하는 경우 표준 순서가 없음

 

Standard Prompt

  • 질문만으로 구성된 프롬프트를 "표준" 프롬프트라고 함
  • 또한 QA 형식의 질문만으로 구성된 프롬프트도 "표준" 프롬프트로 간주
  • 표준 프롬프트 예시
What is the capital of France?
  • QA 형식의 표준 프롬프트 예시
Q: What is the capital of France?
A:

 

 

Reference

Learn Prompting -> Basics -> Giving Instructions, Role Prompting, Few shot prompting, Combining Techniques, Fromalizing Prompts

- https://learnprompting.org/docs/category/-basics

 

😃 Basics | Learn Prompting: Your Guide to Communicating with AI

Intro to PE and simple PE techniques.

learnprompting.org

 

반응형

'ChatGPT 이용 및 활용 > 프롬프트 엔지니어링' 카테고리의 다른 글

챗봇 프롬프팅  (0) 2023.07.06
프롬프트 엔지니어링이란?  (0) 2023.07.05
반응형
해당 포스팅은 'Learn Prompting' 블로그 내용을 학습하며 요약한 글로
정확한 내용은 하단의 링크를 이용해 본문을 확인하시길 바랍니다.

 

프롬프트 엔지니어링을 이해하려면 먼저 몇 가지 매우 기본적인 AI 개념의 이해가 필요

 

AI란?

  • 인공지능(AI)은 지능을 갖춘 알고리즘으로 에세이 작성, 수학 문제 해결, 예술 창작 등 다양한 작업 수행 가능
  •  AI는 최근의 발전으로 매우 진보하여 저널리즘, 의료, 교육 등 여러 산업에서 혁신을 이루고 있으며, 이미 많은 직장이나 교실에서 AI를 사용하고 있거나 사용할 전망
  • AI는 매우 유용하지만 인간의 지시가 필요하며 이를 통해 AI를 적절히 이용할 수 있음

 

AI를 사용해야 하는 이유

  • AI는 이메일 작성, 보고서 작성, 심지어 코드 작성 등의 반복적이고 많은 시간을 소요하는 작업들을 자동화하는 데 사용할 수 있음
  • 해당 작업을 AI에게 설명할 수 있다면 AI는 해당 작업을 대신 수행하거나 적어도 시작점을 제공할 수 있음

 

프롬프트란?

  • 프롬프팅: AI에게 작업을 수행하도록 지시하는 프로세스
  • AI에게 일련의 지침(프롬프트)을 알려주면 AI가 작업을 수행
  • 프롬프트는 간단한 지침/질문과 같이 간단할 수도 있고 방대한 양의 텍스트로 복잡할 수도 있음

 

프롬프트 예시

1. 기사 요약

  • 플로리다의 폭설에 관한 기사를 읽고 있다고 가정
  • 기사의 주요 아이디어를 빨리 얻기 위해 기사 내용을 AI에게 보여주고 요약을 요청
It is very rare for snow to fall in the U.S. state of Florida, especially in the central and southern portions of the state. With the exception of the far northern areas of the state, most of the major cities in Florida have never recorded measurable snowfall, though trace amounts have been recorded, or flurries in the air observed few times each century. According to the National Weather Service, in the Florida Keys and Key West there is no known occurrence of snow flurries since the European colonization of the region more than 300 years ago. In Miami, Fort Lauderdale, and Palm Beach there has been only one known report of snow flurries observed in the air in more than 200 years; this occurred in January 1977. In any event, Miami, Fort Lauderdale, and Palm Beach have not seen snow flurries before or since this 1977 event.

Summarize this paragraph in a single sentence:
  • 내용이 요약된 AI 답변
Snowfall is extremely rare in Florida, with the exception of the far northern areas, and only one instance of snow flurries in the air has been recorded in the major cities of Miami, Fort Lauderdale, and Palm Beach in the last 200 years.

2. 수학 단어 문제 풀이

  • 언어 모델로 수학 방정식을 해결하는 경우 "What is [equation]?"라는 질문을 제기하여 프롬프트를 생성
What is 965*590?
  • 해당 프롬프트의 경우 GPT-3(text-davinci-003)에서 569,050(잘못된 값)으로 응답하는 경우가 있고, 여기에서 프롬프트 엔지니어링이 필요

 

프롬프트 엔지니어링

  • "What is 965*590?" 대신 "Make sure your answer is exactly correct. What is 965*590? Make sure your answer is exactly correct:"로 요청하면 GPT-3는 569350(맞는 값)으로 대답
  • 왜 그런지, AI에게 정답을 달라고 두 번 말하는 것이 도움이 되는 이유는 무엇인지, 작업에 대해 최적의 결과를 가져오는 프롬프트를 어떻게 만들 수 있는지 등이 Prompt Engineering 분야의 초점

 

Reference

Learn Prompting -> Basics -> Introduction, Prompting

- https://learnprompting.org/docs/category/-basics

 

😃 Basics | Learn Prompting: Your Guide to Communicating with AI

Intro to PE and simple PE techniques.

learnprompting.org

 

반응형

'ChatGPT 이용 및 활용 > 프롬프트 엔지니어링' 카테고리의 다른 글

챗봇 프롬프팅  (0) 2023.07.06
프롬프트 엔지니어링 방법  (0) 2023.07.05

+ Recent posts