Jump to content

생각의 뼈대(Skeleton-of-Thought) 프롬프트: 구조화와 병렬 생성으로 효율성 높이기


Recommended Posts

image.png.0e9169b7095e29b341414a77e0ac40d2.png

 

생각의 뼈대


프롬프트 엔지니어링은 언어 모델의 잠재력을 최대한 발휘하기 위한 기술로, 사용자의 의도를 정확히 파악하고 적절한 결과를 도출하는 데 중요한 역할을 합니다.
프롬프트 엔지니어링에서 주목받는 방법으로는 '생각의 사슬(Chain-of-Thought, CoT)'이 있는데요. 오늘은 대규모 언어 모델의 추론 능력을 향상시키기 위해 제안된 ‘생각의 뼈대(Skeleton-of-Thought, SoT)'라는 방법론을 소개하도록 하겠습니다.

 

관련 연구를 바탕으로 설명드리겠습니다. 더 자세한 내용과 실험 결과는 참고 문헌에서 확인하실 수 있습니다.
SKELETON-OF-THOUGHT: PROMPTING LLMS FOR EFFICIENT PARALLEL GENERATION, (2024). https://arxiv.org/pdf/2307.15337

 

Skeleton of Thought (SoT)는 병렬 처리를 통해 LLM의 효율성을 극대화하는 방법론입니다.
이 방법론의 핵심 프로세스는 먼저 응답의 전체적인 구조를 잡은 후, 각 부분을 동시에 상세화하는 것입니다.

sot_decoding.png.37acadb8761ea267737d547187b3a3e3.png

▲ 일반적인 방법에서는 질문에 대한 답을 순차적으로 생성합니다. 생각의 뼈대(Skeleton-of-Thought, SoT)에서 제시하는 방법은, 뼈대 단계 (Skeleton stage) 먼저 답변의 주요 요점들을 간단히 나열한 후, 요점 확장 단계 (Point-expanding stage)를 통해 병렬적으로 확장해 나가는 것입니다.

 

 

효율성 향상


기존의 언어 모델은 시퀀스 기반으로 순차적으로 텍스트를 생성하기 때문에 추론을 위해 많은 시간이 소요됩니다. 반면 SoT에서는 먼저 답변의 주요 구조가 세워진 후, 각 요점을 병렬로 확장시키는 방식입니다. 이렇게 응답의 틀을 먼저 구성한 후 세부 내용을 채우는 방식을 사용함으로써 대규모 언어 모델의 응답 속도를 개선합니다. 여러 부분을 동시에 생성함으로써 전체 생성 시간이 단축되는 것이죠.

 

구조화된 사고 프로세스


구조화된 응답을 바탕으로 생성하여, 답변의 품질도 향상됩니다. 전체 응답의 논리적 흐름을 미리 설계할 수 있습니다.
각 부분의 연결성을 높이고 전체적으로 일관된 논리 구조를 만드는 데 도움이 될 수 있죠. 골격은 필요에 따라 쉽게 수정하거나 확장할 수 있습니다. 새로운 아이디어나 정보를 추가해야 할 때, 전체 구조를 크게 해치지 않고 유연하게 대응할 수 있을 것입니다.

 

복잡한 주제의 체계적 분석


복잡한 주제를 다룰 때, 골격은 주요 논점을 명확히 하고 각 부분을 체계적으로 분석할 수 있게 해줍니다.
이 방법론은 복잡한 보고서 작성, 문제 해결, 장문의 창의적 글쓰기, 다중 주제를 다루는 분석 작업 등 다양한 분야에 적용될 수 있을 것입니다.

 

  • 학술 연구: 논문의 구조를 먼저 잡고 각 섹션을 병렬로 작성할 수 있습니다.
  • 비즈니스 보고서: 복잡한 데이터 분석 결과를 체계적으로 정리하는 데 활용할 수 있습니다.
  • 창의적 글쓰기: 소설이나 시나리오의 전체적인 플롯을 구성한 후 각 장면을 상세화할 수 있습니다.
  • 교육: 학습 자료를 구조화하고 각 주제를 깊이 있게 다룰 수 있습니다.

 

 SoT의 효과를 실제로 확인하기 위해, HyperCLOVA X 모델을 사용하여, 재연해보았습니다.

sot_system.png.8375dfa3dc083664db3e128ff69d64b4.png

 

논문에서 소개된 요청 사례와 동일한 쿼리를 사용해 보았습니다.
▼ "왜 어떤 사람들은 공포 영화를 보거나 롤러코스터를 타는 것과 같은 무서운 감각을 즐기는 반면, 다른 사람들은 이러한 경험을 피하나요?"라는 질문에 대한 답변입니다.

non_sot_1.png.7befec88f4242a0d4fb0a04e313c3ae8.png

 

▼ 간단한 개요를 설정한 후 생성된 결과입니다. SoT를 적용한 경우 더 구조화되고 체계적인 답변을 얻을 수 있었습니다.
이는 복잡한 주제에 대해 더 포괄적이고 논리적인 설명을 제공할 수 있음을 보여줍니다.
인퍼런스 속도 개선을 위해서는 각 개요 항목을 개별적으로 호출하여 병렬 처리하는 방식으로 구현해야할 것입니다.

sot_1.png.bac25e9400ce5549b03bc92bd59dd7fa.png

 

▼  아래는 논문에서 소개된 SoT가 일반 생성보다 더욱 좋은 점수를 낸 결과 예시입니다.

sot_example1.png.484220136e03e32d572b2aa2816c74b5.png

sot_example2.png.7577470799a7031a6d517349170e1c3f.png

 

마무리하며


SoT(Skeleton of Thought)와 같은 방법론은 단순히 효율성을 높이는 것을 넘어,
우리가 복잡한 문제를 해결하는 방식에 대한 새로운 통찰을 제공하며 인간과 AI의 협업 가능성을 한층 더 확장할 것입니다.
동적으로 구조를 조정하거나, 인간과 AI의 상호작용 그리고 어려운 문제를 풀어갈 수 있는 협업의 새로운 방법이 될 수도 있겠죠.

 

image.png.5809043f33f51c40b1b99e27e621b124.png

링크 복사
다른 사이트에 공유하기

  • CLOVA Studio 운영자 changed the title to 생각의 뼈대(Skeleton-of-Thought) 프롬프트: 구조화와 병렬 생성으로 효율성 높이기

게시글 및 댓글을 작성하려면 로그인 해주세요.



로그인
×
×
  • Create New...