KR20240034804A - 자동 회귀 언어 모델 신경망을 사용하여 출력 시퀀스 평가 - Google Patents

자동 회귀 언어 모델 신경망을 사용하여 출력 시퀀스 평가 Download PDF

Info

Publication number
KR20240034804A
KR20240034804A KR1020247004967A KR20247004967A KR20240034804A KR 20240034804 A KR20240034804 A KR 20240034804A KR 1020247004967 A KR1020247004967 A KR 1020247004967A KR 20247004967 A KR20247004967 A KR 20247004967A KR 20240034804 A KR20240034804 A KR 20240034804A
Authority
KR
South Korea
Prior art keywords
output sequence
sequence
candidate output
tokens
neural network
Prior art date
Application number
KR1020247004967A
Other languages
English (en)
Inventor
프레이타스 아디와다나 다니엘 드
노암 엠. 셰이저
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20240034804A publication Critical patent/KR20240034804A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Machine Translation (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

언어 모델 신경망을 사용하여 후보 출력 시퀀스를 평가하기 위한 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램을 포함한 방법, 시스템 및 장치가 개시된다. 특히 자동 회귀 언어 모델 신경망은 후보 출력 시퀀스를 생성하는 데 사용된다. 동일한 자동 회귀 언어 모델 신경망을 사용하여 후보 출력 시퀀스를 평가하여 하나 이상의 기준 각각에 대한 평가 점수를 결정한다. 그런 다음 평가 점수를 사용하여 후보 출력 시퀀스를 제공할지 여부를 결정한다.

Description

자동 회귀 언어 모델 신경망을 사용하여 출력 시퀀스 평가
본 명세서는 출력 시퀀스를 생성하기 위해 신경망을 사용하여 입력을 프로세싱하는 것과 관련된다. 신경망은 하나 이상의 비선형 유닛 계층을 사용하여 수신된 입력에 대한 출력을 예측하는 기계 학습 모델이다. 일부 신경망에는 출력 계층 외에 하나 이상의 은닉 계층이 포함되어 있다. 각 은닉 계층의 출력은 네트워크의 다음 계층, 즉 다른 은닉 계층 또는 출력 계층에 대한 입력으로 사용된다. 네트워크의 각 계층은 각 파라미터 세트의 현재 값에 따라 수신된 입력으로부터 출력을 생성한다.
본 명세서는 예를 들어 출력 시퀀스가 시스템의 출력으로 제공하기에 적합한지 여부를 결정하거나 주어진 요청에 응답하여 어떤 출력 시퀀스를 제공해야 하는지 선택하기 위해, 자동 회귀 언어 모델 신경망을 사용하여 출력 시퀀스를 생성한 다음 동일한 자동 회귀 언어 모델 신경망을 사용하여 출력 시퀀스를 평가하는 하나 이상의 위치에 있는 하나 이상의 컴퓨터에서 컴퓨터 프로그램으로 구현된 시스템을 설명한다. 따라서 시스템은 동일한 자동 회귀 신경망을 사용하여 시퀀스를 생성하고 생성된 시퀀스를 "구별(discriminate)"하여 주어진 요청에 응답하여 어떤 시퀀스를 제공할지 결정한다.
본 명세서에 설명된 요지는 다음 장점 중 하나 이상을 실현하기 위해 특정 실시예에서 구현될 수 있다.
설명된 기술을 사용하면 자동 회귀 언어 모델 신경망을 생성기와 판별기로 사용, 즉, 출력 시퀀스를 생성하고 해당 출력 시퀀스가 하나 이상의 기준을 얼마나 잘 만족하는지 평가하는 데 사용할 수 있다.
별도의 생성기 및 판별기 모델을 사용하는 것에 비해, 생성기와 판별기 모두의 기능을 모두 수행할 수 있는 단일 모델을 사용하면 후보 생성과 관련된 추가 계산 오버헤드를 최소화하면서 후보 출력을 정확하게 평가할 수 있다. 즉, 시스템은 별도의 생성기 모델을 사용하여 시퀀스를 평가하는 것에 비해 훨씬 적은 추가 지연 시간과 훨씬 적은 추가 메모리를 사용하면서 생성된 시퀀스를 평가할 수 있다.
예를 들어, 일부 경우에, 언어 모델 신경망은 메모리 공간이 제한된 장치, 즉 사용 가능한 메모리에 상당한 제약이 있는 장치 또는 낮은 디코딩 대기 시간이 필요한 장치(예를 들어, 모바일 장치, 스마트 스피커 또는 기타 사물 인터넷(IoT) 장치와 같은 에지 장치에 있거나 로봇이나 기타 물리적 시스템에 내장된 장치)에 배포될 수 있다. 이러한 경우, 시스템은 추가 계산 오버헤드를 최소화하면서 장치 내 신경망에서 생성된 시퀀스를 평가할 수 있으므로, 수신된 요청에 응답하여 제공되는 출력 시퀀스의 품질을 향상시키면서 장치 내에서 프로세싱을 계속 수행하고 네트워크를 통한 추가 데이터 통신이 필요하지 않는다. 즉, 언어 모델 신경망이 생성기와 판별기로 모두 사용되기 때문에 에지 장치는 메모리나 대기 시간 제약을 초과하지 않고 장치 내에서 로컬로 평가를 수행할 수 있다.
또한, 필터링된 데이터를 사용하여 특정 태스크를 잘 수행하도록 모델을 미세 조정하기 전에 이 단일 모델을 사용하여 태스크별 미세 조정(fine-tuning) 데이터를 필터링할 수 있다. 미세 조정을 마친 후, 언어 모델 신경망에 의해 생성된 출력 시퀀스의 품질은 상당한 양의 표준 이하 출력(sub-standard outputs) 없이 트레이닝 데이터에 대해 언어 모델이 미세 조정되었기 때문에 크게 향상될 수 있다.
본 명세서의 요지에 대한 하나 이상의 실시예의 세부사항은 첨부 도면 및 아래 설명에서 설명된다.
요지의 다른 특징, 측면 및 이점은 설명, 도면 및 청구범위로부터 명백해질 것이다.
도 1은 예시적인 신경망 시스템의 다이어그램이다.
도 2는 기준 평가 시스템의 일례를 나타내는 도면이다.
도 3은 후보 출력 시퀀스를 평가하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 기준 평가 시스템의 다른 예를 도시한 도면이다.
도 5는 후보 출력 시퀀스를 평가하기 위한 또 다른 예시적인 프로세스의 흐름도이다.
다양한 도면에서 유사한 참조 번호 및 지정은 유사한 요소를 나타낸다.
도 1은 예시적인 신경망 시스템(100)의 다이어그램이다. 신경망 시스템(100)은 하나 이상의 위치에 있는 하나 이상의 컴퓨터에 컴퓨터 프로그램으로 구현되는 시스템의 예이며, 여기서 설명되는 시스템, 컴포넌트 및 기술이 구현될 수 있다.
신경망 시스템(100)은 수신된 요청에 응답하여 출력 시퀀스(150)를 생성하는 시스템이다.
예를 들어, 시스템(100)은 프롬프트 없이, 즉 임의의 사용자 지정 컨텍스트 입력에 대한 컨디셔닝(conditioning) 없이 출력 시퀀스(150)를 생성하는 출력 시퀀스 생성 시스템일 수 있다. 이러한 구현에서, 시스템(100)에 의해 생성된 출력 시퀀스는 시스템(100)의 트레이닝 동안 사용되었던 트레이닝 출력 시퀀스 분포의 샘플에 가깝다.
예로서, 시스템(100)은 텍스트 시퀀스를 생성하는 텍스트 생성 시스템일 수 있으며, 즉, 시스템(100)에 의해 생성된 각각의 출력 시퀀스(150)는 예를 들어 자연어 텍스트에 나타나는 하나 이상의 문자, 하위 단어, 단어, 문장 부호, 숫자 또는 기타 기호를 포함하는 텍스트 토큰들의 어휘로부터의 텍스트 토큰들의 시퀀스이다. 예를 들어, 시스템(100)은 수신된 요청에 응답하여 텍스트 시퀀스를 생성하고 사용자에게 표시할 텍스트 시퀀스를 제공할 수 있다.
다른 예로서, 시스템(100)은 이미지를 픽셀의 시퀀스로 생성하는 이미지 생성 시스템일 수 있으며, 즉, 시스템(100)에 의해 생성된 각 출력 시퀀스(150)는 지정된 순서에 따라 배열된 출력 이미지의 픽셀에 대한 색상 값의 시퀀스이다.
다른 예로서, 시스템(100)은 요청의 일부로서 컨텍스트 시퀀스(102)를 수신하고, 컨텍스트 시퀀스(102)에 대한 응답인 출력 시퀀스(150)를 생성할 수 있다.
구체적인 예로, 시스템(100)은 대화 시스템의 일부일 수 있고, 컨텍스트 시퀀스(102)는 대화 동안 대화 시스템의 사용자에 의해 제출된 가장 최근 대화 턴(conversational turn)의 오디오 또는 텍스트를 포함할 수 있으며, 출력 시퀀스(150)는 대화의 다음 턴이다(예: 가장 최근의 대화 턴에 대한 응답인 텍스트 또는 오디오). 선택적으로, 컨텍스트 시퀀스(102)는 대화 초기에 발생한 하나 이상의 과거 대화 턴을 포함할 수도 있다.
또 다른 구체적인 예로서, 시스템(100)은 기계 번역 시스템의 일부일 수 있고, 컨텍스트 시퀀스(102)는 소스 언어의 텍스트를 포함할 수 있는 반면, 출력 시퀀스(150)는 소스 텍스트를 타겟 언어로 번역한 타겟 언어의 텍스트이다.
또 다른 구체적인 예로서, 시스템(100)은 컴퓨터 코드 생성 시스템의 일부일 수 있고, 컨텍스트 시퀀스(102)는 프로그래밍 언어로 된 컴퓨터 코드의 스니펫(snippet) 또는 원하는 코드 피스(piece)의 텍스트 설명일 수 있으며, 출력 시퀀스(150)는 컴퓨터 코드, 예를 들어 컨텍스트 시퀀스(102)에 의해 설명되는 코드의 스니펫 또는 컴퓨터 프로그램에서 컨텍스트 시퀀스(102)를 따르는 코드의 스니펫일 수 있다.
보다 구체적으로, 시스템(100)은 출력 시퀀스(150)에 대한 요청을 수신하고, 이에 응답하여 자동 회귀 언어 모델 신경망(110)을 사용하여 하나 이상의 후보 출력 시퀀스(120)(즉, 컨텍스트 시퀀스(102)에 따라 컨디셔닝되거나, 비컨디셔닝된(unconditioned))를 생성한다.
각각의 후보 출력 시퀀스(120)는 복수의 위치 각각에 있는 토큰의 어휘(vocabulary)으로부터의 개별 토큰을 포함한다. 토큰의 어휘에는 텍스트 기호나 기타 기호를 나타내는 다양한 토큰이 포함될 수 있다. 예를 들어, 토큰의 어휘에는 자연어 텍스트 코퍼스(corpus)에 나타나는 문자, 하위 단어, 단어, 문장 부호, 숫자 또는 기타 기호 중 하나 이상이 포함될 수 있다.
언어 모델 신경망(110)은 자동 회귀 신경망(uto-regressive neural network)이라고 하는데, 그 이유는 신경망(110)이 출력 시퀀스에서 특정 텍스트 토큰 앞에 오는 모든 토(즉, 특정 토큰의 특정 위치 앞에 있는 출력 시퀀스의 이전 위치에 대해 이미 생성된 토큰)큰을 포함하는 현재 입력 시퀀스에 따라 출력 시퀀스의 각 특정 토큰을 생성함으로써 토큰의 출력 시퀀스를 자동 회귀적으로 생성하기 때문이다. 시스템(100)이 컨텍스트 시퀀스(102)도 수신할 때, 현재 입력 시퀀스는 또한 컨텍스트 시퀀스(102)를 포함할 수 있다. 예를 들어, 출력 시퀀스의 임의의 주어진 위치에서 토큰을 생성할 때 현재 입력 시퀀스는 컨텍스트 시퀀스(102) 및 출력 시퀀스의 주어진 위치보다 앞선 임의의 선행 위치에 있는 토큰을 포함할 수 있다. 구체적인 예로, 현재 입력 시퀀스는 컨텍스트 시퀀스(102), 컨텍스트 시퀀스(102)에 이어 컨텍스트 시퀀스(102)에 대한 응답이 생성되어야 함을 신경망(110)에 표시하는 미리 결정된 토큰 시퀀스를 나타내는 "센티넬(sentinel)" 시퀀스, "센티넬(sentinel)" 시퀀스에 이어 출력 시퀀스에서 주어진 위치보다 앞선 위치에 있는 토큰을 포함할 수 있다. 선택적으로, 서브시퀀스는 현재 입력 시퀀스 내에서 미리 결정된 토큰(예: "<" and ">" 토큰)으로 분리될 수 있다.
보다 구체적으로, 후보 출력 시퀀스(120) 내의 특정 위치에 특정 토큰을 생성하기 위해, 신경망(110)은 토큰의 어휘의 각 토큰에 각각의 점수, 예를 들어 각각의 확률을 할당하는 점수 분포(예를 들어 확률 분포)를 생성하기 위해 현재 입력 시퀀스를 프로세싱할 수 있다. 그런 다음 신경망(110)은 점수 분포(score distribution)를 사용하여 어휘로부터 토큰을 특정 토큰으로 선택할 수 있다. 예를 들어, 신경망(110)은 가장 높은 점수를 받은 토큰을 우선적으로 선택할 수 있거나, 예를 들어 누클리우스 샘플링(nucleus sampling) 또는 다른 샘플링 기술을 사용하여 분포로부터 토큰을 샘플링할 수 있다.
구체적인 예로, 언어 모델 신경망(110)은 (i) 각각 셀프-어텐션(self-attention) 연산을 적용하는 복수의 어텐션 블록 및 (ii) 마지막 어텐션 블록의 출력을 프로세싱하여 점수 분포를 생성하는 출력 서브네트워크를 포함하는 자동 회귀 트랜스포머(Transformer) 기반 신경망일 수 있다.
신경망(110)은 다양한 트랜스포머 기반 신경망 아키텍처 중 하나를 가질 수 있다. 이러한 아키텍처의 예에는 "Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J Liu. Exploring the limits of transfer learning with a unified text-to-text transformer. arXiv preprint arXiv:1910.10683, 2019; Daniel Adiwardana, Minh-Thang Luong, David R. So, Jamie Hall, Noah Fiedel, Romal Thoppilan, Zi Yang, Apoorv Kulshreshtha, Gaurav Nemade, Yifeng Lu, and Quoc V. Le. Towards a human-like open-domain chatbot. CoRR, abs/2001.09977, 2020; 및 Tom B Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. Language models are few-shot learners. arXiv preprint arXiv:2005.14165, 2020"에 설명된 것이 포함된다.
그러나 일반적으로 트랜스포머 기반 신경망은 어텐션 블록의 시퀀스를 포함하며, 주어진 입력 시퀀스를 프로세싱하는 동안 시퀀스의 각 어텐션 블록은 주어진 입력 시퀀스의 각 입력 토큰에 대한 개별 입력 은닉 상태를 수신한다. 그런 다음 어텐션 블록은 셀프-어텐션을 적용하여 각 입력 토큰에 대한 해당 출력 은닉 상태를 생성함으로써 각 은닉 상태를 적어도 부분적으로 업데이트한다. 제1 어텐션 블록에 대한 입력 은닉 상태는 입력 시퀀스에 입력 토큰이 임베딩된 것이며, 각 후속 어텐션 블록에 대한 입력 은닉 상태는 이전 어텐션 블록에 의해 생성된 출력 은닉 상태이다.
이 예에서, 출력 서브네트워크는 입력 시퀀스의 마지막 입력 토큰에 대해 시퀀스의 마지막 어텐션 블록에 의해 생성된 출력 은닉 상태를 프로세싱하여 점수 분포를 생성한다.
일부 구현에서, 시스템(100) 또는 다른 트레이닝 시스템은 언어 모델링 태스크, 예를 들어 텍스트 토큰의 현재 시퀀스가 주어지면 트레이닝 데이터의 현재 시퀀스를 따르는 다음 토큰을 예측해야 하는 태스크에 대해 언어 모델 신경망(110)을 사전 트레이닝한다. 특정 예로서, 언어 모델 신경망(110)은 예를 들어 인터넷이나 다른 텍스트 코퍼스에서 공개적으로 이용 가능한 텍스트와 같은 대규모 텍스트 데이터세트에 대한 최대 가능성 목표(maximum-likelihood objective)에 대해 사전 트레이닝될 수 있다.
일반적으로, 신경망(110)은 자기회귀적이기 때문에, 시스템(100)은 예를 들어, 신경망(110)에 의해 생성된 점수 분포로부터 빔 검색 디코딩을 사용하거나, 샘플 및 순위 디코딩(Sample-and-Rank decoding) 전략을 사용하거나, 신경망의 자동 회귀 특성을 활용하는 다른 디코딩 전략을 사용함으로써, 동일한 요청에 응답하여 복수의 서로 다른 후보 출력 시퀀스(120)를 생성하기 위해 동일한 신경망(110)을 사용할 수 있다.
복수의 후보 출력 시퀀스(120)가 생성될 때, 시스템(100)은 요청에 응답하여 출력 시퀀스(150)로서 제공할 복수의 시퀀스 중 어느 것을 결정할 필요가 있다. 또한, 단일 출력 시퀀스만 생성되더라도 일부 후보 출력 시퀀스(120)는 최종 출력 시퀀스(150)로 제공되기에 적합하지 않다.
주어진 요청에 응답하는 방법을 결정하기 위해, 즉, 어떤 후보 출력 시퀀스(120)가 요청에 응답하여 제공할지 결정하기 위해, 시스템(100)은 각각 주어진 출력 시퀀스의 해당 속성을 측정하는 하나 이상의 기준 세트("출력 시퀀스 기준")를 지정하는 데이터를 유지한다.
기준 세트는 시스템(100)이 수행하도록 구성된 태스크의 관점에서 주어진 후보 출력 시퀀스의 품질과 관련된 속성을 측정하는 다양한 기준 중 임의의 것을 포함할 수 있다.
예를 들어, 기준 세트는 출력 시퀀스의 민감도(sensibleness)에 해당하는 기준을 포함할 수 있다. 민감도 기준(sensibleness criterion)은 모델의 응답이 합리적인지 여부, 즉 신경망(110)에 의해 생성된 주어진 후보 출력 시퀀스가 예를 들어 컨텍스트 시퀀스(102)에 대한 응답으로서 현재 상호 작용(interaction)의 컨텍스트에서 의미가 있는지 여부 그리고 현재 상호작용 동안 컨텍스트 시퀀스(102) 또는 이전 시퀀스의 정보와 모순되지 않는지를 측정한다. 따라서 출력 시퀀스가 합리적인 경우 출력 시퀀스는 이 기준을 만족한다.
또 다른 예로서, 기준 세트는 출력 시퀀스의 특이성(specificity)에 대응하는 기준을 포함할 수 있다. 특이성 기준(specificity criterion)은 모델의 응답이 구체적인지 여부, 즉 신경망(110)에 의해 생성된 주어진 후보 출력 시퀀스가 임의의 다양한 컨텍스트 시퀀스에 적용될 수 있는 일반적인 응답이 아닌 해당 컨텍스트 시퀀스(102)에 특정한지 여부를 측정한다. 예를 들어, 컨텍스트 시퀀스(102)가 "I love television(나는 텔레비전을 좋아해요)"이고, 모델이 "Me too(나도)"라고 응답한다면, 이 응답은 다양한 컨텍스트에서 사용될 수 있으므로 특이성 측면에서 낮은 점수(예: 0점)를 받게 된다. 모델이 "Me too. I love watching reality shows(나도. 나는 리얼리티 쇼를 보는 것을 좋아한다.)"라고 응답하면 특이성에서 더 높은 점수를 받을 것이다.
또 다른 예로서, 기준 세트는 출력 시퀀스의 흥미도(interestingness)에 해당하는 기준을 포함할 수 있다. 흥미도 기준(interestingness criterion)은 모델의 응답이 흥미로운지 여부, 즉 신경망(110)에 의해 생성된 주어진 후보 출력 시퀀스가 해당 컨텍스트 시퀀스(102)를 생성한 인간에게 흥미로운지 여부를 측정한다. 예를 들어, "How do I throw a ball?(공을 어떻게 던지지?)"에 대한 응답은 "You can throw a ball by first picking it up and then throwing it.(공을 먼저 집어 던짐으로써 공을 던질 수 있다)"라고 할 수 있다. 대체적이고 더 흥미로운 응답(대답)은 "One way to toss a ball is to hold it firmly in both hands and then swing your arm down and up again, extending your elbow and then releasing the ball upwards.(공을 던지는 한 가지 방법은 공을 양손으로 단단히 잡은 다음 팔을 위아래로 휘두르며 팔꿈치를 뻗은 다음 공을 위쪽으로 놓는 것이다.)"가 될 수 있다. 초기 응답은 의미가 있고 질문에 구체적이지만 질문을 제기한 사람에게는 흥미롭거나 유익하지 않을 가능성이 높다. 반면에 대체 응답은 질문에 답하는 추가 정보를 제공하므로 초기 응답보다 흥미도 기준에서 더 높은 점수를 얻는다.
위 기준 대신에 또는 추가로 다른 기준이 포함될 수 있다. 예를 들어, 다른 기준은 주어진 출력 시퀀스가 요청에 응답하여 제공되기에 적합한 정도를 측정하는 적합도 기준(suitability criterion)을 포함할 수 있다.
시스템(100)은 기준 평가 시스템(130)을 사용하여 세트 내의 하나 이상의 기준 각각에 대해 각각의 평가 점수(rating score)(140)를 생성한다. 주어진 기준에 대한 평가 점수(140)는 자동 회귀 언어 모델 신경망(110)에 의해 생성된 후보 출력 시퀀스(120)가 기준을 만족하는 정도를 측정한다.
일반적으로, 기준 평가 시스템(130)은 언어 모델 신경망(110)의 출력을 사용하여 계산적으로 효율적이지만 정확한 방식으로 평가 점수(140)를 생성한다.
세트 내의 하나 이상의 기준에 대한 평가 점수(140)를 생성하기 위해 신경망(110)을 사용하는 예시적인 기술이 도 2 내지 도 5를 참조하여 아래에서 설명될 것이다.
즉, 평가 점수(rating scores)(140)를 생성하기 위해 별도로 트레이닝된 기계 학습 모델만을 사용하는 것이 아니라, 시스템(130)은 평가 점수(140)의 정확성과 평가 점수(140)를 생성하는 계산 효율성을 모두 향상시키기 위해 신경망(110)을 활용한다.
일단 평가 점수(140)가 생성되면, 시스템(100)은 다양한 방식으로 요청에 응답하여 평가 점수(140)를 사용하여 후보 출력 시퀀스(120)를 제공할지 여부를 결정할 수 있다.
예를 들어, 시스템(100)이 복수의 후보 출력 시퀀스를 생성하는 구현에서, 시스템(100)은 후보 출력 시퀀스 각각에 대해, 세트 내의 기준 중 하나 이상에 대한 후보 출력 시퀀스에 대한 각각의 평가 점수(140)로부터 각각의 품질 점수를 생성할 수 있다. 예를 들어, 주어진 후보 출력 시퀀스에 대한 품질 점수는 하나 이상의 기준에 대한 평가 점수(140)의 합 또는 가중 합(weighted sum)일 수 있다.
그러면 시스템(100)은 요청에 응답하여 제공될 시퀀스로서, 각각의 품질 점수가 가장 높은 후보 출력 시퀀스(120)를 선택할 수 있다.
다른 예로서, 시스템(100)은 기준의 적어도 서브세트에 대한 각각의 임계값을 유지할 수 있다. 이 예에서, 서브세트의 각 기준에 대해, 시스템(100)은 주어진 후보 출력 시퀀스(120)에 대해, 세트 내의 기준에 대한 주어진 후보 출력 시퀀스에 대한 각각의 품질 점수가 기준에 대한 임계값을 만족하는지(예를 들어 초과하는지) 여부를 결정한 다음, 세트의 제1 출력 기준에 대한 주어진 후보 출력 시퀀스에 대한 각각의 품질 점수가 임계값을 만족하지 않는 경우(주어진 후보 출력 시퀀스가 가장 높은 품질 점수를 가지더라도) 요청에 응답하여 주어진 후보 출력 시퀀스를 제공하지 않기로 결정할 수 있다.
요청에 응답하는 방법을 결정하기 위해 시스템(130)을 사용하는 것 외에 또는 대신에, 시스템(100)은 또한 필터링된 데이터가 특정 태스크를 잘 수행하도록 신경망(110)을 미세 조정(fine-tune)하는 데 사용되기 전에 시스템(130)을 사용하여 태스크별 미세 조정 데이터(task-specific fine-tuning data)를 필터링할 수 있다.
특히, 시스템(100)은 트레이닝 출력 시퀀스 세트 및 선택적으로 각 트레이닝 출력 시퀀스에 대한 해당 컨텍스트 시퀀스를 포함하는 태스크별 미세 조정 데이터를 얻을 수 있다. 그 다음, 시스템(130)은 트레이닝 출력 시퀀스 각각에 대한 평가 점수를 생성하고 평가 점수를 사용하여 미세 조정 데이터에서 하나 이상의 트레이닝 출력 시퀀스를 필터링할 수 있다. 예를 들어, 시스템(130)은 임계값보다 낮은 품질 점수를 갖는 임의의 트레이닝 출력 시퀀스를 필터링하기로 결정할 수 있다. 다른 예로서, 시스템(130)은 기준의 지정된 서브세트의 각 기준에 대해, 다른 임계값 미만의 평가 점수를 갖는 임의의 트레이닝 출력 시퀀스를 필터링하도록 결정할 수 있다. 이러한 트레이닝 출력 시퀀스를 필터링하여, 시스템은 미세 조정 데이터의 출력 시퀀스의 전반적인 품질을 향상시키므로, 미세 조정 후에 언어 모델 신경망(110)에 의해 생성된 출력 시퀀스의 품질이 크게 향상될 수 있다.
도 2는 기준 평가 시스템(130)의 일례의 도면이다.
도 2에 도시된 바와 같이, 기준 평가 시스템(130)은 하나 이상의 기준 각각에 대한 각각의 기준 엔진(220A-N)을 포함한다.
각각의 기준 엔진(220A-N)은 후보 출력 시퀀스(120)를 수신하고 해당 기준에 대한 평가 점수(140)를 생성한다. 평가 점수(140)는 자동 회귀 언어 모델 신경망(110)에 의해 생성된 후보 출력 시퀀스(120)가 기준을 만족하는 정도를 나타낸다.
평가 점수(140)를 생성하기 위해, 각각의 기준 엔진(220A-N)은 후보 출력 시퀀스(120)를 수신하고, 후보 출력 시퀀스(120) 및 기준을 지정하는 어휘로부터 하나 이상의 토큰의 미리 결정된 시퀀스(기준이 평가되는 자동 회귀 신경망(110)에 대한 식별 토큰의 시퀀스)에 기초하여 입력 시퀀스(230)를 생성한다. 보다 구체적으로, 하나 이상의 기준을 평가하기 위해 신경망(110)을 사용하기 전에, 시스템은 입력으로서 각 기준에 대한 각각의 토큰 시퀀스를 수신한다. 예를 들어, 토큰 시퀀스는 해당 기준에 대한 자연어 이름 또는 기타 식별자일 수 있으며, 예를 들어 "특이성(specificity)"이라는 단어는 특이성 기준을 나타낼 수 있고 "흥미도(interestingness)"이라는 단어는 흥미도 기준을 나타낼 수 있다.
특히, 주어진 기준에 대한 입력 시퀀스(230)는 출력 시퀀스 기준을 지정하는 하나 이상의 토큰이 뒤따르는 후보 출력 시퀀스(120)를 포함한다. 시스템(100)이 또한 컨텍스트 시퀀스(102)를 수신할 때, 입력 시퀀스(230)는 또한 컨텍스트 시퀀스를 포함할 수 있다.
특정 예로서, 입력 시퀀스(230)는 <context> <sentinel> <response> <attribute-name>과 같은 형태일 수 있으며, 여기서 "컨텍스트(context)"는 컨텍스트 시퀀스(102)를 나타내고, "센티넬(sentinel)"은 컨텍스트 시퀀스(102)에 대한 응답이 생성되어야 함을 신경망(110)에 표시하는 미리 결정된 토큰 시퀀스를 나타내고, "응답(response)"은 후보 출력 시퀀스(120)이고, " attribute-name(속성 이름)”은 기준을 지정하는 토큰이다.
그런 다음 시스템(130)은 신경망(110)을 사용하여 입력 시퀀스(230)를 프로세싱하여 어휘(vocabulary)의 각 토큰에 대한 개별 점수를 생성한다. 신경망(110)은 후보 출력 시퀀스(120)를 생성하기 위해 이미 컨텍스트 시퀀스(102)를 프로세싱했기 때문에, 이 프로세싱("판별기(discriminator) 평가"라고도 함)은 단순히 후보 출력 시퀀스(120)의 생성 중에 생성된 은닉 상태를 재사용하면서 후보 출력 시퀀스(120) 뒤에 추가된 하나 이상의 추가 토큰 "<attribute-name>"을 프로세싱하는 것을 포함한다. 이는 기준의 평가를 위해 다른 신경망을 사용하는 것과 대조적이며 훨씬 더 계산적으로 효율적인데, 이는 후보 출력 시퀀스(102)를 정확하게 점수화(스코어링)하기 위해 서로 다른 신경망이 컨텍스트(102) 및 후보 출력 시퀀스(120)의 모든 토큰을 프로세싱해야 하기 때문이다.
따라서, 각 엔진(220A-N)은 서로 다른 입력 시퀀스(230)를 생성하고 신경망(110)을 사용하여 토큰의 어휘에 대한 해당 점수 분포를 생성한다.
그 후, 각각의 엔진(220A-N)은 토큰의 어휘의 해당 고유 서브세트(proper subset)에 있는 토큰에 대한 각각의 점수로부터, 평가 점수(140)를 결정한다.
즉, 각 기준은 어휘에 있는 하나 이상의 토큰의 해당 고유 서브세트를 갖는다.
각 평가 점수의 범위가 동일한 경우 해당 고유 서브세트는 동일할 수 있다.
서로 다른 평가 점수의 범위가 서로 다른 경우 해당 고유 서브세트도 다를 수 있다. 예를 들어 평가 점수가 0에서 1 사이인 경우, 엔진(220A-N)은 토큰 "1"에 대한 점수를 평가 점수(140)로 사용할 수 있다. 더 일반적으로, 엔진(220A-N)에서 시스템은 평가 점수의 각각의 가능한 GT(ground truth) 값의 가중 합과 동일하게 평가 점수(140)를 계산할 수 있으며, 각각의 GT(ground truth) 값에 대한 가중치는 어휘의 GT(ground truth) 값을 나타내는 토큰에 대한 점수가 된다.
따라서, 도 2에 도시된 바와 같이, 시스템(130)은 계산적으로 효율적인 방식으로 신경망(110)을 사용하여 하나 이상의 기준에 대한 평가 점수(140)를 생성하는 데, 이는 평가 점수(140)를 생성하려면 신경망(110)이 기준당 몇 개의 추가 토큰을 프로세싱하기만 하면 되기 때문이다.
평가 점수를 생성하기 위해 신경망(110)을 사용하기 전과 신경망(110)을 사전 트레이닝시킨 후, 시스템(130) 또는 다른 트레이닝 시스템은 신경망(110)이 평가 점수를 정확하게 생성하도록 하기 위해, 즉 미세 조정을 위한 트레이닝 데이터 세트로부터 트레이닝 예의 배치(batche)에 대해 트레이닝 단계를 반복적으로 수행함으로써 신경망(110)을 미세 조정한다.
각 트레이닝 예에는 (i) 트레이닝 출력 시퀀스와 그 뒤를 잇는 (ii) 기준 세트에서 특정 기준을 지정하는 하나 이상의 토큰을 포함하는 트레이닝 입력 시퀀스가 포함된다. 각각의 트레이닝 예는 또한 트레이닝 출력 시퀀스가 특정 출력 시퀀스 기준을 만족시키는 정도를 나타내는 해당 출력 시퀀스 기준에 대한 GT 평가 점수를 포함한다. GT 평가 점수는 예를 들어 사용자가 출력 시퀀스를 수동으로 라벨링한 결과 또는 다른 자동 라벨링 시스템의 출력으로 얻을 수 있다.
트레이닝 단계를 수행하기 위해, 시스템, 즉 시스템(130) 또는 다른 트레이닝 시스템은 하나 이상의 트레이닝 예의 배치를 획득한다. 예를 들어, 시스템은 미세 조정 트레이닝 프로세스를 위해 더 큰 트레이닝 예 세트에서 배치를 샘플링할 수 있다.
배치의 각 트레이닝 예에 대해, 시스템은 자동 회귀 언어 모델 신경망을 사용하여, 트레이닝 예의 트레이닝 입력 시퀀스를 프로세싱하여 어휘의 각 토큰에 대한 해당 점수를 생성한다.
그런 다음 시스템은 자동 회귀 언어 모델 신경망을 트레이닝하여, 배치의 각 트레이닝 예에 대해 (i) 트레이닝 예에 대해 생성된 어휘의 토큰에 대한 각 점수와 (ii) 트레이닝 예에 대한 GT 평가 점수를 산출하는 어휘의 토큰에 대한 GT 점수 세트 사이의 에러를 측정하는 손실 함수를 최소화한다. 예를 들어, 손실 함수는 음의 로그 우도 손실(negative log likelihood loss) 또는 교차 엔트로피 손실(cross-entropy loss)일 수 있다.
특히, 시스템은 예를 들어 역전파에 의해 신경망(110)의 파라미터에 대한 손실 함수의 기울기(gradient)를 계산할 수 있다. 그런 다음 시스템은 업데이트를 생성하기 위해 계산된 기울기에 최적화기(optimizer)를 적용한 다음 파라미터의 현재 값에서 업데이트를 빼거나(subtracting) 업데이트를 추가하여 신경망(110)의 파라미터를 업데이트할 수 있다.
시스템은 계산적으로 효율적인 방식으로 이러한 미세 조정을 수행할 수 있는데, 이는 손실이 트레이닝 입력 시퀀스의 이전 위치의 예측에 대한 손실을 적용하지 않고 손실 함수로 측정된 에러, 즉 예측 평가 점수에만 적용되기 때문이다.
전술한 바와 같이, 미세 조정(fine-tuning)이 수행된 후, 시스템(130) 또는 다른 트레이닝 시스템은 신경망(110)을 추가로 미세 조정하는 데 사용되는 필터링된 트레이닝 데이터 세트를 생성하기 위해 엔진(210A-N)을 사용할 수도 있다.
도 3은 후보 출력 시퀀스를 평가하기 위한 예시적인 프로세스(300)의 흐름도이다. 편의상, 프로세스(300)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 신경망 시스템, 예를 들어 본 명세서에 따라 적절하게 프로그래밍된 도 1에 도시된 신경망 시스템(100)은 프로세스(300)를 수행할 수 있다.
시스템은 출력 시퀀스에 대한 요청을 수신한다(단계 302). 일부 구현에서, 요청은 컨텍스트 시퀀스를 포함하고, 요청은 컨텍스트 시퀀스에 대한 응답에 대한 것이다.
시스템은, 자동 회귀 언어 모델 신경망을 사용하여, 토큰의 어휘에서 각각 선택된 복수의 토큰을 포함하는 제1 후보 출력 시퀀스를 생성한다(단계 304). 전술한 바와 같이, 일부 구현에서, 시스템은 신경망을 사용하여 복수의 후보 출력 시퀀스를 생성하며, 즉, 제1 후보 출력 시퀀스에 추가하여 하나 이상의 추가 후보 출력 시퀀스도 생성한다.
하나 이상의 출력 시퀀스 기준의 세트의 각 출력 시퀀스 기준에 대해, 시스템은, 자동 회귀 언어 모델 신경망을 사용하여, (i) 제1 후보 출력 시퀀스에 이어 (ii) 어휘의 각 토큰에 대한 개별 점수를 생성하기 위해 출력 시퀀스 기준을 지정하는 하나 이상의 토큰을 포함하는 입력 시퀀스를 프로세싱한다(단계 306). 요청이 컨디셔닝(conditioning) 시퀀스를 지정하는 경우, 입력 시퀀스에는 컨디셔닝 시퀀스도 포함된다.
각 출력 시퀀스 기준에 대해, 시스템은 토큰의 어휘의 해당 고유 서브세트에 있는 토큰에 대한 각각의 점수로부터, 자동 회귀 언어 모델 신경망에 의해 생성된 제1 후보 출력 시퀀스가 출력 시퀀스 기준을 만족시키는 정도를 나타내는 제1 후보 출력 시퀀스에 대한 각각의 평가 점수를 결정한다(단계 308).
점수는 예를 들어 (i) 제1 후보 출력 시퀀스에 이어 (ii) 자동 회귀 언어 모델 신경망의 다중 카피를 사용하여 점수에 대한 각각의 출력 시퀀스 기준을 지정하는 하나 이상의 토큰을 각각 포함하는 복수의 입력 시퀀스를 프로세싱함으로써 병렬로 생성될 수 있다. 이러한 병렬화는 평가 점수가 더 빨리 결정되도록 하여, 후보 출력 시퀀스에 기초한 출력이 더 빠르게 제공되도록 할 수 있다.
추가 후보 출력 시퀀스가 생성되면, 시스템은 또한 단계 306 및 308을 수행하여 추가 후보 출력 시퀀스 각각에 대한 각각의 평가 점수를 생성한다.
그 다음, 시스템은 하나 이상의 출력 시퀀스 기준에 대한 제1 후보 출력 시퀀스에 대한 각각의 평가 점수를 사용하여 요청에 응답하여 제1 후보 출력 시퀀스를 제공할지 여부를 결정한다(단계 310). 예를 들어, 시스템은 도 1을 참조하여 전술한 바와 같이 이러한 결정을 내릴 수 있다.
도 4는 기준 평가 시스템(130)의 다른 예를 도시한 도면이다.
도 4에 도시된 바와 같이, 기준 평가 시스템(130)은 하나 이상의 기준 각각에 대해 각각의 평가 점수(140)를 생성하는 분류기(460)를 포함한다.
특히, 도 2에 도시된 바와 같이, 언어 모델 신경망(110)은 제1 서브네트워크(430) 및 출력 서브네트워크(450)를 포함한다.
제1 서브네트워크(430)는 복수의 입력 토큰을 포함하는 입력 시퀀스를 프로세싱하여 입력 토큰 각각에 대해 각각의 은닉 상태(440)를 생성하도록 구성된다.
출력 서브네트워크(450)는 특정 위치 바로 앞의 위치에서 입력 토큰에 대한 각각의 은닉 상태를 프로세싱하여 토큰들의 어휘의 각 토큰에 대한 각각의 점수를 생성하고, 각각의 점수를 사용하여 제1 후보 출력 시퀀스의 특정 위치에 있는 토큰으로서 어휘의 토큰들 중 하나를 선택한다.
예를 들어, 전술한 바와 같이, 신경망(110)은 각각 셀프-어텐션 메커니즘을 적용하는 복수의 어텐션 블록을 포함하는 트랜스포머 기반 신경망일 수 있다. 보다 구체적으로, 이 예에서, 트랜스포머 기반 신경망은 어텐션 블록의 시퀀스를 포함하며, 주어진 입력 시퀀스를 프로세싱하는 동안, 시퀀스의 각 어텐션 블록은 주어진 입력 시퀀스의 각 입력 토큰에 대한 개별 입력 은닉 상태를 수신하고 그리고 각 입력 토큰에 대해 각각의 출력 은닉 상태를 생성하기 위해 셀프-어텐션을 적용하여 각 은닉 상태를 적어도 부분적으로 업데이트한다. 제1 어텐션 블록에 대한 입력 은닉 상태는 입력 토큰의 임베딩이며, 각 후속 어텐션 블록에 대한 입력 은닉 상태는 이전 어텐션 블록에 의해 생성된 출력 은닉 상태이다.
이 예에서, 어텐션 블록은 제1 서브네트워크(410)의 일부이고, 은닉 상태(440)는 시퀀스의 마지막 어텐션 블록에 의해 생성된 출력 은닉 상태이다.
출력 서브네트워크(450)는 예를 들어 입력 시퀀스의 마지막 입력 토큰에 대한 은닉 상태(440)를 프로세싱하여 토큰들의 어휘의 각 토큰에 대한 개별 점수를 생성하는 하나 이상의 완전 연결 계층(fully-connected layer)을 포함할 수 있다. 특정 예로서, 출력 서브네트워크(450)는 하나 이상의 선형 신경망 계층과 그 뒤에 소프트맥스 출력 계층을 포함할 수 있다.
도 4의 예에서, 평가 점수(140)을 생성하기 위해, 시스템(130)은 입력 시퀀스(420)의 각 입력에 대해 각각의 은닉 상태(440)를 생성하기 위해 제1 서브네트워크(430)를 사용하여 입력 시퀀스(420)를 프로세싱한다.
특히, 입력 시퀀스(420)는 후보 출력 시퀀스(120)의 모든 위치의 모든 토큰을 포함하는 복수의 입력 토큰을 포함한다. 즉, 입력 시퀀스(420)는 후보 출력 시퀀스(120) 전체를 포함한다. 시스템(100)이 또한 컨텍스트 시퀀스(102)를 수신할 때, 입력 토큰은 또한 컨텍스트 시퀀스(102)로부터의 토큰을 포함한다.
예를 들어, 입력 시퀀스(420)는 <context> <sentinel> <response>와 같은 형식일 수 있으며, 여기서 "컨텍스트(context)"는 컨텍스트 시퀀스(102)를 나타내고, "센티넬(sentinel)"은 컨텍스트 시퀀스(102)에 대한 응답이 생성되어야 함을 신경망(110)에 표시하는 미리 결정된 토큰 시퀀스를 나타내며, "응답(response)"은 후보 출력 시퀀스(120)이다.
가변 길이 출력 시퀀스를 생성하는 많은 자동 회귀 신경망(110)의 경우, 주어진 출력 시퀀스는 주어진 시간 단계에서 미리 결정된 시퀀스 토큰의 끝(end of sequence token)(시퀀스 토큰의 엔드 토큰)이 선택될 때 종료된다. 즉, 일단 시퀀스 토큰의 끝(시퀀스 토큰의 엔드 토큰)이 선택되면, 시스템(100)은 출력 시퀀스를 생성하는 동안 주어진 시간 단계보다 앞선 시간 단계의 토큰으로 출력 시퀀스를 결정한다. 이러한 구현에서, 시스템(130)은 입력 시퀀스(410)에 대한 은닉 상태를 생성하기 위해 추가 프로세싱을 수행할 필요가 없으며, 이는 후보 출력 시퀀스(120)의 생성을 종료한 시퀀스 토큰의 끝을 선택하기 위해 입력 시퀀스(410)가 이미 프로세싱되었기 때문이다.
그런 다음 시스템(130)은 분류기(460)를 사용하여 은닉 상태(440) 중 하나 이상을 프로세싱하여 하나 이상의 기준 각각에 대해 각각의 평가 점수(140)를 생성한다. 예를 들어, 분류기(460)에 의해 프로세싱되는 하나 이상의 은닉 상태(440)는 제1 후보 출력 시퀀스의 마지막 위치에 있는 토큰에 대해 제1 서브네트워크에 의해 생성된 각각의 은닉 상태일 수 있다. 또 다른 예로, 분류기(460)에 의해 프로세싱되는 하나 이상의 은닉 상태(440)는 입력 토큰 중 지정된 위치에 있는 지정된 입력 토큰, 예를 들어 입력 시퀀스의 제1 입력 토큰에 대해 제1 서브네트워크(430)에 의해 생성된 각각의 은닉 상태일 수 있다. 또 다른 예로서, 하나 이상의 은닉 상태(440)는 은닉 상태(440) 모두를 포함할 수 있고, 분류기(460)는 은닉 상태(440)를 평균화하도록 구성될 수 있다.
분류기(460)는 하나 이상의 분류기 계층(classifier layer)을 포함하고, 하나 이상의 분류기 계층을 사용하여 하나 이상의 은닉 상태를 프로세싱하여 하나 이상의 기준 각각에 대한 각각의 평가 점수(140)를 생성하도록 구성된 신경망이다. 예를 들어, 분류기 계층은 하나 이상의 완전 연결 계층을 포함할 수 있으며, 마지막 층은 각각의 노드, 예를 들어 각각의 기준에 대응하는 로지스틱 회귀(logistic regression) 또는 시그모이드 노드(sigmoid node)를 갖고, 각 노드는 해당 기준에 대한 각각의 평가 점수(140)를 생성하도록 구성된다.
따라서, 도 4의 예에서, 시스템(130)은 작고 계산적으로 효율적인 분류기(460)를 사용하여, 은닉 상태(후보 출력 시퀀스 생성의 일부로 이미 생성된)를 프로세싱함으로써 모든 기준에 대한 점수를 생성할 수 있다.
평가 점수를 생성하기 위해 분류기(460)를 사용하기 전과 그리고 신경망(110)이 사전 트레이닝된 후, 시스템(130) 또는 다른 트레이닝 시스템은 분류기(460)가 평가 점수를 정확하게 생성하도록 하기 위해, 즉 트레이닝을 위한 트레이닝 데이터 세트로부터 트레이닝 예의 배치에 대해 트레이닝 단계를 반복적으로 수행함으로써 분류기(460)를 트레이닝시킨다.
트레이닝 단계를 수행하기 위해, 시스템, 즉 시스템(130) 또는 다른 트레이닝 시스템은 하나 이상의 트레이닝 예의 배치(batch)를 획득한다. 예를 들어, 시스템(130)은 미세 조정 트레이닝 프로세스(fine-tuning training process)를 위한 더 큰 트레이닝 예 세트로부터 배치를 샘플링할 수 있다.
배치의 각 트레이닝 예에 대해, 시스템은 각각의 출력 시퀀스 기준에 대한 각각의 평가 점수를 생성하기 위한 하나 이상의 분류기 계층을 사용하여 트레이닝 예의 트레이닝 출력 시퀀스의 모든 위치에 있는 모든 토큰을 포함하는 복수의 입력 토큰을 포함하는 입력을 프로세싱함으로써 제1 서브네트워크에 의해 생성된 각각의 은닉 상태 중 하나 이상을 프로세싱한다.
그런 다음 시스템은 배치의 각 트레이닝 예에 대해, (i) 트레이닝 예에 대해 생성된 각각의 평가 점수와 (ii) 트레이닝 예에 대한 각각의 GT(ground truth) 평가 점수 사이의 에러를 측정하는 손실 함수를 최소화하기 위해 하나 이상의 분류기 계층을 트레이닝한다.
특히, 시스템은 분류기 계층의 파라미터에 대한 손실 함수의 기울기를 계산할 수 있다. 그러면 시스템은 계산된 기울기에 최적화기(optimizer)(최적화 프로그램)를 적용하여 업데이트를 생성한 다음 파라미터의 현재 값에 업데이트를 추가하거나 빼서 분류기 계층의 파라미터를 업데이트할 수 있다.
시스템은 분류기(460)가 상대적으로 적은 파라미터, 즉 신경망(110)에 비해 상대적으로 적은 파라미터를 갖고, 시스템이 분류기(460)의 트레이닝 중에 고정된 입력 서브네트워크를 유지하기 때문에 계산적으로 효율적인 방식으로 이 트레이닝을 수행할 수 있다.
전술한 바와 같이, 분류기(460)의 트레이닝이 수행된 후, 시스템(130) 또는 다른 트레이닝 시스템은 분류기(460)를 사용하여 신경망(110)을 추가로 미세 조정하는 데 사용되는 필터링된 트레이닝 데이터 세트를 생성할 수도 있다.
도 3은 후보 출력 시퀀스를 평가하기 위한 또 다른 예시적인 프로세스(500)의 흐름도이다. 편의상, 프로세스(500)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 신경망 시스템, 예를 들어 본 명세서에 따라 적절하게 프로그래밍된 도 1에 도시된 신경망 시스템(100)은 프로세스(500)를 수행할 수 있다.
시스템은 출력 시퀀스에 대한 요청을 수신한다(단계 502). 일부 구현에서, 요청은 컨텍스트 시퀀스를 포함하고, 요청은 컨텍스트 시퀀스에 대한 응답에 대한 것이다.
시스템은 자동 회귀 언어 모델 신경망을 사용하여 토큰들의 어휘에서 각각 선택된 복수의 토큰을 포함하는 제1 후보 출력 시퀀스를 생성한다(단계 504).
전술한 바와 같이, 언어 모델 신경망은 제1 서브네트워크와 출력 서브네트워크를 포함한다.
제1 서브네트워크는 후보 출력 시퀀스의 복수의 위치 중 각각의 특정 위치에서, 복수의 입력 토큰을 포함하는 입력을 프로세싱하여 입력 토큰 각각에 대해 각각의 은닉 상태를 생성하도록 구성되며, 입력 토큰은 후보 출력 시퀀스의 특정 위치보다 앞선 각 위치의 토큰과 선택적으로 컨텍스트 시퀀스의 토큰을 포함한다.
출력 서브네트워크는 복수의 위치 중 각각의 특정 위치에서, 특정 위치 바로 앞의 위치에서 입력 토큰에 대한 각각의 은닉 상태를 프로세싱하여 토큰들의 어휘의 각 토큰에 대한 각각의 점수를 생성하고, 그리고 각각의 점수를 사용하여 제1 후보 출력 시퀀스의 특정 위치에 있는 토큰으로 어휘의 토큰 중 하나를 선택하도록 구성된다.
위에서 설명한 것처럼, 일부 구현에서, 시스템은 신경망을 사용하여 복수의 후보 출력 시퀀스를 생성하는데, 즉, 제1 후보 출력 시퀀스 외에 하나 이상의 추가 후보 출력 시퀀스도 생성한다.
시스템은 하나 이상의 기준 세트의 각 기준에 대한 각각의 평가 점수를 생성하기 위해 하나 이상의 분류기 계층을 사용하여 제1 후보 출력 시퀀스의 모든 위치에 있는 모든 토큰을 포함하는 입력을 프로세싱함으로써 제1 서브네트워크에 의해 생성된 각각의 은닉 상태 중 하나 이상을 프로세싱한다(단계 506).
추가 후보 출력 시퀀스가 생성된 경우, 시스템은 또한 단계 506을 수행하여 추가 후보 출력 시퀀스 각각에 대한 각각의 평가 점수를 생성한다.
그 다음, 시스템은 하나 이상의 출력 시퀀스 기준에 대한 제1 후보 출력 시퀀스에 대한 각각의 평가 점수를 사용하여 요청에 응답하여 제1 후보 출력 시퀀스를 제공할지 여부를 결정한다(단계 508). 예를 들어, 시스템은 도 1을 참조하여 전술한 바와 같이 이러한 결정을 내릴 수 있다.
본 명세서에서 사용되는 "임베딩(embedding)"은 수치 값의 벡터이며, 예를 들어 부동 소수점 또는 미리 결정된 차원을 갖는 다른 유형의 수치 값, 예를 들어 미리 결정된 수의 값을 갖는다.
위에서 언급한 셀프-어텐션 블록은 셀프-어텐션 블록 입력(또는 계층 입력에서 파생된 입력)에 대해 작동하여 셀프-어텐션 블록 출력을 생성하는 어텐션 메커니즘을 포함하는 신경망 계층이다. 셀프-어텐션 메커니즘은 인과적으로 마스킹되어 입력 시퀀스의 특정 위치가 입력 시퀀스의 특정 위치 뒤의 모든 위치를 무시(예: 데이터 사용)하지 않도록 할 수 있다. 가능한 어텐션 메커니즘은 다양하다. 어텐션 메커니즘을 포함한 셀프-어텐션 계층의 몇 가지 예는 "Vaswani et al. "Attention is all you need", 31st Conference on Neural Information Processing Systems (NIPS 2017), Long Beach, CA, USA; Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J Liu. Exploring the limits of transfer learning with a unified text-to-text transformer. arXiv preprint arXiv:1910.10683, 2019; Daniel Adiwardana, Minh-Thang Luong, David R. So, Jamie Hall, Noah Fiedel, Romal Thoppilan, Zi Yang, Apoorv Kulshreshtha, Gaurav Nemade, Yifeng Lu, and Quoc V. Le. Towards a human-like open-domain chatbot. CoRR, abs/2001.09977, 2020; 및 Tom B Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. Language models are few-shot learners. arXiv preprint arXiv:2005.14165, 2020"에 설명된다.
일반적으로, 어텐션 메커니즘은 쿼리와 키-값 쌍 세트를 출력에 매핑하며, 여기서 쿼리, 키 및 값은 모두 벡터이다. 출력은 값의 가중치 합으로 계산되며, 각 값에 할당된 가중치는 호환성 함수(예: 해당 키를 사용한 쿼리의 내적 또는 스케일링된 내적)에 의해 계산된다.
일반적으로, 셀프-어텐션 메커니즘은 동일한 시퀀스의 서로 다른 위치를 연관시켜 시퀀스의 변환된 버전을 출력으로 결정하도록 구성된다. 예를 들어, 어텐션 계층 입력은 입력 시퀀스의 각 요소에 대한 벡터를 포함할 수 있다. 이러한 벡터는 셀프-어텐션 메커니즘에 대한 입력을 제공하고 그리고 셀프-어텐션 메커니즘에 의해 어텐션 계층 출력에 대한 동일한 시퀀스의 새로운 표현을 결정하는 데 사용되며, 이는 유사하게 입력 시퀀스의 각 요소에 대한 벡터를 포함한다. 셀프-어텐션 메커니즘의 출력은 어텐션 계층 출력으로 사용될 수 있거나, 어텐션 계층 출력을 제공하기 위해 피드포워드 계층, 스킵 연결(skip connections) 또는 정규화 연산 중 하나 이상에 의해 프로세싱될 수 있다.
일부 구현에서, 어텐션 메커니즘은 행렬 로 정의된 쿼리 변환(query transformation), 행렬 로 정의된 키 변환 및 행렬 로 정의된 값 변환을 어텐션 계층에 대한 입력 데이터 X인 어텐션 계층 입력에 각각 적용하여, 입력 시퀀스의 각 벡터에 대한 개별 쿼리를 포함하는 쿼리 행렬 , 입력 시퀀스의 각 벡터에 대한 해당 키를 포함하는 키 행렬 , 그리고 입력 시퀀스의 각 벡터에 대한 해당 값을 포함하는 값 행렬 를 파생하도록 구성되며, 이는 출력에 대한 어텐션된 시퀀스를 결정하는 데 사용된다. 예를 들어, 어텐션 메커니즘은 각 쿼리 벡터를 각 키 벡터에 적용하여 각 값 벡터에 대한 개별 가중치를 결정한 다음, 입력 시퀀스의 각 요소에 대한 셀프 어텐션 계층(레이어) 출력을 결정하기 위해 각 가중치를 사용하여 값 벡터를 결합함으로써 적용되는 내적 어텐션 메커니즘(dot product attention mechanism)일 수 있다. 셀프-어텐션 계층 출력은 스케일링 인자에 의해 스케일링될 수 있으며, 예를 들어 쿼리와 키 차원의 제곱근으로 스케일링되어 스케일링된 내적 어텐션을 구현할 수 있다. 따라서, 예를 들어, 어텐션 메커니즘의 출력은 로 결정될 수 있으며, 여기서 d는 키(및 값) 벡터의 차원이다. 다른 구현에서, 어텐션 메커니즘은 은닉 계층이 있는 피드포워드 네트워크를 사용하여 호환성 함수를 계산하는 "추가 어텐션(additive attention)" 메커니즘을 포함한다. 어텐션 메커니즘의 출력은 하나 이상의 완전 연결된 피드포워드 신경망 계층에 의해 추가로 프로세싱될 수 있다.
어텐션 메커니즘은 다중 헤드 어텐션을 구현할 수 있으며, 즉, 여러 개의 서로 다른 어텐션 메커니즘을 병렬로 적용할 수 있다. 그런 다음 이들의 출력은 필요한 경우 원래 차원으로 줄이기 위해 적용된 학습된 선형 변환과 결합(예를 들어 연결(concatenated))될 수 있다.
본 명세서는 시스템 및 컴퓨터 프로그램 컴포넌트와 관련하여 "구성된"이라는 용어를 사용한다. 하나 이상의 컴퓨터로 구성된 시스템이 특정 오퍼레이션 또는 액션을 수행하도록 구성된다는 것은 시스템에 소프트웨어, 펌웨어, 하드웨어 또는 동작 중에 시스템이 오퍼레이션 또는 액션을 수행하도록 하는 이들의 조합이 설치되어 있음을 의미한다. 하나 이상의 컴퓨터 프로그램이 특정 오퍼레이션 또는 액션을 수행하도록 구성된다는 것은 하나 이상의 프로그램이 데이터 프로세싱 장치에 의해 실행될 때 장치가 오퍼레이션 또는 액션을 수행하게 하는 명령어를 포함한다는 것을 의미한다.
본 명세서에 기술된 요지 및 기능적 동작의 실시예는 디지털 전자 회로, 유형적으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하는 컴퓨터 하드웨어, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 주제의 실시예는 하나 이상의 컴퓨터 프로그램, 즉 데이터 프로세싱 장치에 의해 실행되거나 데이터 프로세싱 장치의 동작을 제어하기 위해 유형의 비일시적 저장 매체에 인코딩된 컴퓨터 프로그램 명령어의 하나 이상의 모듈로 구현될 수 있다. 컴퓨터 저장 매체는 기계 판독 가능한 저장 장치, 기계 판독 가능한 저장 기판, 랜덤 또는 직렬 액세스 메모리 장치, 또는 이들 중 하나 이상의 조합일 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령어는 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치로의 전송을 위한 정보를 인코딩하도록 생성된 인공적으로 생성된 전파 신호, 예를 들어 기계 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다.
"데이터 프로세싱 장치"라는 용어는 데이터 프로세싱 하드웨어를 말하며, 예를 들어 프로그램 가능한 프로세서, 컴퓨터, 또는 다중 프로세서 또는 컴퓨터를 포함하여 데이터를 프로세싱하기 위한 모든 종류의 장치, 장치 및 기계를 포함한다. 장치는 또한 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)와 같은 특수 목적 논리 회로일 수 있거나 추가로 포함할 수 있다. 장치는, 하드웨어에 추가하여, 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 이들 중 하나 이상의 조합을 구성하는 코드를 선택적으로 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 모듈, 소프트웨어 모듈, 스크립트 또는 코드라고도 하거나 설명할 수 있는 컴퓨터 프로그램은 컴파일 또는 해석된 언어, 선언적 또는 절차적 언어를 포함한 모든 형태의 프로그래밍 언어로 작성할 수 있으며; 그리고 독립 실행형 프로그램 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 장치를 포함하여 모든 형태로 배포될 수 있다. 프로그램은 파일 시스템의 파일에 대응할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램이나 데이터를 보유하는 파일의 일부에 저장될 수 있으며, 예를 들어, 마크업 언어 문서, 해당 프로그램 전용 단일 파일 또는 여러 조정 파일, 예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 부분을 저장하는 파일에 저장된 하나 이상의 스크립트일 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 있거나 여러 사이트에 분산되어 있고 데이터 통신 네트워크로 상호 연결된 여러 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에서, "데이터베이스"라는 용어는 데이터 컬렉션을 지칭하는 데 광범위하게 사용되며; 데이터는 특정 방식으로 구성되거나 전혀 구성될 필요가 없으며 하나 이상의 위치에 있는 저장 장치에 저장될 수 있다. 따라서, 예를 들어, 인덱스 데이터베이스에는 여러 데이터 컬렉션이 포함될 수 있으며, 각 데이터 컬렉션은 다르게 구성되고 액세스될 수 있다.
유사하게, 본 명세서에서 용어 "엔진"은 하나 이상의 특정 기능을 수행하도록 프로그래밍된 소프트웨어 기반 시스템, 서브시스템 또는 프로세스를 지칭하기 위해 광범위하게 사용된다. 일반적으로 엔진은 하나 이상의 위치에 있는 하나 이상의 컴퓨터에 설치된 하나 이상의 소프트웨어 모듈 또는 컴포넌트로 구현된다. 일부 경우 하나 이상의 컴퓨터가 특정 엔진 전용이며; 다른 경우에는 여러 엔진이 동일한 컴퓨터에 설치되어 실행될 수 있다.
본 명세서에 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능한 컴퓨터에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 FPGA 또는 ASIC과 같은 특수 목적 논리 회로 또는 특수 목적 논리 회로와 하나 이상의 프로그래밍된 컴퓨터의 조합에 의해 수행될 수도 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터는 범용 또는 특수 목적 마이크로프로세서 또는 둘 다, 또는 다른 종류의 중앙 프로세싱 장치에 기초하여 할 수 있다. 일반적으로 중앙 프로세싱 장치는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령어와 데이터를 수신한다. 컴퓨터의 필수 요소는 명령어를 수행하거나 실행하기 위한 중앙 프로세싱 장치와 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 중앙 프로세싱 장치와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광자기 디스크, 또는 광 디스크로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 모두를 포함하거나 동작 가능하게 연결된다. 그러나 컴퓨터에는 그러한 장치가 필요하지 않는다. 또한, 컴퓨터는 휴대 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플계층, 게임 콘솔, GPS(Global Positioning System) 수신기 또는 휴대용 저장 장치(예를 들어 USB(Universal Serial Bus) 플래시 드라이브)와 같은 다른 장치에 내장될 수 있다.
컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함하며, 예를 들어 반도체 메모리 장치, 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치를 포함하고; 자기 디스크, 예를 들어 내부 하드 디스크 또는 이동식 디스크를 포함하고; 자기 광 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함할 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에 기술된 주제의 실시예들은 사용자에게 정보를 표시하기 위한 디스플레이 장치, 예를 들어, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터 및 키보드 및 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼과 같은 포인팅 장치를 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 장치도 사용자와의 상호작용을 제공하는 데 사용할 수 있으며; 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각적 피드백일 수 있으며; 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 장치로 문서를 보내고 문서를 수신하여 사용자와 상호작용할 수 있으며; 예를 들어 웹 브라우저에서 수신된 요청에 대한 응답으로 사용자 장치의 웹 브라우저에 웹 페이지를 전송한다. 또한, 컴퓨터는 문자 메시지 또는 다른 형태의 메시지를 개인 장치(예: 메쉬징 애플리케이션을 실행하는 스마트폰)에 보내고 사용자로부터 응답 메시지를 수신하여 사용자와 상호작용할 수 있다.
기계 트레이닝 모델을 구현하기 위한 데이터 프로세싱 장치는 또한 예를 들어 기계 트레이닝 트레이닝 또는 프로덕션, 즉 추론, 워크로드의 공통 및 컴퓨팅 집약적 부분을 프로세싱하기 위한 특수 목적 하드웨어 가속기 유닛을 포함할 수 있다.
기계 트레이닝 모델은 기계 트레이닝 프레임워크, 예를 들어 텐서플로우(TensorFlow) 프레임워크를 사용하여 구현 및 배포할 수 있다.
본 명세서에 기술된 주제의 실시예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 애플리케이션 서버와 같은 미들웨어 컴포넌트, 그래픽 사용자 인터페이스가 있는 클라이언트 컴퓨터, 웹 브라우저 또는 사용자가 본 명세서에 설명된 주제의 구현과 상호작용할 수 있는 앱과 같은 프론트 엔드 컴포넌트, 또는 하나 이상의 백엔드 컴포넌트, 미들웨어 컴포넌트, 프론트 엔드 컴포넌트의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트는 통신 네트워크와 같은 디지털 데이터 통신의 모든 형태 또는 매체에 의해 상호 연결될 수 있다. 통신 네트워크의 예로는 LAN(Local Area Network) 및 WAN(Wide Area Network), 예를 들어 인터넷이 있다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램 덕분에 발생한다. 일부 실시예에서, 서버는 예를 들어 클라이언트로서 작용하는 장치와 상호작용하는 사용자로부터 데이터를 표시하고 사용자로부터 사용자 입력을 수신하기 위해 데이터, 예를 들어 HTML 페이지를 사용자 장치에 전송한다. 사용자 장치에서 생성된 데이터, 예를 들어 사용자 상호작용의 결과는 장치로부터 서버에서 수신될 수 있다.
본 명세서는 많은 특정 구현 세부사항을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로 해석되어서는 안 되며 오히려 특정 발명의 특정 실시예에 특정할 수 있는 특징의 설명으로 해석되어야 한다. 별도의 실시예와 관련하여 본 명세서에 설명된 특정 특징은 단일 실시예에서 조합하여 구현될 수도 있다. 역으로, 단일 실시예의 컨텍스트에서 설명된 다양한 특징은 또한 개별적으로 또는 임의의 적절한 하위 조합으로 다중 실시예에서 구현될 수 있다. 더욱이, 특징들이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 초기에 그러한 것으로 청구될 수 있지만, 청구된 조합의 하나 이상의 특징은 일부 경우에 조합에서 제거될 수 있으며 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
유사하게, 동작이 도면에 도시되어 있고 청구범위에 특정 순서로 인용되어 있지만, 이는 그러한 동작이 도시된 특정 순서로 또는 순차적인 순서로 수행되어야 하거나 또는 모든 예시된 동작이 원하는 결과를 얻을 수 있다. 특정 상황에서는 멀티태스킹 및 병렬 프로세싱가 유리할 수 있다. 더욱이, 상술한 실시예에서 다양한 시스템 모듈 및 컴포넌트의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 여러 소프트웨어 제품에 패키징될 수 있음을 이해해야 한다.
요지의 특정 실시예가 설명되었다. 다른 실시예는 다음 청구항의 범위 내에 있다. 예를 들어, 청구범위에 언급된 동작는 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 얻을 수 있다. 일례로서, 첨부 도면에 도시된 프로세스는 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적인 순서를 반드시 필요로 하지는 않는다. 경우에 따라 멀티태스킹 및 병렬 프로세싱가 유리할 수 있다.

Claims (23)

  1. 하나 이상의 컴퓨터에 의해 수행되는 방법으로서,
    출력 시퀀스에 대한 요청을 수신하는 단계;
    자동 회귀 언어 모델 신경망을 사용하여 제1 후보 출력 시퀀스를 생성하는 단계 -상기 제1 후보 출력 시퀀스는 토큰들의 어휘로부터 각각 선택되는 복수의 토큰들을 포함함-;
    하나 이상의 출력 시퀀스 기준의 세트의 각 출력 시퀀스 기준에 대해:
    상기 자동 회귀 언어 모델 신경망을 사용하여, (i) 제1 후보 출력 시퀀스에 이어 (ii) 상기 어휘의 각 토큰에 대한 각각의 점수를 생성하기 위해 출력 시퀀스 기준을 지정하는 하나 이상의 토큰들을 포함하는 입력 시퀀스를 프로세싱하는 단계;
    상기 토큰들의 어휘의 해당 고유 서브세트에 있는 토큰들에 대한 각각의 점수로부터, 상기 자동 회귀 언어 모델 신경망에 의해 생성된 상기 제1 후보 출력 시퀀스가 출력 시퀀스 기준을 만족하는 정도를 나타내는 상기 제1 후보 출력 시퀀스에 대한 각각의 평가 점수(rating score)를 결정하는 단계; 그리고
    상기 하나 이상의 출력 시퀀스 기준에 대한 상기 제1 후보 출력 시퀀스에 대한 각각의 평가 점수를 사용하여 상기 요청에 응답하여 상기 제1 후보 출력 시퀀스를 제공하는 단계를 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  2. 제1항에 있어서, 상기 요청은 컨텍스트 시퀀스를 따르는 출력 시퀀스에 대한 것이며,
    상기 제1 후보 출력 텍스트 시퀀스를 생성하는 단계는 상기 컨텍스트 시퀀스를 포함하는 입력에 대해 상기 자동 회귀 언어 모델 신경망을 컨디셔닝(conditioning)하는 단계를 포함하고, 그리고
    (i) 제1 후보 출력 시퀀스에 이어 (ii) 출력 시퀀스 기준을 지정하는 하나 이상의 토큰들을 포함하는 입력 시퀀스는 상기 컨텍스트 시퀀스를 더 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 방법은,
    상기 자동 회귀 언어 모델 신경망을 사용하여, 하나 이상의 추가 후보 출력 시퀀스들을 생성하는 단계;
    각각의 추가 후보 출력 시퀀스에 대해:
    하나 이상의 출력 시퀀스 기준의 세트의 각 출력 시퀀스 기준에 대해:
    (i) 추가 후보 출력 시퀀스에 이어 (ii) 상기 어휘의 각 토큰에 대한 각각의 점수를 생성하기 위해 상기 자동 회귀 언어 모델 신경망을 사용하여 상기 출력 시퀀스 기준을 지정하는 하나 이상의 토큰들을 포함하는 입력 시퀀스를 프로세싱하는 단계;
    상기 토큰들의 어휘의 해당 서브세트의 토큰들에 대한 각각의 점수로부터, 상기 자동 회귀 언어 모델 신경망에 의해 생성된 상기 추가 후보 출력 시퀀스가 상기 출력 시퀀스 기준을 만족시키는 정도를 나타내는 각각의 평가 점수를 결정하는 단계를 더 포함하며; 그리고
    상기 하나 이상의 출력 시퀀스 기준에 대한 각각의 평가 점수를 사용하여 상기 요청에 응답하여 상기 제1 후보 출력 시퀀스를 제공하는 단계는,
    상기 제1 후보 출력 시퀀스 및 상기 하나 이상의 추가 후보 출력 시퀀스 중, 상기 제1 후보 출력 시퀀스 및 상기 하나 이상의 추가 후보 출력 시퀀스에 대한 각각의 평점 점수를 사용하여 상기 요청에 응답하여 제공할 시퀀스를 선택하는 단계를 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  4. 제3항에 있어서,
    상기 제1 후보 출력 시퀀스 및 상기 하나 이상의 추가 후보 출력 시퀀스 중, 상기 제1 후보 출력 시퀀스 및 상기 하나 이상의 추가 후보 출력 시퀀스에 대한 각각의 평점 점수를 사용하여 상기 요청에 응답하여 제공할 시퀀스를 선택하는 단계는,
    후보 출력 시퀀스 각각에 대해, 상기 세트 내의 출력 시퀀스 기준 중 하나 이상 각각에 대한 후보 출력 시퀀스에 대한 각각의 평가 점수로부터 각각의 품질 점수를 생성하는 단계; 그리고
    상기 요청에 대한 응답으로 제공될 시퀀스로서, 상기 각각의 품질 점수가 가장 높은 후보 출력 시퀀스를 선택하는 단계를 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  5. 제1항에 있어서, 상기 하나 이상의 출력 시퀀스 기준에 대한 각각의 평가 점수를 사용하여 상기 요청에 응답하여 상기 제1 후보 출력 시퀀스를 제공하는 단계는,
    상기 세트 내의 제1 출력 기준에 대한 제1 후보 출력 시퀀스에 대한 각각의 품질 점수가 임계값을 만족하는지 여부를 결정하는 단계; 그리고
    상기 세트 내의 제1 출력 기준에 대한 제1 후보 출력 시퀀스에 대한 각각의 품질 점수가 상기 임계값을 만족하지 않을 때, 상기 요청에 응답하여 제1 후보 출력 시퀀스를 제공하지 않기로 결정하는 단계를 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  6. 선행하는 청구항 중 어느 한 항의 자동 회귀 언어 모델 신경망을 트레이닝하는 방법으로서,
    하나 이상의 트레이닝 예의 배치(batch)를 획득하는 단계 -각 트레이닝 예는
    (i) 트레이닝 출력 시퀀스에 이어 (ii) 출력 시퀀스 기준의 세트로부터 특정 출력 시퀀스 기준을 지정하는 하나 이상의 토큰들을 포함하는 트레이닝 입력 시퀀스, 및
    상기 트레이닝 출력 시퀀스가 특정 출력 시퀀스 기준을 만족시키는 정도를 나타내는 해당 출력 시퀀스 기준에 대한 GT(ground truth) 평가 점수를 포함함-;
    상기 배치의 각 트레이닝 예에 대해:
    상기 자동 회귀 언어 모델 신경망을 사용하여, 상기 트레이닝 예의 상기 트레이닝 입력 시퀀스를 프로세싱하여 상기 어휘의 각 토큰에 대한 개별 점수를 생성하는 단계; 그리고
    상기 자동 회귀 언어 모델 신경망을 트레이닝하여, 상기 배치의 각 트레이닝 예에 대해, (i) 상기 트레이닝 예를 위해 생성된 상기 어휘의 토큰들에 대한 각각의 점수와 (ii) 상기 트레이닝 예에 대한 GT(ground truth) 평가 점수를 산출하는 상기 어휘의 토큰들에 대한 점수들의 GT(ground truth) 세트 사이의 에러를 측정하는 손실 함수를 최소화하는 단계를 포함하는, 자동 회귀 언어 모델 신경망을 트레이닝하는 방법.
  7. 제6항에 있어서, 자동 회귀 언어 모델 신경망을 트레이닝하여 손실 함수를 최소화하는 단계는,
    트레이닝 입력 시퀀스의 이전 위치에는 손실을 적용하지 않고 상기 에러에만 손실을 적용하는 단계를 포함하는, 자동 회귀 언어 모델 신경망을 트레이닝하는 방법.
  8. 제6항 또는 제7항에 있어서, 상기 방법은,
    상기 자동 회귀 언어 모델 신경망을 트레이닝하여 손실 함수를 최소화하기 전에, 토큰들의 시퀀스의 이전 토큰들이 주어지면 토큰들의 시퀀스의 다음 토큰을 예측해야 하는 언어 모델링 태스크에 대해 상기 자동 회귀 언어 모델 신경망을 트레이닝하는 단계를 더 포함하는, 자동 회귀 언어 모델 신경망을 트레이닝하는 방법.
  9. 하나 이상의 컴퓨터에 의해 수행되는 방법으로서,
    출력 시퀀스에 대한 요청을 수신하는 단계;
    자동 회귀 언어 모델 신경망을 사용하여, 제1 후보 출력 시퀀스를 생성하는 단계 -상기 제1 후보 출력 시퀀스는 복수의 위치 각각에 각각의 토큰을 포함하고, 그리고 언어 모델 신경망은 제1 서브네트워크와 출력 서브네트워크를 포함하며,
    상기 제1 서브네트워크는, 복수의 위치 중 각각의 특정 위치에서,
    복수의 입력 토큰들을 포함하는 입력을 프로세싱하여 입력 토큰들 각각에 대해 각각의 은닉 상태를 생성하며, 상기 입력 토큰들은 제1 후보 출력 시퀀스의 특정 위치보다 앞선 각 위치의 토큰들을 포함하며; 그리고
    상기 출력 서브네트워크는, 복수의 위치 중 각각의 특정 위치에서,
    특정 위치 바로 앞의 위치에서 입력 토큰에 대한 각각의 은닉 상태를 프로세싱하여 토큰들의 어휘의 각 토큰에 대한 각각의 점수를 생성하고; 그리고
    상기 각각의 점수를 사용하여 상기 제1 후보 출력 시퀀스의 특정 위치에 있는 토큰으로서 어휘의 토큰들 중 하나를 선택함-;
    하나 이상의 분류기 계층을 사용하여, 상기 제1 후보 출력 시퀀스의 모든 위치에 있는 모든 토큰을 포함하는 복수의 입력 토큰들을 포함하는 입력을 프로세싱함으로써 상기 제1 서브네트워크에 의해 생성된 각각의 은닉 상태 중 하나 이상을 프로세싱하여, 자동 회귀 언어 모델 신경망에 의해 생성된 제1 후보 출력 시퀀스가 출력 시퀀스 기준을 만족시키는 정도를 나타내는 하나 이상의 출력 시퀀스 기준의 세트에서 각 출력 시퀀스 기준에 대한 각각의 평가 점수를 생성하는 단계; 그리고
    하나 이상의 출력 시퀀스 기준에 대한 제1 후보 출력 시퀀스에 대한 각각의 평가 점수를 사용하여 상기 요청에 응답하여 제1 후보 출력 시퀀스를 제공하는 단계를 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  10. 제9항에 있어서, 상기 요청은 컨텍스트 시퀀스를 따르는 출력 시퀀스에 대한 것이고,
    상기 제1 후보 출력 텍스트 시퀀스를 생성하는 단계는 상기 컨텍스트 시퀀스를 포함하는 입력에 대해 상기 자동 회귀 언어 모델 신경망을 컨디셔닝하는 단계를 포함하고, 각각의 특정 위치에 대해, 입력 토큰들은 상기 컨텍스트 시퀀스로부터의 토큰들을 더 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  11. 제9항 또는 제10항에 있어서, 상기 방법은,
    상기 자동 회귀 언어 모델 신경망을 사용하여 하나 이상의 추가 후보 출력 시퀀스를 생성하는 단계;
    각각의 추가 후보 출력 시퀀스에 대해, 상기 자동 회귀 언어 모델 신경망에 의해 생성된 상기 추가 후보 출력 시퀀스가 상기 출력 시퀀스 기준을 만족하는 정도를 나타내는 하나 이상의 출력 시퀀스 기준의 세트의 각 출력 시퀀스 기준에 대한 개별 평가 점수를 생성하는 단계를 더 포함하며, 그리고
    상기 하나 이상의 출력 시퀀스 기준에 대한 각각의 평가 점수를 사용하여 상기 요청에 응답하여 상기 제1 후보 출력 시퀀스를 제공하는 단계는,
    상기 제1 후보 출력 시퀀스 및 상기 하나 이상의 추가 후보 출력 시퀀스 중, 상기 제1 후보 출력 시퀀스 및 상기 하나 이상의 추가 후보 출력 시퀀스에 대한 각각의 평점 점수를 사용하여 상기 요청에 응답하여 제공할 시퀀스를 선택하는 단계를 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  12. 제11항에 있어서, 상기 제1 후보 출력 시퀀스 및 상기 하나 이상의 추가 후보 출력 시퀀스 중, 상기 제1 후보 출력 시퀀스 및 상기 하나 이상의 추가 후보 출력 시퀀스에 대한 각각의 평점 점수를 사용하여 상기 요청에 응답하여 제공할 시퀀스를 선택하는 단계는,
    상기 후보 출력 시퀀스 각각에 대해, 상기 세트 내의 출력 시퀀스 기준 중 하나 이상 각각에 대한 후보 출력 시퀀스에 대한 각각의 평가 점수로부터 각각의 품질 점수를 생성하는 단계; 그리고
    상기 요청에 대한 응답으로 제공될 시퀀스로서 각각의 품질 점수가 가장 높은 후보 출력 시퀀스를 선택하는 단계를 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서, 상기 하나 이상의 출력 시퀀스 기준에 대한 각각의 평가 점수를 사용하여 상기 요청에 응답하여 상기 제1 후보 출력 시퀀스를 제공하는 단계는,
    상기 세트 내의 제1 출력 기준에 대한 제1 후보 출력 시퀀스에 대한 각각의 품질 점수가 임계값을 만족하는지 여부를 결정하는 단계; 그리고
    상기 세트 내의 제1 출력 기준에 대한 제1 후보 출력 시퀀스에 대한 각각의 품질 점수가 상기 임계값을 만족하지 않을 때, 상기 요청에 응답하여 제1 후보 출력 시퀀스를 제공하지 않기로 결정하는 단계를 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  14. 제9항 내지 제13항 중 어느 한 항에 있어서, 상기 제1 후보 출력 시퀀스의 모든 위치에서 모든 토큰을 포함하는 복수의 입력 토큰들을 포함하는 입력을 프로세싱함으로써 상기 제1 서브네트워크에 의해 생성된 각각의 은닉 상태 중 하나 이상을 프로세싱하는 단계는,
    제1 후보 출력 시퀀스의 마지막 위치에 있는 토큰에 대해 상기 제1 서브네트워크에 의해 생성된 각각의 은닉 상태를 프로세싱하는 단계를 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  15. 제9항 내지 제14항 중 어느 한 항에 있어서, 상기 제1 후보 출력 시퀀스의 모든 위치에서 모든 토큰을 포함하는 복수의 입력 토큰들을 포함하는 입력을 프로세싱함으로써 상기 제1 서브네트워크에 의해 생성된 각각의 은닉 상태 중 하나 이상을 프로세싱하는 단계는,
    입력 토큰들 중 지정된 위치에서 지정된 입력 토큰에 대해 제1 서브네트워크에 의해 생성된 각각의 은닉 상태를 프로세싱하는 단계를 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  16. 제9항 내지 제15항 중 어느 한 항에 있어서, 상기 방법은,
    상기 제1 후보 출력 시퀀스의 생성 동안 및 상기 제1 후보 출력 시퀀스의 마지막 위치 앞의 하나 이상의 지정된 위치에 대해,
    하나 이상의 분류기 계층을 사용하여 제1 후보 출력 시퀀스의 지정된 위치에서 제1 서브네트워크에 의해 생성된 각각의 은닉 상태 중 하나 이상을 프로세싱하여, 지정된 위치에서 생성된 제1 후보 출력 시퀀스의 일부가 출력 시퀀스 기준을 만족하는 정도를 나타내는 하나 이상의 출력 시퀀스 기준의 세트의 각각의 출력 시퀀스 기준에 대한 각각의 평가 점수를 생성하는 단계;
    (i) 지정된 위치를 지나 제1 후보 출력 시퀀스를 계속 생성할지 또는 (ii) 상기 지정된 위치에서 생성된 세트의 출력 시퀀스 기준에 대한 각각의 평가 점수에 기초하여 상기 요청에 응답하여 제1 후보 출력 시퀀스의 일부를 제공하지 않을지 여부를 결정하는 단계를 더 포함하는, 하나 이상의 컴퓨터에 의해 수행되는 방법.
  17. 제9항 내지 제16항 중 어느 한 항에 따른 자동 회귀 언어 모델 신경망을 트레이닝하는 방법으로서,
    하나 이상의 트레이닝 예의 배치(batch)를 획득하는 단계 -각 트레이닝 예는,
    트레이닝 출력 시퀀스, 및
    상기 트레이닝 출력 시퀀스가 특정 출력 시퀀스 기준을 만족시키는 정도를 나타내는 하나 이상의 출력 시퀀스 기준 각각에 대한 개별 GT(ground truth) 평가 점수를 포함함-;
    상기 배치의 각 트레이닝 예에 대해:
    하나 이상의 분류기 계층을 사용하여 트레이닝 예의 트레이닝 출력 시퀀스의 모든 위치에 있는 모든 토큰을 포함하는 복수의 입력 토큰들을 포함하는 입력을 프로세싱함으로써 제1 서브네트워크에 의해 생성된 각각의 은닉 상태 중 하나 이상을 프로세싱하여, 각각의 출력 시퀀스 기준에 대한 각각의 평가 점수를 생성하는 단계; 그리고
    상기 배치의 각 트레이닝 예에 대해, (i) 트레이닝 예에 대해 생성된 각각의 평가 점수와 (ii) 트레이닝 예에 대한 각각의 GT 평가 점수 사이의 에러를 측정하는 손실 함수를 최소화하기 위해 상기 하나 이상의 분류기 계층을 트레이닝하는 단계를 포함하는, 자동 회귀 언어 모델 신경망을 트레이닝하는 방법.
  18. 제17항에 있어서, 손실 함수를 최소화하기 위해 하나 이상의 분류기 계층을 트레이닝하는 단계는,
    상기 하나 이상의 분류기 계층을 트레이닝하는 동안 입력 서브네트워크를 고정 상태(frozen)로 유지하는 단계를 포함하는, 자동 회귀 언어 모델 신경망을 트레이닝하는 방법.
  19. 제17항 또는 제18항에 있어서, 상기 방법은,
    상기 하나 이상의 분류기 계층을 트레이닝하기 전에, 토큰들의 시퀀스의 이전 토큰들이 주어지면 토큰들의 시퀀스의 다음 토큰을 예측해야 하는 언어 모델링 태스크에 대해 자동 회귀 언어 모델 신경망을 트레이닝하는 단계를 더 포함하는, 자동 회귀 언어 모델 신경망을 트레이닝하는 방법.
  20. 선행하는 청구항 중 어느 한 항에 있어서, 상기 출력 시퀀스는 텍스트 시퀀스이고, 상기 토큰들의 어휘는 복수의 텍스트 토큰들을 포함하는, 자동 회귀 언어 모델 신경망을 트레이닝하는 방법.
  21. 제20항에 있어서, 제2항 또는 제10항에 종속되는 경우, 상기 컨텍스트 시퀀스는 텍스트 시퀀스인, 자동 회귀 언어 모델 신경망을 트레이닝하는 방법.
  22. 시스템으로서,
    하나 이상의 컴퓨터; 그리고
    상기 하나 이상의 컴퓨터에 의해 실행될 때, 상기 하나 이상의 컴퓨터로 하여금 제1항 내지 제21항 중 어느 한 항의 각각의 동작을 수행하게 하는 명령어를 저장하는 하나 이상의 저장 장치를 포함하는, 시스템.
  23. 하나 이상의 컴퓨터에 의해 실행될 때 상기 하나 이상의 컴퓨터로 하여금 제1항 내지 제21항 중 어느 한 항의 방법의 각각의 동작을 수행하게 하는 명령어를 저장하는 하나 이상의 컴퓨터 판독 가능 저장 매체.
KR1020247004967A 2021-07-28 2022-07-28 자동 회귀 언어 모델 신경망을 사용하여 출력 시퀀스 평가 KR20240034804A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163226748P 2021-07-28 2021-07-28
US63/226,748 2021-07-28
PCT/US2022/038742 WO2023009766A1 (en) 2021-07-28 2022-07-28 Evaluating output sequences using an auto-regressive language model neural network

Publications (1)

Publication Number Publication Date
KR20240034804A true KR20240034804A (ko) 2024-03-14

Family

ID=85039180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247004967A KR20240034804A (ko) 2021-07-28 2022-07-28 자동 회귀 언어 모델 신경망을 사용하여 출력 시퀀스 평가

Country Status (6)

Country Link
US (1) US20230029590A1 (ko)
KR (1) KR20240034804A (ko)
CN (1) CN117795527A (ko)
DE (1) DE212022000260U1 (ko)
GB (1) GB2622755A (ko)
WO (1) WO2023009766A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024520994A (ja) * 2021-05-21 2024-05-28 グーグル エルエルシー 文脈テキスト生成のサービスにおいて中間テキスト分析を生成する機械学習済み言語モデル

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521672B2 (en) * 2010-11-22 2013-08-27 Microsoft Corporation Dependency-based query expansion alteration candidate scoring
DE102017125256A1 (de) * 2016-10-28 2018-05-03 Google Llc Suche nach einer neuronalen Architektur
WO2018204706A2 (en) * 2017-05-03 2018-11-08 Google Llc Recurrent neural networks for online sequence generation
US11797839B2 (en) * 2017-10-27 2023-10-24 Google Llc Training neural networks using priority queues
US11386900B2 (en) * 2018-05-18 2022-07-12 Deepmind Technologies Limited Visual speech recognition by phoneme prediction
CN111727442A (zh) * 2018-05-23 2020-09-29 谷歌有限责任公司 使用质量分数来训练序列生成神经网络
US10831990B1 (en) * 2019-05-09 2020-11-10 International Business Machines Corporation Debiasing textual data while preserving information
KR20210059367A (ko) * 2019-11-15 2021-05-25 삼성전자주식회사 음성 입력 처리 방법 및 이를 지원하는 전자 장치
US11487522B1 (en) * 2020-06-26 2022-11-01 X Development Llc Training and/or using neural network model to generate target source code from lower-level representation
US20220138559A1 (en) * 2020-11-05 2022-05-05 International Business Machines Corporation Answer span correction

Also Published As

Publication number Publication date
DE212022000260U1 (de) 2024-05-21
WO2023009766A1 (en) 2023-02-02
CN117795527A (zh) 2024-03-29
GB2622755A (en) 2024-03-27
US20230029590A1 (en) 2023-02-02
GB202400855D0 (en) 2024-03-06

Similar Documents

Publication Publication Date Title
US11669744B2 (en) Regularized neural network architecture search
US11544536B2 (en) Hybrid neural architecture search
US11790238B2 (en) Multi-task neural networks with task-specific paths
US11544573B2 (en) Projection neural networks
CN110520871B (zh) 使用学习进度测量训练机器学习模型
EP3602419B1 (en) Neural network optimizer search
US20220092416A1 (en) Neural architecture search through a graph search space
US20240127058A1 (en) Training neural networks using priority queues
US20200410365A1 (en) Unsupervised neural network training using learned optimizers
EP3782080A1 (en) Neural networks for scalable continual learning in domains with sequentially learned tasks
WO2020154373A1 (en) Neural network training using the soft nearest neighbor loss
US20220383119A1 (en) Granular neural network architecture search over low-level primitives
KR20240034804A (ko) 자동 회귀 언어 모델 신경망을 사용하여 출력 시퀀스 평가
WO2021159099A1 (en) Searching for normalization-activation layer architectures
CN116384405A (zh) 文本处理方法,文本分类方法及情感识别方法
US20240152809A1 (en) Efficient machine learning model architecture selection
WO2023088273A1 (en) Methods and devices for meta few-shot class incremental learning
Cao et al. Traffic flow prediction model using an integrated framework of improved intelligent optimization algorithms and deep learning models
CN117932051A (zh) 一种客服对话文本的分类方法、装置、电子设备和介质
IE20180149A1 (en) Projection neural networks