Share
Sign In
프롬프트 엔지니어 이야기
프롬프트 엔지니어링의 종말과 o1의 역학
S
Sujin_Kang
👍
프롬프트 엔지니어링의 종말과 o1의 역학
프롬프트 엔지니어링 분야에 종사한다면 "프롬프트 엔지니어는 사라질 직업이다."
"프롬프트 엔지니어링은 LLM이 대신 해줄거라 필요 없어질거다" 라는 말을 종종 듣죠.
지난 몇 년 동안 LLM의 성능을 극대화하기 위해 프롬프트를 미세 조정하고,
생성형 AI 서비스를 만들기 위해 프롬프트의 중요성이 강조되었습니다. 프롬프트 엔지니어링은 여러 언어 모델의 복잡성을 유용향 형태로 쉽게 다룰 수 있게 해주니까요.
하지만 o1 이 프롬프트 엔지니어링의 역학을 바꿨습니다. o1 만큼은 정교한 프롬프트 설계가 필요하지 않습니다. OpenAI의 o1 프롬프트 가이드를 보면 다음과 같습니다.
✏️
☑ 팁 1. 프롬프트를 간결하고 명확하게 사용할 것
☑ 팁 2. 언어모델에게 자체적인 판단을 내릴 수 있는 여유를 줄 것
☑ 팁 3. Chain-of-thought prompts 를 피할 것, think step-by-step 이나 explain your reasoning 불필요.
정교한 프롬프트가 오히려 모델의 추론 성능을 저해한다니, 기존의 프롬프트 엔지니어링을 보기 좋게 뒤집었습니다. GPT-4 같은 모델은 섬세하게 작업할 수록 결과물을 고도화 할 수 있었는데요. o1 은 테스트해보니, 밀도높은 프롬프트를 거부하는 반응을 보입니다.
그렇다고 해서, '프롬프트 엔지니어'는 사라질, '프롬프트 엔지니어링은 필요없는' 을 의미하는 것은 아닙니다. 단지 역할이 바뀐 것 뿐입니다.

o1 시대 (편의상) 에는 프롬프트 엔지니어들인 고밀도의, 광범위한 세부사항에 중점을 둔 프롬프트를 제작하는 대신, 여러 산업의 문제를 "우아하게", "구조화"하여 푸는데 집중할 것 같습니다.
o1의 메커니즘에도 여전히 중요한 것은 "우아한 프롬프트"와 "프롬프트 구조화" 입니다.
프롬프트 엔지니어링 수업에서 여러 방법들을 소개했는데요. 앞으로 o1 모델을 활용하는 더 우아한, 더 구조화를 위한 delimeters 소개가 이어질 것 같습니다. 그래서, AI가 추론 능력을 발휘 할 수 있는 공간과 최적화된 프롬프트의 환경을 디자인해야 하지 않을까 해요. AI에게 공간을 깔끔하게 내어주기 위해서요.
우아한 백조도 수면 아래서는 부단히 헤엄칩니다. 오늘의 o1 의 메커니즘은 숱한 정교한 프롬프트 엔지니어링의 시도로 이루어 낸 결과입니다. OpenAI의 o1은 가까운 미래, 아니 내일의 한 glimpse 입니다. 이 모델과 공존하기 위해서라도, 실용적이고 신뢰할 수 있는 AI의 결과물을 얻기위해 바지런히 프롬프트 엔지니어의 역할을 다해야 할 것 같습니다.
#promptengineering #prompt #o1model #llm #adviceonprompting
Subscribe to 'sujin-prompt-engineer'
안녕하세요,
슬래시페이지 구독을 하시면, 이따금씩 발행하는 프롬프트와 프롬프트 엔지니어링에 관한 글을 이메일로 받아보실 수 있어요. 구독하시겠어요? 😊
Subscribe
👍
Sujin_Kang
Openai o1 과 프롬프트
Openai o1 과 프롬프트 Openai o1 은, AI Mathematics Evaluation(AIME) 수학적 문제 해결 능력 평가나, GPQA(General Purpose Question Answering) 다양한 종류의 질문에 대해서 얼마나 잘 대답하는지의 평가 지표에서 결과가 특히 뛰어납니다. 하지만, 결과가 뛰어나다고 해서, 반드시 end user 가 체감할 수 있는 무언가로 이어지진 않습니다. 반드시, 모델의 실용적인 접목 측면에서도 바로 적용가능한 것으로 이어지진 않습니다. 프롬프트를 꾸준히 들여다보고 써오고 있지만 LLM이 빠르게 발전할 때마다, 더욱 어려움을 느낍니다. 프롬프트 엔지니어의 일이란, 각 모델이 어떤 프롬프롬트의 응답을 잘 수행하고, 잘 못하는지를 판단하는 일입니다. GPT-4o는 실패했지만, o1에서만 잘 작동하는 프롬프트를 발견하는 것은 쉽지 않은 일입니다. GPT 3.5-turbo와 GPT-4의 사용에서 확연한 유의미한 차이를 느끼는 것처럼요. o1 이 현실 적용 가능한 과제를 해결하게 하기 위해서는, 더 어렵고 더 마법같은 프롬프트를 찾아야합니다. 또 다른 o1의 능력은 추론(Reasoning)입니다. AI 모델이 인간의 언어를 사용하여 사고 과정을 "나열"하는 것을 보고 있자니 놀랍습니다. 복잡한 문제를 몇 단계로 나누어서, 실수가 있으면 실수를 인식하고 수정하고, 다양한 접근 방식을 시도합니다. 사람의 사고 과정과 유사한데요. 그렇다면, 프롬프트 역시 역으로 인지과정을 거꾸로 밟아가며 세밀하고 정교하게 제작해야 할 필요가 있을 것 같습니다. 현재의 프롬프트 "과업"은 또 다른 "과업"이 되겠습니다. Evals https://openai.com/index/openai-o1-mini-advancing-cost-efficient-reasoning/ #Oepnaio1 #prompt #promptengineering
Sujin_Kang
Revisiting the Concept of Prompt Engineering and Prompting
프롬프트 엔지니어에 대한 고찰 프롬프트 엔지니어링이 단순 프롬프트를 잘 쓰는 것이 아닌, 전문적인 역량과 스킬이 필요한 이유가 잘 설명된 글입니다. 이 글에 대한 네 가지 reflection 을 해봤습니다. 1️⃣ 프롬프트와 프롬프트 엔지니어링에 대한 정의 시중에 많은 정의가 있지만 여전히 혼재되어 있어 재고(Revisiting)가 필요하다고 생각합니다.LLM의 아키텍처 개념을 사용하여 설명하면 어느 의미에서 프롬프트와, 프롬프트 엔지니어링인지 정확해지는 것 같습니다. 2️⃣ 프롬프트 엔지니어는? 생성형 AI 기업의 프롬프트 엔지니어는 LLM의 최종 출력층에서 "프롬프트 최적화를 하는 사람" 입니다. LLM <-> End user 사이에 위치하여 모델의 출력을 조정하고, 고도화하는 작업을 합니다. 프롬프트 엔지니어의 포지션은 최종 출력층이지만, 그 이전 층의 트랜스포머 아키텍처, 구송 요소들의 작동 원리를 알아야 프롬프트 최적화를 할 수 있습니다. 때문에, 단순히 ChatGPT의 답변을 잘 받았다고 혹은 문장을 잘 썼다고 프롬프트 엔지니어라 할 수 없을 것 같습니다. 3️⃣ Q(Query), K(Key), V (Value)가중치 행렬 활용 = 단어의 빈도수 제가 프롬프팅을 할 때 Q, K, V 값을 활용할 수 있도록 google ngram을 사용합니다. ngram 에 A단어/B단어의 빈도수를 비교하여, 가장 많이 쓰이는 단어를 프롬프트로 작성합니다. 예를들어, generate 보다는 develop 이 현대 영어(1980-현재)에서 더 빈도수가 큰 단어입니다. develop을 썼을 때, 원하는 결과를 쉽게 얻을 수 있었어요. LLM이 학습한 데이터 내 단어의 빈도수가 많을 수록, 언어의 semantic, syntax 의 관계가 더 커져, 원하는 결과물을 이끌어 낼 수 있었기 때문입니다. Attention 가중치가 올라갔다고 판단할 수 있을까요? 4️⃣ Q, K, V 가 무효할 때 = 언어의 Pragmatics 가 커질 때 Tokenizer 를 통해, 단어를 쪼개고 의미를 나누고, 문법의 패턴을 익힌다 하더라도 Pragmatics은 LLM이 하지 못하는 영역입니다. 그래서 엉뚱한 소리를 하거나, 이상한 답변을 해요. 특히 한국어는 더 그렇습니다. 한국어는 "고맥락"의 언어입니다. 문장이 발화된 상황에 의존하여, 발화 된 뜻을 상황속에서만 파악할 수 있습니다. 예를들어, 한국어에서 "괜찮아"가 맥락 의존적인 표현인데요. "커피마실래?" "괜찮아" 마시겠다는 건지, 안 마시겠다는 건지는 발화의 의도를 발화 상황에서 파악해야 합니다. 따라서, 이런 task 를 수행하는 기능 구현을 위한 프롬프트를 제작할 때는 "엔지니어링"을 해야 합니다. shot 으로 LLM에게 정보를 주거나, turn을 활용하여 role-play demonstration 을 하기도 해요. 결론: 요즘 한국어를 분석하면, 화용이 더 강해집니다. 언어의 형태나 의미보다는 기능이 더 중요해지는 거죠. meme이나, 주어를 생략하고 말하거나, 줄임말을 쓰는 것이 증거예요. 한국어의 화용을 LLM이 잘 이해할 수 있도록하는 프롬프트 엔지니어링이 필요할 것 같습니다.