CLOVA Studio 운영자 Posted March 20, 2023 공유하기 Posted March 20, 2023 안녕하세요! 오랜만에 올리는 포스팅이네요. ChatGPT가 전 세계에 돌풍을 일으키고 있는 요즘입니다. 저는 오늘 여러분께, 새로운 프롬프트 스킬을 소개하려고 합니다. 그동안 대규모 언어모델(LLM)은 산술 문제나 상식을 추론하는 능력이 떨어진다고 알려져 왔는데요. 작년 경 'Chain-of-Thought Prompting Elicits Reasoning in Large Language Models'라는 논문을 게재했는데, 이것이 언어모델의 성능을 크게 향상했다고 합니다. (논문 링크) 바로 Chain-of-Thought(CoT)인데요. 문제의 인과 관계에 대해서 차근차근 풀어서 전개하다 보면, 정답에 더 잘 도달할 수 있다는 개념입니다 ‘문제-답’ 대신에 ‘문제-풀이-답’ 형태로 프롬프트를 구성하는 것이죠. 그럼 지금부터 여러분께 CoT 프롬프트 스킬을 소개해 드리겠습니다. 예를 들면, 이런 방식이에요. ▼ 문제의 답을 단답형으로 구성한 기존의 프롬프트는 좌측처럼 오답을 내었습니다. 하지만 우측처럼 문제를 풀이하는 과정을 예제로 넣었더니, 정답으로 귀결되었습니다. 아마도 LLM의 특징을 잘 이해한 스킬이 아닐까요? LLM은 시퀀스 기반으로 빈칸 채우듯이 문장을 생성하는 특징이 있다보니, 이러한 특징을 살려서 중간 과정을 단계별로 풀이했을 때, 그 성능이 좋아진 것이 아니었을까 생각이 듭니다. ▼ 논문에 소개된 다양한 예제입니다. 산수(arithmetic)뿐만 아니라, 일반 상식(common sense), 기호 추론(symbolic reasoning)으로도 테스트 했다고 합니다. ▼ 아래와 같이 성능이 크게 향상되었다고 해요. 이 스킬을 하이퍼클로바 언어 모델에 적용해도 효과적일까요? 결론부터 말씀드리면, “효과가 있다!” 입니다. 몇 가지 실험을 해보았습니다. (Temperature: 0.15~3.0) ▼ 단답 형태의 예제로 구성한 프롬프트는 오답을 내었습니다. ▲ 반면, 풀이 과정을 문장으로 풀어서 예제를 구성했더니, 정답이 나왔습니다. ▼ 더 난이도 있는 문제들로 테스트 했습니다. 기존 프롬프트는 오답이었는데, CoT 프롬프트는 정답이 출력되었습니다. ▼ 날짜를 가지고 추론하는 문제에서도 효과를 보았습니다. 이러한 경험들은 ChatGPT에서도 이어집니다. ▼ ChatGPT에서도 산수 문제를 단계별로 풀이하면서 정답을 내고 있습니다. 그리고 ‘step-by-step’으로 답을 하라고 명령하는 것도 효과적이에요. Chain-of-Thought prompting을 통해 예전에는 많이 부족하던 LLM의 계산 능력을 끌어올릴 수 있었습니다. 하지만 여전히 오답을 내는 경우도 있기 때문에, 수학은 언어 모델이 풀어야 할 영역 중 하나입니다. 그래도 이러한 시도들이 모여서 언젠가 '수학'도 잘하는 AI가 될 수 있겠죠? 다양한 예제가 있는 'Large Language Models are Zero-Shot Reasoners' (링크) 논문 링크를 추가로 소개 드리며, 오늘 글은 여기서 마치겠습니다! 2 링크 복사 다른 사이트에 공유하기 More sharing options...
Recommended Posts
게시글 및 댓글을 작성하려면 로그인 해주세요.
로그인