Search

KR-20260061155-A - 생성형 기계 학습 모델에서 셀프 리플렉션을 사용한 쿼리 라우팅

KR20260061155AKR 20260061155 AKR20260061155 AKR 20260061155AKR-20260061155-A

Abstract

본 명세서에서는 하나 이상의 데이터 프로세싱 장치에 의해 수행되는 방법이 설명된다. 본 방법은 쿼리를 획득하는 단계 및 쿼리와 관련된 컨텍스트 데이터로부터 컨텍스트 데이터의 서브세트를 획득하는 단계를 포함한다. 본 방법은 쿼리 및 컨텍스트 데이터의 서브세트를 생성형 기계 학습 모델을 사용하여 프로세싱하여 쿼리와 관련된 응답 데이터를 생성하거나, 컨텍스트 데이터의 서브세트를 사용하여 쿼리가 충족될 수 없다는 표시를 생성하는 단계를 포함한다. 컨텍스트 데이터의 서브세트를 사용하여 쿼리가 충족될 수 없다는 결정에 응답하여, 본 방법은 쿼리 및 쿼리와 관련된 컨텍스트 데이터를 생성형 기계 학습 모델을 사용하여 프로세싱하여 응답 데이터를 생성하는 단계를 포함한다.

Inventors

  • 리 주오완
  • 리 청
  • 장 밍양
  • 벤더스키 마이클
  • 메이 치아오주

Assignees

  • 지디엠 홀딩 엘엘씨

Dates

Publication Date
20260506
Application Date
20250718
Priority Date
20240718

Claims (20)

  1. 하나 이상의 데이터 프로세싱 장치에 의해 수행되는 방법으로서, 쿼리를 획득하는 단계; 쿼리와 관련된 컨텍스트 데이터로부터 컨텍스트 데이터의 서브세트를 획득하는 단계; 쿼리 및 컨텍스트 데이터의 서브세트를 생성형 기계 학습 모델을 사용하여 프로세싱하여 쿼리와 관련된 응답 데이터를 생성하거나, 컨텍스트 데이터의 서브세트를 사용하여 쿼리가 충족될 수 없다는 표시를 생성하는 단계; 컨텍스트 데이터의 서브세트를 사용하여 쿼리가 충족될 수 없다고 결정하는 것에 응답하여, 쿼리 및 쿼리와 관련된 컨텍스트 데이터를 생성형 기계 학습 모델을 사용하여 프로세싱하여 응답 데이터를 생성하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 쿼리 및 컨텍스트 데이터의 서브세트를 생성형 기계 학습 모델을 사용하여 프로세싱하는 단계는, 생성형 기계 학습 모델에게 컨텍스트 데이터의 서브세트를 사용하여 쿼리가 충족될 수 있는지 여부를 예측하도록 프롬프트하는 단계를 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 쿼리와 관련된 컨텍스트 데이터로부터 컨텍스트 데이터의 서브세트를 획득하는 단계는 쿼리와 관련된 컨텍스트 데이터로부터 컨텍스트 데이터의 서브세트를 선택하는 단계를 포함하는, 방법.
  4. 제3항에 있어서, 상기 컨텍스트 데이터의 서브세트를 선택하는 단계는 리트리버 기계 학습 모델에 의해 수행되는, 방법.
  5. 제3항 또는 제4항에 있어서, 상기 컨텍스트 데이터의 서브세트를 선택하는 단계는, 쿼리 및 쿼리와 관련된 컨텍스트 데이터로부터 추출된 복수의 후보 청크 사이의 거리 메트릭을 평가하는 단계에 기초하는, 방법.
  6. 제5항에 있어서, 상기 쿼리 및 쿼리와 관련된 컨텍스트 데이터로부터 추출된 복수의 후보 청크 사이의 거리 메트릭을 평가하는 단계는, 쿼리로부터 쿼리 임베딩을 생성하는 단계; 복수의 후보 청크 각각에 대해 개별 청크 임베딩을 생성하는 단계; 및 쿼리 임베딩과 개별 청크 임베딩 사이의 거리 메트릭을 평가하는 단계를 포함하는, 방법.
  7. 제6항에 있어서, 상기 거리 메트릭은 코사인 유사도에 기초하는, 방법.
  8. 제6항 또는 제7항에 있어서, 상기 쿼리 임베딩은 제1 인코더에 의해 생성되고; 상기 청크 임베딩은 제2 인코더에 의해 생성되며; 그리고 상기 제1 및 제2 인코더는 동일한 인코더이거나, 또는 상기 제1 및 제2 인코더는 서로 다른 인코더이지만 공동으로 트레이닝되는, 방법.
  9. 제5항 내지 제8항 중 어느 한 항에 있어서, 상기 쿼리 및 복수의 후보 청크 사이의 거리 메트릭을 평가하는 것에 기초하여 컨텍스트 데이터의 서브세트를 선택하는 단계는, 거리 메트릭 평가에 기초하여 복수의 후보 청크를 순위화하는 단계; 및 k 개의 가장 높은 순위의 후보 청크를 컨텍스트 데이터의 서브세트로 선택하는 단계를 포함하는, 방법.
  10. 제9항에 있어서, 상기 선택된 k 개의 가장 높은 순위의 청크를 순위 순서로 연결하여 컨텍스트 데이터의 서브세트를 형성하는 단계를 더 포함하는, 방법.
  11. 제9항 또는 제10항에 있어서, 상기 k 값은 쿼리에 기초하여 결정되는, 방법.
  12. 제11항에 있어서, 상기 k 값은 쿼리 유형 또는 쿼리 복잡성의 측정에 기초하여 결정되는, 방법.
  13. 제11항 또는 제12항에 있어서, 상기 k 값은 생성형 기계 학습 모델에 의해 쿼리를 프로세싱하여 k 값을 예측하는 것에 기초하여 결정되는, 방법.
  14. 제11항 또는 제12항에 있어서, 상기 k 값은 생성형 기계 학습 모델과 다른 기계 학습 모델에 의해 쿼리를 프로세싱하여 k 값을 예측하는 것에 기초하여 결정되는, 방법.
  15. 제9항 내지 제14항 중 어느 한 항에 있어서, k 는 1 내지 5의 범위를 포함하는 정수인, 방법.
  16. 제5항 내지 제15항 중 어느 한 항에 있어서, 상기 복수의 후보 청크는 약 300단어 크기의 청크에 기초하여 생성되는, 방법.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 생성형 기계 학습 모델은 대규모 언어 모델(LLM) 기반 기계 학습 모델인, 방법.
  18. 제1항 내지 제17항 중 어느 한 항에 있어서, 상기 생성형 기계 학습 모델을 사용하여 쿼리 및 컨텍스트 데이터의 서브세트를 프로세싱하여 응답 데이터를 생성하는 단계는, 컨텍스트 데이터의 서브세트를 사용하여 쿼리가 부분적으로만 충족될 수 있다는 표시를 생성하는 단계; 및 컨텍스트 데이터의 추가 서브세트를 획득하는 것; 및 응답 데이터가 생성되거나 쿼리가 충족될 수 없다는 표시가 생성될 때까지 생성형 기계 학습 모델을 사용하여 쿼리, 컨텍스트 데이터의 추가 서브세트 및 컨텍스트 데이터의 이전에 획득된 서브세트를 프로세싱하는 것, 을 반복하는 단계를 포함하는, 방법.
  19. 제18항에 있어서, 상기 쿼리가 부분적으로만 충족될 수 있다는 표시는, 재구성된 쿼리(reformulated query)를 포함하고; 그리고 상기 컨텍스트 데이터의 추가 서브세트는 상기 재구성된 쿼리에 기초하여 획득되는, 방법.
  20. 제18항 또는 제19항에 있어서, 상기 쿼리가 부분적으로만 충족될 수 있다는 표시는, 쿼리를 충족시키는 데 필요한 추가 컨텍스트 데이터의 예측된 크기를 포함하고; 그리고 상기 컨텍스트 데이터의 추가 서브세트는 상기 예측된 크기에 기초하여 획득되는, 방법.

Description

생성형 기계 학습 모델에서 셀프 리플렉션을 사용한 쿼리 라우팅 본 명세서는 기계 학습 모델을 사용하여 데이터를 프로세싱하는 것에 관한 것이다. 기계 학습 모델은 입력을 수신하고, 수신된 입력에 기초하여 예측 출력과 같은 출력을 생성한다. 일부 기계 학습 모델은 파라미터 모델(parametric model)로서, 수신된 입력과 모델의 파라미터의 값에 기초하여 출력을 생성한다. 일부 기계 학습 모델은 수신된 입력에 대한 출력을 생성하기 위해 모델의 다수의 계층을 채용하는 심층 모델이다. 예를 들어, 심층 신경망은 출력 계층과, 각각 수신된 입력에 비선형 변환을 적용하여 출력을 생성하는 하나 이상의 은닉 계층을 포함하는 심층 기계 학습 모델이다. 도 1은 데이터 생성 시스템의 예를 예시하는 개략적인 블록도이다. 도 2는 구현예에 따른 데이터를 생성하기 위한 예시적인 방법을 예시하는 순서도이다. 도 3a 및 3b는 벤치마킹 실험(benchmarking experiment)의 결과를 제공한다. 다양한 도면에서 동일한 참조 번호와 명칭은 동일한 엘리먼트를 나타낸다. 대규모 언어 모델(LLM), 멀티모달 언어 모델, 파운데이션 모델(foundation model)과 같은 생성형 기계 학습 모델은 점점 더 강력해지고 있다. 모델의 각 새로운 세대마다, 프로세싱될 수 있는 토큰의 수는 기하급수적으로 증가하며, 최첨단 모델 중 일부는 컨텍스트(context) 윈도우 크기가 최대 백만 개의 토큰에 달하기도 한다. 일반적으로, 생성형 모델은 하나 이상의 어텐션 계층(attention layer)을 포함하며, 이는 입력 크기에 대해 제곱으로(quadratically) 확장된다. 따라서, 컨텍스트 윈도우 크기가 증가하면 메모리 리소스 요구량이 크게 증가할 수 있다. 일부 경우에, 쿼리에 대한 응답을 제공하기 위해 쿼리가 컨텍스트 데이터를 필요로 하는 경우, 해당 컨텍스트 데이터의 서브세트만을 사용하여 쿼리가 충족될 수 있다. 컨텍스트 데이터의 가장 관련성이 높은 부분을 쿼리와의 유사성에 기초하여 추출하기 위해 리트리벌 증강 생성(RAG)과 같은 기법이 개발되었다. 그러나 RAG에서 사용되는 리트리버 모델은 LLM보다 성능이 떨어지고 관련성을 정량적으로 측정하기 어렵기 때문에, 선택된 서브세트가 관련성이 부족할 경우 리트리버에 의해 제공되는 컨텍스트 데이터의 선택된 서브세트가 응답 생성에 방해가 될 수 있다. 본 명세서에 설명된 기법은 모델 셀프 리플렉션(model self-reflection)을 사용하여 RAG 사용의 실행가능성(viability)을 예측하거나, 쿼리를 충족시키기 위해 전체 컨텍스트를 사용할 필요가 있는지 여부를 예측한다. 즉, 생성형 기계 학습 모델은 컨텍스트 데이터의 주어진 서브세트를 사용하여 쿼리를 충족시킬 수 있는지 예측하고, 가능하다면 컨텍스트 데이터의 서브세트를 사용하여 응답을 생성하도록 프롬프트될 수 있다. 그렇지 않으면, 생성형 기계 학습 모델은 컨텍스트 데이터의 서브세트를 사용하여 쿼리를 충족시킬 수 없다는 예측을 출력하고, 쿼리에 대한 응답을 생성하기 위해 전체 컨텍스트 데이터를 프로세싱하는 방식으로 대체할 수 있다(fallback). 이러한 방식으로, 쿼리는 RAG를 사용한 프로세싱 또는 전체 컨텍스트를 사용한 프로세싱으로 라우팅될 수 있다. 일부 경우에, 모델은 쿼리가 부분적으로 충족될 수 있음을 결정하고, 쿼리가 충족될 것으로 예측될 때까지 컨텍스트 데이터의 추가 서브세트를 반복적으로 획득할 수 있다. 본 명세서에 설명된 기법은 컨텍스트 데이터를 사용하여 가능한 한 가장 메모리 효율적인 방식으로 쿼리에 대한 응답을 생성하는 것을 목표로 한다. 일부 구현예에서, 생성형 기계 학습 모델은 복수의 사용자로부터의 많은 수의 사용자 쿼리를 서비스하는 시스템의 일부가 될 수 있다. 따라서, 이러한 쿼리 중 일부에 대해서라도 메모리 소비 및 계산 요구사항을 줄이는 것은 매우 중요할 수 있다. 본 명세서에 설명된 기법은 쿼리별로 계산 리소스를 동적으로 할당하는 기술적 문제를 해결함으로써, 생성된 출력의 기술적 품질을 저하시키지 않고 컴퓨터 시스템의 계산 효율성을 향상시킨다. 이제 도 1을 참조하면, 데이터 생성 시스템(100)이 도시되어 있다. 시스템(100)은 하나 이상의 위치에 하나 이상의 데이터 프로세싱 장치를 사용하여 구현될 수 있다. 데이터 프로세싱 장치는 개인용 컴퓨터, 서버, 랩톱, 모바일 디바이스와 같은 적절한 하드웨어 또는 더욱 구체적으로 CPU, GPU, TPU와 같은 임의의 유형의 프로세싱 유닛이나 FPGA 또는 ASIC과 같은 특수 하드웨어 장치를 포함할 수 있다. 시스템(100)은 생성형 기계 학습 모델(101)을 포함한다. 생성형 기계 학습 모델(101)은 임의의 적절한 유형의 생성형 기계 학습 모델일 수 있다. 생성형 기계 학습 모델(101)은 어텐션 기반 신경망 계층과 같은 하나 이상의 신경망 계층을 포함할 수 있다. 예를 들어, 생성형 기계 학습 모델은 트랜스포머 기반 아키텍처(Transformer-based architecture)에 따라 구성될 수 있다. 생성형 기계 학습 모델(101)은 자기회귀형(autoregressive) 또는 비자기회귀형일 수 있으며, 인코더-디코더 아키텍처, 인코더 전용 아키텍처 또는 디코더 전용 아키텍처를 포함할 수 있다. 일부 구현예에서, 생성형 기계 학습 모델(101)은 대규모 언어 모델(LLM) 기반 기계 학습 모델(예를 들어, 파운데이션 모델)이다. 이는 또한 텍스트 입력과 이미지, 비디오 및/또는 오디오와 같은 다른 모달리티를 함께 프로세싱하여 텍스트, 이미지, 비디오 및/또는 오디오 데이터를 생성할 수 있는 멀티모달 모델을 포함할 수 있다. 생성형 기계 학습 모델(101)은 확산 기반 모델(diffusion-based model)을 포함할 수 있다. 생성형 기계 학습 모델(101)은 복수의 서브네트워크 또는 전문가 네트워크를 포함할 수 있다. 시스템(100)은 쿼리(102)를 획득하도록 구성된다. 쿼리(102)는 자연어로 된 텍스트를 포함할 수 있다. 쿼리(102)는 답변을 제공하기 위한 시스템(100)에 대한 주제에 대한 질문을 포함할 수도 있고, 쿼리(102)는 태스크(task)를 수행하기 위한 명령어를 포함할 수도 있다. 쿼리(102)는 이미지, 비디오 및/또는 오디오 데이터와 같은 다른 모달리티의 데이터도 포함할 수 있다. 예를 들어, 쿼리(102)는 이미지에 묘사된 내용이나 음성의 녹음에서 말하는 내용과 관련된 질문일 수 있다. 시스템(100)이 수행하도록 구성될 수 있는 태스크의 추가적인 예는 아래에 제공된다. 쿼리(102)는 사용자 디바이스로부터 임의의 적절한 네트워크 연결을 사용하여 시스템(100)으로 송신될 수 있으며, 또는 시스템(100)은 사용자가 시스템(100)과 상호작용할 수 있는 사용자 인터페이스를 포함할 수 있다. 시스템(100)은 쿼리(102)와 관련된 컨텍스트 데이터(104)로부터 컨텍스트 데이터의 서브세트(103)를 획득하도록 더 구성된다. 일부 구현예에서, 컨텍스트 데이터(104)는 데이터베이스와 같은 외부 데이터 소스로부터 획득되거나 인터넷 검색 엔진 또는 기타 적절한 툴을 통해 획득된 문서 또는 기타 전자 리소스일 수 있다. 일부 구현예에서, 컨텍스트 데이터 또는 데이터 소스는 사용자에 의해 지시되거나 제공될 수 있다. 컨텍스트 데이터(104)는 단일 연속 리소스; 다수의 개별 문서, 기록 또는 데이터 발췌본의 모음; 및/또는 여러 발췌본, 예를 들어, 하나 이상의 문서로부터의 스니펫(snippet)의 모음을 포함할 수 있으나 이에 제한되지는 않는다. 예를 들어, 검색 엔진을 통해 컨텍스트 데이터가 획득될 때, 컨텍스트 데이터는 리트리빙된 결과의 세트(예를 들어, 복수의 웹사이트 스니펫 또는 문서에 대한 링크)를 포함할 수 있다. 이러한 경우, 컨텍스트 데이터의 서브세트(103)는 이러한 리트리빙된 결과 중 하나 이상(예를 들어, 상위 순위 스니펫)의 선택일 수 있으며, 컨텍스트 데이터 프로세싱의 대체 단계(fallback step)는 리트리빙된 결과의 세트를 프로세싱하는 것을 포함한다. 일부 구현예에서, 시스템(100)은 쿼리(102)에 기초하여 쿼리(102)를 충족시키기 위해 컨텍스트 데이터가 필요하다고 결정하도록 구성된다. 예를 들어, 생성형 기계 학습 모델(101)에 의해 사용되는 토큰의 어휘(vocabulary)는 외부 리소스 및 툴의 사용을 나타내는 특수 토큰을 포함할 수 있다. 생성형 기계 학습 모델(101)은 쿼리(102)를 프로세싱하고 외부 리소스/툴에 액세스하는 데 필요한 대응하는 토큰(들)을 생성할 수 있다. 또 다른 예로, 생성형 기계 학습 모델(101)은 "사고의 연쇄(chain-of-thought)" 유형 모드로 동작하고, 쿼리(102)에 대한 응답을 생성하는 데 필요한 일련의 하위 단계를 결정하도록 구성될 수 있다. 생성형 기계 학습 모델(101)은 이러한 하위 단계에서 쿼리(102)를 충족시키기 위해 컨텍스트 데이터가 필요하다고 결정할 수 있다. 생성형 기계 학습 모델(101)은 컨텍스트 데이터(104)를 획득하기 위해 적절한 데이터 소스/툴에 대한 하나 이상의 함수 호출(function call)을 위한 데이터를 생성할 수 있다. 예를 들어, 생성된 데이터는 데이터 소스/툴의 API에 따른 함수 호출을 위한 파라미터, 프로그래밍 언어 코드, 마크업 언어 코드 및/또는 쿼리 언어 코드를 포함할 수 있다. 하나 이상의 파라미터는 데이터 소스 또는 검색 엔진을 쿼링하기 위한 검색어를 포함할 수 있다. 시스템(100)은 생성된 데이터에 기초하여 하나 이상의 함수 호출을 수행하도록 구성될 수 있다. 따라서 일부 구현예에서, 생성형 기계 학습 모델(101)은 컨텍스트 데이터(104)를 획득하기 위한 적절한 데이터 소스 또는 툴을 선택하고, 적절한 형태로 외부 데이터 소스 또는 툴로부터 컨텍스트 데이터(104)를 획득하기 위한 명령어를 생성할 수 있다. 시스템(100)은 컨텍스트 데이터의 서브세트(103)를 선택하도록 구성될 수 있다. 예를 들어, 쿼리(102)와 후보 청크 각각의 사이에서 평가된 거리 메트릭(distance metric) 및 컨텍스트