Search

KR-20260060879-A - Method, device and program for prompting GenAI model

KR20260060879AKR 20260060879 AKR20260060879 AKR 20260060879AKR-20260060879-A

Abstract

본 발명의 일 실시예에 따라 장치의 프로세서에 의해 생성형 인공지능 모델을 프롬프팅하는 방법은, 초기 데이터를 획득하는 단계; 상기 초기 데이터의 적어도 일부를 포함하는 입력 데이터를 생성하는 단계; 상기 입력 데이터를 생성형 인공지능 모델에 입력하는 단계; 상기 생성형 인공지능 모델로부터 최종 출력 데이터를 획득하는 단계; 및 상기 최종 출력 데이터를 시각적으로 표시하는 단계;를 포함하고, 생성형 인공지능 모델의 신뢰성 및 확장성과 출력의 일관성을 높이면서도, 프롬프팅 과정의 효율성을 향상시킬 수 있다. 결과적으로, 본 발명의 일 실시예에 따르면 자동화된 프롬프팅 방법, 장치, 및 프로그램을 제공하여 프롬프팅의 효율성을 증대할 뿐 아니라, 생성형 인공지능 모델 사용의 한계점을 해결하여 생성형 인공지능 기술의 사용성을 높이는 데에 기여할 수 있다.

Inventors

  • 남진우
  • 이민재
  • 조근식

Assignees

  • 주식회사 튜링

Dates

Publication Date
20260506
Application Date
20241025

Claims (18)

  1. 초기 데이터를 획득하는 단계; 상기 초기 데이터의 적어도 일부를 포함하는 입력 데이터를 생성하는 단계; 상기 입력 데이터를 생성형 인공지능 모델에 입력하는 단계; 상기 생성형 인공지능 모델로부터 최종 출력 데이터를 획득하는 단계; 및 상기 최종 출력 데이터를 시각적으로 표시하는 단계;를 포함하는, 장치의 프로세서에 의해 생성형 인공지능 모델을 프롬프팅하는 방법.
  2. 제1항에 있어서, 상기 입력 데이터를 생성하는 단계는, 상기 최종 출력 데이터 외 중간 출력 데이터의 생성 및 출력을 요청하는 명령어(Instruction)를 생성하는 단계; 및 상기 초기 데이터의 적어도 일부 및 상기 명령어를 포함하는 입력 데이터를 생성하는 단계;를 포함하는, 방법.
  3. 제2항에 있어서, 상기 명령어(Instruction)는, 상기 중간 출력 데이터가 상기 최종 출력 데이터를 포함하는 적어도 두 개의 출력 후보 데이터를 포함하도록 요청하는 것인, 방법.
  4. 제3항에 있어서, 상기 명령어(Instruction)는, 상기 중간 출력 데이터 내에서 상기 적어도 두 개의 출력 후보 데이터가 상기 초기 데이터보다 뒤에 위치하도록 요청하는 것인, 방법.
  5. 제3항에 있어서, 상기 명령어(Instruction)는, 상기 중간 출력 데이터가 상기 출력 후보 데이터 또는 상기 최종 출력 데이터 생성의 이유와 관련된 근거 데이터를 포함하도록 요청하는 것인, 방법.
  6. 제5항에 있어서, 상기 명령어(Instruction)는, 상기 중간 출력 데이터 내에서 상기 적어도 두 개의 출력 후보 데이터가 상기 근거 데이터보다 뒤에 위치하도록 요청하는 것인, 방법.
  7. 제2항에 있어서, 상기 명령어(Instruction)는, 상기 중간 출력 데이터가 상기 입력 데이터 중 상기 초기 데이터의 적어도 일부에 해당하는 부분을 포함하도록 요청하는 것인, 방법.
  8. 제2항에 있어서, 상기 명령어(Instruction)는, 상기 중간 출력 데이터가 상기 최종 출력 데이터 생성 시 사용 가능 용어 또는 사용 불가능 용어의 리스트 데이터를 포함하도록 요청하는 것인, 방법.
  9. 제1항에 있어서, 상기 입력 데이터는 제1 입력 데이터 및 제2 입력 데이터를 포함하고, 상기 제1 입력 데이터는 상기 초기 데이터의 적어도 일부를 포함하고, 상기 제2 입력 데이터는 상기 초기 데이터를 포함하지 않으며, 상기 입력 데이터를 생성형 인공지능 모델에 입력하는 단계는, 상기 제1 입력 데이터를 상기 생성형 인공지능 모델에 입력하는 단계; 및 상기 제2 입력 데이터를 상기 생성형 인공지능 모델에 입력하는 단계;를 포함하는, 방법.
  10. 제1항에 있어서, 디스플레이를 포함하는 장치에 생성형 인공지능 모델을 기반으로 한 어플리케이션을 배포하는 단계;를 더 포함하고, 상기 최종 출력 데이터를 시각적으로 표시하는 단계는, 상기 장치에 상기 최종 출력 데이터를 전송하여 상기 디스플레이에 상기 최종 출력 데이터가 시각적으로 표시되도록 하는, 방법.
  11. 제1항에 따른 방법을 통해 생성형 인공지능 모델을 프롬프팅하는 단계;를 포함하고, 상기 초기 데이터는 문제 데이터를 포함하는, 장치의 프로세서가 생성형 인공지능 모델을 활용하여 힌트를 생성하는 방법.
  12. 초기 데이터를 획득하고 최종 출력 데이터를 출력하는 입출력부; 상기 입출력부를 통하여 획득하고 출력하는 정보를 저장하는 메모리; 및 상기 입출력부를 통해 초기 데이터를 획득하고, 상기 초기 데이터의 적어도 일부를 포함하는 입력 데이터를 생성하고, 상기 입력 데이터를 생성형 인공지능 모델에 입력하고, 상기 생성형 인공지능 모델로부터 최종 출력 데이터를 획득하고, 상기 입출력부를 통해 상기 최종 출력 데이터를 시각적으로 표시하는 프로세서;를 포함하는, 생성형 인공지능 모델을 프롬프팅하는 장치.
  13. 제12항에 있어서, 상기 프로세서는, 상기 입력 데이터를 생성할 때, 상기 최종 출력 데이터 외 중간 출력 데이터의 생성 및 출력을 요청하는 명령어(Instruction)를 생성하고, 상기 초기 데이터의 적어도 일부 및 상기 명령어를 포함하는 입력 데이터를 생성하는, 장치.
  14. 제12항에 있어서, 상기 입출력부는 통신부를 포함하고, 상기 프로세서는, 상기 통신부를 통해 디스플레이를 포함하는 장치에 생성형 인공지능 모델을 기반으로 한 어플리케이션을 배포하고, 상기 최종 출력 데이터를 시각적으로 표시할 때, 상기 통신부를 통해 상기 장치에 최종 출력 데이터를 전송하여 상기 디스플레이에 상기 최종 출력 데이터가 시각적으로 표시되도록 하는, 장치.
  15. 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 장치의 프로세서에서 실행되는 경우, 생성형 인공지능 모델을 프롬프팅하기 위한 단계들을 수행하며, 상기 단계들은, 초기 데이터를 획득하는 단계; 상기 초기 데이터의 적어도 일부를 포함하는 입력 데이터를 생성하는 단계; 상기 입력 데이터를 생성형 인공지능 모델에 입력하는 단계; 상기 생성형 인공지능 모델로부터 최종 출력 데이터를 획득하는 단계; 및 상기 최종 출력 데이터를 시각적으로 표시하는 단계;를 포함하는, 프로그램.
  16. 제15항에 있어서, 상기 입력 데이터를 생성하는 단계는, 상기 최종 출력 데이터 외 중간 출력 데이터의 생성 및 출력을 요청하는 명령어(Instruction)를 생성하는 단계; 및 상기 초기 데이터의 적어도 일부 및 상기 명령어를 포함하는 입력 데이터를 생성하는 단계;를 포함하는, 프로그램.
  17. 제15항에 있어서, 상기 단계들은, 디스플레이를 포함하는 장치에 생성형 인공지능 모델을 기반으로 한 어플리케이션을 배포하는 단계;를 더 포함하고, 상기 최종 출력 데이터를 시각적으로 표시하는 단계는, 상기 장치에 상기 최종 출력 데이터를 전송하여 상기 디스플레이에 상기 최종 출력 데이터가 시각적으로 표시되도록 하는, 프로그램.
  18. 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 장치의 프로세서에서 실행되는 경우, 생성형 인공지능 모델을 활용하여 힌트를 생성하기 위한 단계들을 수행하며, 상기 단계들은, 제1항에 따른 방법을 통해 생성형 인공지능 모델을 프롬프팅하는 단계;를 포함하고, 상기 초기 데이터는 문제 데이터를 포함하는, 프로그램.

Description

생성형 인공지능 모델을 프롬프팅하는 방법, 장치 및 프로그램{Method, device and program for prompting GenAI model} 본 발명은 생성형 인공지능 모델을 프롬프팅하는 방법, 장치 및 프로그램에 관한 것으로, 더 상세하게는 생성형 인공지능 모델의 출력값 품질 향상을 위하여 추가적인 중간 출력값을 생성하도록 요청하는 자동화된 프롬프팅 방법에 관한 것이다. 인공지능 기술의 발전에 따라 데이터를 분류하거나 예측하는 전통적인 인공지능 모델 외에 새로운 샘플 데이터를 생성할 수 있는 생성형 인공지능 모델이 상용화되고 있다. 이러한 생성형 인공지능 모델에게 어떤 정보나 작업을 요구하는 입력 과정을 프롬프팅(Prompting)이라고 하며, 프롬프팅 시 인공지능 모델에 입력되는 데이터를 프롬프트(Prompt)라고 한다. 대부분의 생성형 인공지능 모델은 주어진 프롬프트를 바탕으로 맥락(Context)을 설정하고, 그 맥락 내에서 다음 내용을 예측하여 출력 데이터를 생성한다. 생성형 인공지능 모델은 보통 확률적 연산에 기반하여 출력 데이터를 생성하는 모델이기 때문에, 주어진 입력에 따라 여러 다양한 결과를 생성할 수 있다. 도 1은 생성형 인공지능 모델의 동작 원리를 설명하기 위한 도면이다. 도 1을 참고하면, 생성형 인공지능 모델은 대체로 입력 레이어(Input layer)와 출력 레이어(Output layer 또는 Decision layer), 그리고 적어도 하나의 히든 레이어(Hidden layer)를 포함한다. 이 중 히든 레이어는 적어도 하나의 메모리 레이어(Memory layer)를 포함할 수 있다. 토큰(Token)의 형태로 초기 입력 데이터를 획득하면, 이를 생성형 인공지능 모델이 한 번에 처리할 수 있는 최대 입력 길이인 컨텍스트 윈도우(Context window)를 단위로 초기 입력 데이터를 분할한다. 분할된 초기 입력 데이터는 입력 레이어에 순차적으로 입력되며, 또한 이후 차례에서 메모리 레이어에 입력되는 정보에 반영될 수 있다. 생성형 인공지능 모델의 레이어는 각 입력값에 곱해지는 가중치(Weight)와 각 뉴런의 활성화 정도를 결정하는 편향(Bias)의 값이 기 설정되어 있을 수 있으며, 따라서 같은 레이어 또는 같은 컨텍스트 윈도우 내에서도 각 데이터가 출력 데이터에 미치는 영향이 상이할 수 있다. 이와 같이 프롬프트의 작은 변화가 모델로부터 출력되는 모든 데이터에 큰 변화를 줄 수 있으므로 프롬프트를 어떻게 구성하느냐에 따라 동일한 모델이 다른 작업을 수행할 수 있을 뿐 아니라, 효과적인 프롬프트는 모델 성능 최적화, 연산 자원 절약, 구체적이고 일관된 출력을 제공하는 데 매우 중요한 역할을 한다. 프롬프팅의 중요성에 따라 생성형 인공지능 모델의 사용자는 더 나은 결과물을 얻기 위하여 프롬프트 설계, 결과 검토 및 프롬프트의 미세 조정에 많은 시간을 할애하고 있다. 따라서 이러한 프롬프팅 과정에서의 시간 등 자원을 절약하면서도 양질의 출력 데이터를 획득하기 위한 대안이 필요한 실정이다. 도 1은 생성형 인공지능 모델의 동작 원리를 설명하기 위한 도면이다. 도 2는 본 발명의 일 실시예에 따라 생성형 인공지능 모델을 프롬프팅하기 위해 사용되는 구성요소 간 상호작용을 나타내는 블록도이다. 도 3은 본 발명의 일 실시예에 따른 생성형 인공지능 모델을 프롬프팅하는 장치의 구성 요소를 나타내는 블록도이다. 도 4는 본 발명의 일 실시예에 따라 생성형 인공지능 모델을 프롬프팅하는 방법을 설명하기 위한 순서도이다. 도 5는 본 발명의 일 실시예에 따라 배경지식 데이터를 선정하는 방법을 설명하기 위한 순서도이다. 도 6는 생성형 인공지능 모델의 프롬프팅 개념을 설명하기 위한 도면이다. 도 7은 본 발명의 일 실시예에 따라 최종 출력 데이터를 시각적으로 표시하는 인터페이스의 예시도이다. 도 8은 본 발명의 일 실시예에 따라 최종 출력 데이터를 시각적으로 표시하는 인터페이스의 또 다른 예시도이다. 본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. 덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 발명의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다. 본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다. 본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다. 본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 어떤 구성요소와 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다. 본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다. 실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다. 한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다. 모델이란, 기 정의된 형태의 데이터를 입력으로 연산을 수행하여 적어도 하나의 결과값을 출력할 때, 입력부터 출력까지의 과정을 정의하는 알고리즘과, 해당 알고리즘의 수정 또는 실행을 위한 규칙을 포함하는 집합을 의미한다. 모델이 인공 신경망(Artificial neural network, ANN) 모델일 경우, 모델은 생물학적 뉴런의 작동 원리를 모방하여 설계된 그래프 형태의 수학적 모델로, 입력층(또는 입력 레이어)과 출력층(또는 출력 레이어)을 포함하며, 그 외에도 뉴런 또는 노드를 포함하는 하나 이상의 은닉층(또는 히든 레이어, Hidden layer)을 더 포함한다. 은닉층 내 뉴런은 모델 내 다른 뉴런으로부터 적어도 하나의 입력을 받아 적어도 하나의 출력값을 생성하는데, 이 때 뉴런 내에서 입력값으로부터 출력값을 생성하는 함수를 활성화 함수(Activation function)이라 한다. 활성화 함수는 시그모이드 함수(Sigmoid function), 렐루 함수(Rectified Linear Unit function, ReLU), 소프트맥스 함수(Softmax function)를 포함할 수 있으나, 이에 한정되지