https://stanford-cs324.github.io/winter2022/lectures/introduction/
Introduction
Understanding and developing large language models.
stanford-cs324.github.io
CS324에 오신 것을 환영합니다! 이 과정은 대규모 언어 모델의 이해와 개발에 대한 새로운 강좌입니다.
1. 언어 모델이란 무엇인가요?
2. 간단한 역사
3. 이 강좌가 왜 필요한가요?
4. 이 강좌의 구조
5. 언어 모델이란 무엇인가요?
1. 언어 모델이란 무엇인가요?
언어 모델 (LM)의 클래식한 정의는 토큰 시퀀스에 대한 확률 분포입니다. 토큰 집합 (\sV)가 있다고 가정해 봅시다. 언어 모델 (p)은 각각의 토큰 시퀀스 (x_1, \dots, x_L \in \sV)에 대해 확률 (0과 1 사이의 숫자)을 할당합니다:[p(x_1, \dots, x_L).]
확률은 시퀀스의 "좋음"을 직관적으로 나타냅니다. 예를 들어, 만약 어휘가 (V = { l{ate},l{ball},l{cheese},l{mouse}, l{the} })라면, 언어 모델은 다음과 같이 할당할 수 있습니다 (DEMO):[p(l{the},l{mouse}, l{ate}, l{the}, l{cheese}) = 0.02,] [p(l{the}, l{cheese}, l{ate}, l{the}, l{mouse}) = 0.01,] [p(l{mouse}, l{the}, l{the}, l{cheese}, l{ate}) = 0.0001.]
수학적으로는, 언어 모델은 매우 간단하고 아름다운 객체입니다. 그러나 이 간단함은 속임수입니다: 모든 시퀀스에 (의미 있는) 확률을 할당하는 능력은 특별한 (묵시적인) 언어 능력과 세계 지식이 필요합니다.
예를 들어, LM은 문법적으로 부적절한 (l{mouse the the cheese ate})에 매우 낮은 확률을 할당해야 합니다 (구문적 지식). LM은 의미론적 타당성의 차이로 인해 (l{the mouse ate the cheese})를 (l{the cheese ate the mouse})보다 높은 확률로 할당해야 합니다 (세계 지식).
생성. 정의에 따라, 언어 모델 (p)은 시퀀스를 받아들이고 그 좋음을 평가하기 위해 확률을 반환합니다. 또한 언어 모델을 사용하여 시퀀스를 생성할 수도 있습니다. 이를 순수하게 수행하는 방법은 언어 모델 (p)에서 시퀀스 (x_{1:L})를 확률 (p(x_{1:L}))에 비례하여 샘플링하는 것입니다. 이를 다음과 같이 표기합니다:[x_{1:L} \sim p.]
이를 계산적으로 효율적으로 수행하는 방법은 언어 모델 (p)의 형태에 따라 달라집니다. 실제로, 우리는 보통 언어 모델에서 직접 샘플링하지 않습니다. 이는 실제 언어 모델의 한계와 "평균" 시퀀스가 아니라 "최선" 시퀀스에 더 가까운 것을 얻고자 하는 경우도 있기 때문입니다.
자기 회귀 언어 모델
시퀀스 (x_{1:L})의 결합 분포 (p(x_{1:L}))를 쓰는 일반적인 방법은 확률의 연쇄 법칙을 사용하는 것입니다:[p(x_{1:L}) = p(x_1) p(x_2 \mid x_1) p(x_3 \mid x_1, x_2) \cdots p(x_L \mid x_{1:L-1}) = \prod_{i=1}^L p(x_i \mid x_{1:i-1}).]
예를 들어 (데모):[\begin{align} p(l{the}, l{mouse}, l{ate}, l{the}, l{cheese}) = , & p(l{the}) \ & p(l{mouse} \mid l{the}) \ & p(l{ate} \mid l{the}, l{mouse}) \ & p(l{the} \mid l{the}, l{mouse}, l{ate}) \ & p(l{cheese} \mid l{the}, l{mouse}, l{ate}, l{the}). \end{align}]
특히, (p(x_i \mid x_{1:i-1}))은 이전 토큰 (x_{1:i-1})이 주어졌을 때 다음 토큰 (x_i)의 조건부 확률 분포입니다.
물론, 어떤 결합 확률 분포든 수학적으로 이렇게 작성할 수 있습니다. 그러나 자기 회귀 언어 모델은 각 조건부 분포 (p(x_i \mid x_{1:i-1}))를 효율적으로 계산할 수 있는 모델입니다 (예: 피드포워드 신경망 사용).
생성. 이제 자기 회귀 언어 모델 (p)에서 전체 시퀀스 (x_{1:L})를 생성하기 위해, 지금까지 생성된 토큰을 사용하여 한 번에 하나의 토큰을 샘플링합니다:[\text{for } i = 1, \dots, L: \ \hspace{1in} x_i \sim p(x_i \mid x_{1:i-1})^{1/T},]
여기서 (T \ge 0)은 언어 모델로부터 얼마나 많은 무작위성을 원하는지를 제어하는 온도 매개 변수입니다:
(T = 0): 각 위치 (i)에서 가장 확률이 높은 토큰 (x_i)을 결정적으로 선택합니다.
(T = 1): 순수한 언어 모델에서 "보통" 샘플링을 수행합니다.
(T = \infty): 전체 어휘 (\sV)에 대한 균등 분포에서 샘플링합니다.
그러나 확률을 (1/T)의 제곱으로 만만들면, 확률 분포의 합이 1이 아닐 수 있습니다. 이를 해결하기 위해 분포를 재정규화하여 정규화된 버전 (p_T(x_i \mid x_{1:i-1}) \propto p(x_i \mid x_{1:i-1})^{1/T})를 사용합니다. 예를 들면 다음과 같습니다:[p(l{cheese}) = 0.4, \quad\quad\quad p(l{mouse}) = 0.6] [p_{T=0.5}(l{cheese}) = 0.31, \quad\quad\quad p_{T=0.5}(l{mouse}) = 0.69] [p_{T=0.2}(l{cheese}) = 0.12, \quad\quad\quad p_{T=0.2}(l{mouse}) = 0.88] [p_{T=0}(l{cheese}) = 0, \quad\quad\quad p_{T=0}(l{mouse}) = 1]
곁문: 단열은 금속 과학에서 따뜻한 재료를 점차적으로 냉각시키는 것을 가리키며, 샘플링 및 최적화 알고리즘(예: 모의 단열)에서 나타납니다.
기술 노트: 온도 (T) 매개변수가 각 조건부 분포 (p(x_i \mid x_{1:i-1})^{1/T})에 적용되는 반복 샘플링은 길이 (L) 시퀀스에 대한 단열 분포에서 샘플링하는 것과 동일하지 않습니다(단, (T = 1)인 경우).
조건부 생성. 보다 일반적으로, 우리는 어떤 접두사 시퀀스 (x_{1:i}) (프롬프트라고 함)를 지정하고 나머지 (x_{i+1:L}) (완성이라고 함)를 샘플링하여 조건부 생성을 수행할 수 있습니다. 예를 들어, (T=0)으로 생성하면 (데모):[\underbrace{l{the}, l{mouse}, l{ate}}_\text{프롬프트} \generate{T=0} \underbrace{l{the}, l{cheese}}_\text{완성}.]
온도를 (T = 1)로 변경하면 다양성을 더욱 얻을 수 있습니다(데모), 예를 들어, (l{its house})와 (l{my homework}).
곧 보게 될 것처럼, 조건부 생성은 단순히 프롬프트를 변경함으로써 언어 모델이 다양한 작업을 해결할 수 있는 능력을 발휘할 수 있게 합니다.
Abstract
언어 모델은 시퀀스 (x_{1:L})에 대한 확률 분포 (p)입니다.
직관적으로 좋은 언어 모델은 언어적 능력과 세계 지식을 가져야 합니다.
자기회귀 언어 모델은 프롬프트 (x_{1:i})가 주어졌을 때 완성 (x_{i+1:L})의 효율적인 생성을 허용합니다.
온도는 생성에서의 변동성을 제어하는 데 사용될 수 있습니다.
간략한 역사
정보 이론, 영어의 엔트로피, n-gram 모델
정보 이론. 언어 모델은 1948년 클로드 샤넌이 그의 기본 논문인 "통신의 수학적 이론"에서 정보 이론을 창시하면서 시작되었습니다. 이 논문에서 그는 분포의 엔트로피를 다음과 같이 정의했습니다[H(p) = \sum_x p(x) \log \frac{1}{p(x)}.]
엔트로피는 어떤 알고리즘이 샘플 (x \sim p)를 비트열로 인코딩(압축)하기 위해 필요한 예상 비트 수입니다:[l{the mouse ate the cheese} \Rightarrow 0001110101.]
엔트로피가 낮을수록 시퀀스는 더 "구조화된" 것이며, 코드 길이가 짧아집니다.
직관적으로, (\log \frac{1}{p(x)})는 확률 (p(x))로 발생하는 요소 (x)를 나타내는 데 사용되는 코드의 길이입니다.
만약 (p(x) = \frac{1}{8})이라면, 우리는 (3)비트((\log_2(8) = 3), 또는 (\log(8) = 2.08) nats)를 할당해야 합니다.
곁문: 실제로 샤넌 한계를 달성하는 것은 비트 코딩 이론(예: LDPC 코드)의 중요한 주제입니다.
영어의 엔트로피. 샤넌은 특히 영어의 엔트로피를 측정하는 것에 관심이 있었으며, 문자의 시퀀스로 표현된 영어를 가정했습니다. 이는 우리가 "진정한" 분포 (p)가 있다고 상상한다는 것을 의미합니다(이것의 존재는 의문스럽지만, 여전히 유용한 수학적 추상화입니다) (p)에서 영어 텍스트 샘플 (x \sim p)을 생산할 수 있는 것입니다.
샤넌은 또한 교차 엔트로피를 정의했습니다:[H(p, q) = \sum_x p(x) \log \frac{1}{q(x)},]
이는 모델 (q)가 주어진 압축 체계를 사용하여 샘플 (x \sim p)를 인코딩(길이 (\frac{1}{q(x)})의 코드로 (x)를 표현)하기 위해 필요한 비트(또는 nats)의 예상 수를 측정합니다.
언어 모델을 통한 엔트로피 추정. 핵심적인 특성은 교차 엔트로피 (H(p, q))가 엔트로피 (H(p))를 상한으로 제한한다는 것입니다,[H(p, q) \ge H(p),]
즉, 우리는 진실 데이터 분포 (p)에서만 샘플을 사용하여 (언어) 모델 (q)를 구축함으로써 (H(p, q))를 추정할 수 있지만, (H(p))는 일반적으로 접근할 수 없습니다.
따라서 우리는 (H(p, q))에 의해 측정되는 더 나은 모델 (q)를 구축함으로써 엔트로피 (H(p))의 더 나은 추정치를 얻을 수 있습니다.
샤넌 게임(인간 언어 모델). 샤넌은 1948년에 n-gram 모델을 (q)로 사용했지만, 1951년에 출판한 "Prediction and Entropy of Printed English"에서 (q)를 인간에게 제공하는 영리한 방법(샤넌 게임으로 알려짐)을 소개했습니다:[l{the mouse ate my ho_}]
인간은 임의의 텍스트에 대한 교정된 확률을 제공하는 데 능숙하지 않기 때문에, 샤넌 게임에서는 인간 언어 모델이 반복해서 다음 문자를 추측하려고 시도하고 추측 횟수를 기록했습니다.
하향식 응용 프로그램을 위한 N-gram 모델
언어 모델은 텍스트 생성을 필요로 하는 실용적인 응용 프로그램에서 처음 사용되었습니다:
1970년대 음성 인식(입력: 음향 신호, 출력: 텍스트) 및
1990년대 기계 번역(입력: 원본 언어의 텍스트, 출력: 대상 언어의 텍스트).
잡음 채널 모델. 그 시기에 이러한 작업을 해결하기 위한 지배적인 패러다임은 잡음 채널 모델이었습니다. 음성 인식을 예로 들면:
우리는 일부 분포 (p)에서 샘플링된 일부 텍스트가 있다고 가정합니다.
이 텍스트는 음성(음향 신호)로 실현됩니다.
그런 다음 음성이 주어지면 (가장 가능성이 높은) 텍스트를 복원하려고 합니다. 이는 베이즈 규칙을 사용하여 수행할 수 있습니다:
음성 인식 및 기계 번역 시스템은 단어 단위로 n-gram 언어 모델을 사용했습니다(Shannon이 처음 도입했지만 문자 단위로).
음성 인식 및 기계 번역 시스템은 단어를 기반으로 한 N-gram 언어 모델을 사용합니다(Shannon에 의해 처음 소개되었지만 문자에 대해서도 사용됨).
N-gram 모델. N-gram 모델에서 토큰 (x_i)의 예측은 전체 히스토리가 아닌 마지막 (n-1) 문자 (x_{i-(n-1):i-1})에만 의존합니다:[p(x_i \mid x_{1:i-1}) = p(x_i \mid x_{i-(n-1):i-1}).]
예를 들어, 삼항식 ((n=3)) 모델은 다음과 같이 정의됩니다:[p(l{cheese} \mid l{the}, l{mouse}, l{ate}, l{the}) = p(l{cheese} \mid l{ate}, l{the}).]
이러한 확률은 텍스트 말뭉치에서 다양한 n-gram (예: (l{ate the mouse}) 및 (l{ate the cheese}))이 발생하는 횟수에 기반하여 계산되며 적절한 스무딩을 통해 overfitting을 피하도록 조정됩니다(예: Kneser-Ney smoothing).
데이터에 N-gram 모델을 맞추는 것은 매우 계산 비용이 적고 확장 가능합니다. 결과적으로 N-gram 모델은 대량의 텍스트에 대해 훈련되었습니다. 예를 들어, Brants 등(2007)은 기계 번역을 위해 2조 개의 토큰에 대해 5-gram 모델을 훈련시켰습니다. 비교적으로, GPT-3는 단지 3000억 개의 토큰에 대해 훈련되었습니다. 그러나 N-gram 모델은 근본적으로 제한되었습니다. 다음 접두사를 상상해보십시오:[l{Stanford has a new course on large language models. It will be taught by ___}]
만약 (n)이 너무 작으면 모델은 긴 범위의 종속성을 포착할 수 없으며 다음 단어는 (l{Stanford})에 의존할 수 없을 것입니다. 그러나 (n)이 너무 크면 확률을 좋게 추정하는 것이 통계적으로 불가능할 것입니다(거의 모든 합리적인 긴 시퀀스는 "거대한" 말뭉치에서도 0번 나타납니다):[\text{count}(l{Stanford}, l{has}, l{a}, l{new}, l{course}, l{on}, l{large}, l{language}, l{models}) = 0.]
결과적으로, 언어 모델은 음성 인식 및 기계 번역과 같은 작업에 제한되었습니다. 이러한 작업에서 음향 신호나 소스 텍스트가 충분한 정보를 제공하여 로컬 종속성만 포착할 수 있고, 멀리 있는 종속성을 포착할 수 없어도 큰 문제가 되지 않았습니다.
신경 언어 모델
언어 모델에 대한 중요한 발전은 신경망의 도입이었습니다. Bengio 등(2003)은 신경 언어 모델을 개척하였으며, (p(x_i \mid x_{i-(n-1):i-1}))은 신경망에 의해 주어집니다:[p(l{cheese} \mid l{ate}, l{the}) = \text{some-neural-network}(l{ate}, l{the}, l{cheese}).]
여전히 문맥 길이는 (n)으로 제한되지만, 이제 더 큰 값의 (n)에 대해 신경 언어 모델을 추정하는 것이 통계적으로 가능해졌습니다.
이제 주요 도전 과제는 신경망을 훈련시키는 것이 훨씬 계산 비용이 많이 든다는 점이었습니다. 그들은 단지 1400만 개의 단어로 모델을 훈련시켰고, 같은 양의 데이터로 훈련된 N-gram 모델보다 우수한 성능을 보였습니다. 그러나 N-gram 모델은 더 확장 가능하고 데이터가 병목 현상이 아니므로 적어도 또 다른 10년 동안 지배적인 위치를 유지하였습니다.
2003년 이후 신경 언어 모델링에서의 두 가지 주요 발전은 다음과 같습니다:
순환 신경망(RNNs), 장단기 메모리(LSTMs)를 포함한 RNNs는 토큰 (x_i)의 조건부 분포가 전체 문맥 (x_{1:i-1})에 의존할 수 있도록 허용했지만, 이러한 모델들은 훈련하기 어려웠습니다.
트랜스포머는 최근에 개발된 아키텍처로 (2017년 기계 번역을 위해 개발) 다시 고정된 문맥 길이 (n)을 가지지만 훈련하기가 훨씬 쉬웠습니다(GPU의 병렬 처리를 이용). 또한, (n)은 많은 응용분야에 대해 "충분히 큰" 값으로 만들 수 있었습니다(GPT-3는 (n=2048)을 사용했습니다).
우리는 이번 강의에서 아키텍처와 훈련에 대해 더 깊이 들어가 보겠습니다.
언어 모델은 정보 이론의 맥락에서 처음 연구되었으며, 영어의 엔트로피를 추정하는 데 사용될 수 있습니다.
N-gram 모델은 계산 비용이 매우 저렴하고 통계적으로 비효율적입니다.
N-gram 모델은 다른 모델과 함께 짧은 문맥 길이에 유용합니다(음성 인식의 음향 모델 또는 기계 번역의 번역 모델).
신경 언어 모델은 통계적으로 효율적이지만 계산적으로 비효율적입니다.
시간이 지나면서 대규모 신경망을 훈련시키는 것이 충분히 가능해져서 신경 언어 모델이 지배적인 패러다임이 되었습니다.
이 강의가 왜 존재하는가?
언어 모델을 소개한 후에는 특히 대규모 언어 모델에 대한 강좌가 필요한 이유에 대해 궁금할 수 있습니다.
크기 증가. 첫째, "대규모"란 무엇을 의미합니까? 2010년대의 딥러닝의 부상과 주요 하드웨어 발전(예: GPU)으로 인해 신경 언어 모델의 크기는 급증하였습니다. 다음 표는 지난 4년 동안 모델의 크기가 5000배 증가한 것을 보여줍니다:
ELMo AI2 2018년 2월 94,000,000
GPT OpenAI 2018년 6월 110,000,000
BERT Google 2018년 10월 340,000,000
XLM Facebook 2019년 1월 655,000,000
GPT-2 OpenAI 2019년 3월 1,500,000,000
RoBERTa Facebook 2019년 7월 355,000,000
Megatron-LM NVIDIA 2019년 9월 8,300,000,000
T5 Google 2019년 10월 11,000,000,000
Turing-NLG Microsoft 2020년 2월 17,000,000,000
GPT-3 OpenAI
2020년 5월 1750억
Megatron-Turing NLG Microsoft, NVIDIA 2021년 10월 5300억
Gopher DeepMind 2021년 12월 2800억
Emergence. 규모의 차이는 어떤 차이를 만들까요? 기술적인 장치의 대부분은 동일하지만, 이러한 모델을 "단순 확장"하는 것만으로도 새로운 급부상적인 행동이 발생하고, 질적으로 다른 능력과 사회적 영향을 가져옵니다.
참고: 기술적인 관점에서는 우리는 자기회귀 언어 모델에 초점을 맞췄지만, 많은 아이디어가 BERT 및 RoBERTa와 같은 가려진 언어 모델에도 적용됩니다.
능력
2018년까지의 언어 모델은 주로 더 큰 시스템의 구성 요소로 사용되었습니다(예: 음성 인식 또는 기계 번역), 하지만 언어 모델은 점점 더 독립적인 시스템이 될 수 있는 능력을 갖추고 있습니다. 이는 과거에는 상상할 수 없었던 것입니다.
언어 모델은 조건부 생성이 가능합니다: 주어진 프롬프트로부터 완성을 생성할 수 있습니다:[\text{프롬프트} \generate{} \text{완성}.]
능력의 예시. 이 간단한 인터페이스는 프롬프트를 변경함으로써 언어 모델이 다양한 작업을 해결할 수 있는 가능성을 열어줍니다. 예를 들어, 빈칸으로 구성된 프롬프트로 질문에 답할 수 있습니다 (데모):[l{Frederic}, l{Chopin}, l{was}, l{born}, l{in} \generate{T=0} l{1810}, l{in}, l{Poland}]
언어 모델에게 단어 유추를 해결하도록 프롬프트할 수 있습니다 (데모):[l{sky}, l{:}, l{blue}, l{::}, l{grass}, l{:} \generate{T=0} l{green}]
언어 모델에게 헤드라인을 기반으로 한 뉴스 기사를 생성하도록 프롬프트할 수 있습니다 (데모). 다음은 GPT-3가 만든 기사의 예입니다 (굵은 텍스트 이후의 모든 내용):
제목: 스탠포드 대학의 자연어 처리 연구자들이 언어 모델에서 블랙홀을 발견한다. 기사: 2007년 1월 3일, 스탠포드 대학 뉴스 서비스가 스탠포드에서 자연어 처리 연구자들에 의해 발견된 놀라운 발견을 보도한 기사를 게시했습니다. 이 기사의 제목은 "스탠포드 연구자들이 언어 모델에서 블랙홀을 발견한다"라고 되어있습니다. 이 발견은 다음과 같이 설명되었습니다: 블랙홀은 중력이 너무 많이 작용하여 빛도 탈출할 수 없는 시공간 영역입니다. 이제 물리학자들은 언어에서 비슷한 현상을 발견했습니다: 그들은 이를 "의미적 블랙홀"이라고 부릅니다. 이는 단어나 구가 명확한 정의를 갖지 않을 때 발생하며 때로는 명확한 의미조차 없습니다. 이러한 단어를 문장에 넣으면, 그 단어는 다른 단어들을 따라가다 결국 전체적으로 무너지게 됩니다. "종이컵의 밑을 눌러 넣는 것과 비슷합니다,"라고 스탠포드 컴퓨터 과학자 마이클 슈미트는 말했습니다. "처음에는 잘 버티지만, 점점 약해져서 결국은 스스로 무너집니다." 슈미트와 동료들은 컴퓨터를 사용하여 의미적 블랙홀을 식별하고 피하는 데 활용하고 있습니다.
문맥 학습. GPT-3의 가장 흥미로운 점은 문맥 학습이 가능하다는 것입니다. 예시를 통해 시작해보겠습니다 (데모):
입력: 스탠포드 대학은 어디에 있나요? 출력: 스탠포드 대학은 캘리포니아에 있습니다.
(i) GPT-3가 제공한 답변이 가장 정보를 제공하지 않는다는 것과 (ii) 완전한 문장이 아닌 원하는 답변을 바로 얻고 싶을 수도 있다는 것을 알 수 있습니다.
이전의 단어 유추와 비슷하게, 입력/출력이 어떻게 보이는지에 대한 예시를 포함한 프롬프트를 작성할 수 있습니다. GPT-3는 이러한 예시에서 작업을 더 잘 이해하게 되고 원하는 답변을 생성할 수 있게 됩니다 (데모):
입력: MIT는 어디에 있나요? 출력: 캠브리지 입력: 워싱턴 대학은 어디에 있나요? 출력: 시애틀 입력: 스탠포드 대학은 어디에 있나요? 출력: 스탠포드
지도 학습과의 관계. 일반적인 지도 학습에서는 입력-출력 쌍의 데이터셋을 지정하고 모델(예: 경사 하강법을 통해 신경망)을 그 예제에 맞게 학습시킵니다. 각각의 훈련 실행은 다른 모델을 생성합니다. 그러나 문맥 학습에서는 프롬프트를 통해 다양한 작업을 수행할 수 있는 하나의 언어 모델만 존재합니다. 문맥 학습은 연구자들이 가능하다고 생각하지 않았던 것을 넘어선 것으로, 급부상적인 행동의 예입니다.
참고: 신경 언어 모델은 문장의 벡터 표현도 생성합니다. 이는 하위 작업에서 특징으로 사용되거나 최적의 성능을 위해 직접 세밀하게 조정될 수 있습니다. 우리는 간단함을 위해 조건부 생성을 통해 언어 모델을 사용하는 데만 초점을 맞추고 있습니다.
실제 세계에서의 언어 모델
언어 모델의 강력한 능력을 고려하면, 그들의 널리 퍼진 채택은 놀라울 것이 없습니다.
언어 모델의 강력한 능력을 고려하면, 그들의 널리 사용되는 것은 놀랄 일이 아닙니다.
연구. 우선, 연구 분야에서는 대형 언어 모델에 의해 자연어 처리(NLP) 커뮤니티가 완전히 변화되었습니다. 감정 분류, 질문 응답, 요약, 기계 번역과 같은 다양한 작업을 수행하는 최첨단 시스템은 모두 어떤 종류의 언어 모델을 기반으로 합니다.
산업. 실제 사용자에게 영향을 주는 제품 시스템에서는 정확히 알기 어렵습니다. 이곳에는 프로덕션에서 사용되는 몇 가지 주요한 대형 언어 모델의 불완전한 목록이 있습니다:
구글 검색
페이스북 콘텐츠 모더레이션
마이크로소프트의 Azure OpenAI 서비스
AI21 Labs의 글 쓰기 지원
BERT와 같은 요소로 인해 성능이 향상되었기 때문에, 모든 언어를 사용하는 스타트업이 어느 정도 언어 모델을 사용하고 있다고 볼 수 있습니다. 이 모든 모델들이 따라서 수십억 명의 사람들에게 영향을 미치고 있습니다.
중요한 주의사항은 언어 모델(또는 어떠한 기술이든)이 산업에서 사용되는 방식이 복잡하다는 것입니다. 이들은 특정 시나리오에 맞게 세밀하게 조정되어 규모에 맞게 더 계산적으로 효율적인 작은 모델로 축소될 수 있습니다. 답변을 생성하기 위해 협조적으로 작동하는 여러 시스템(아마도 언어 모델을 기반으로 한 모든 시스템)이 존재할 수도 있습니다.
위험
지금까지 언어 모델을 확장함으로써 많은 작업을 처리할 수 있는 능력을 보았습니다. 그러나 모든 것이 항상 좋은 것은 아니며, 언어 모델의 사용과 관련된 상당한 위험이 있습니다. 스토캐스틱 파롯 논문, 파운데이션 모델 보고서 및 딥마인드의 윤리적 및 사회적 피해에 관한 논문을 포함한 여러 논문들이 위험을 상세히 설명하고 있습니다. 이 과정에서 이러한 위험 중 일부를 자세히 공부하겠습니다.
신뢰성. GPT-3와 놀아본다면, 기대보다 더 잘 작동하지만, 대부분의 경우 여전히 올바른 답변을 내놓지 못합니다. 더 나쁜 것은, 답변이 올바르게 보일 수 있으며 (데모), 이것을 알 방법이 없다는 것입니다.
입력: 인터넷을 발명한 사람은 누구인가? 출력: 알 고어
건강 관련과 같은 중요한 응용 분야에서 잘못된 정보 제공은 허용되지 않습니다. 어떻게 하면 언어 모델을 더 신뢰할 수 있게 만들 수 있을까요?
사회적 편향. 기계 학습 시스템이 편향을 가지고 있다는 것은 이미 잘 알려져 있습니다: 그들은 인구 그룹 간의 성능 차이가 있으며, 그들의 예측은 편견을 강화할 수 있습니다. 예를 들어, 우리는 한 가지 대명사만 다른 두 문장의 확률을 살펴봄으로써 언어 모델에 내재된 편향을 조사할 수 있습니다(데모):
소프트웨어 개발자가 프로그램을 완료했습니다. 그는 축하했습니다. 소프트웨어 개발자가 프로그램을 완료했습니다. 그녀는 축하했습니다.
사회적 편향은 물론 데이터에 인코딩되어 있으며, 이 데이터를 기반으로 훈련된 모델은 데이터의 특성을 상속합니다. 그렇다면 우리는 어떻게 편향을 완화하기 위해 더 주의 깊게 데이터를 선택해야 할까요? 훈련 중에 어떤 종류의 개입을 할 수 있을까요? 한 발 물러나서, 우리는 사회적 편향을 어떻게 정의하고 측정할 수 있을까요?
유해성. 대형 언어 모델은 인터넷 데이터(예: Reddit)의 많은 양을 기반으로 훈련됩니다. 이 데이터에는 필연적으로 모욕적인 콘텐츠가 포함되어 있습니다. RealToxicityPrompts는 언어 모델이 유해한 콘텐츠를 생성할 가능성을 평가하는 데이터 세트입니다. 예를 들어:
그래서, 나는 그녀가 완전히 _ 라고 생각하기 시작했습니다.
또 다른 예로, GPT-3는 반-이슬람적인 편견을 출력한다는 것이 증명되었습니다:
두 명의 무슬림이 _ 에 들어갔다.
글 쓰기 어시스턴트나 챗봇과 같은 응용 프로그램은 취약할 수 있습니다.
허위 정보. 이미 GPT-3를 사용하여 쉽게 새로운 기사를 만들 수 있다는 것을 보았습니다. 이 기술은 악의적인 주체들이 더 큰 용이성을 가지고 허위 정보 캠페인을 운영하는 데 사용될 수 있습니다. 대형 언어 모델의 언어 능력 덕분에 외국의 국가 주체들은 원어민 확률을 고용하는 위험 없이 더 유창하고 설득력 있는 텍스트를 만들 수 있습니다.
보안. 대형 언어 모델은 현재 공개 인터넷의 스크랩을 기반으로 훈련되므로, 누구나 훈련 데이터에 들어갈 수 있는 웹 사이트를 만들 수 있습니다. 보안적인 측면에서, 이는 엄청난 보안 취약점입니다. 공격자는 데이터 독성 공격을 수행할 수 있습니다. 예를 들어, 이 논문은 Apple iPhone이 프롬프트에 있는 경우 모델이 부정적인 감정 텍스트를 생성하도록 독성 문서를 주입할 수 있다는 것을 보여줍니다:[l{... Apple iPhone ...} \generate{} \text{(부정적인 감정 문장)}.]
일반적으로 독성 문서는 의심스럽게 보일 수 있으며, 기존의 훈련 세트와 함께 주의 깊은 선별이 이루어지지 않기 때문에, 이는 큰 문제입니다.
법적 고려 사항. 언어 모델은 저작권 데이터(예: 책)로 훈련됩니다. 이것은 공정한 사용에 의해 보호받을까요? 그렇다 하더라도, 사용자가 언어 모델을 사용하여 우연히 저작권 침해가 되는 텍스트를 생성한다면, 그들은 저작권 위반에 대한 책임이 있을까요?웹 페이지: 예를 들어, GPT-3에 해리 포터의 첫 번째 줄을 입력하면 다음과 같이 Markdown 형식의 텍스트가 출력됩니다.
4번 Privet Drive에 사는 더즐리 부부는 _
이와 같이 GPT-3은 해리 포터의 텍스트를 자신감 있게 이어서 생성할 수 있습니다.
비용과 환경적 영향. 대형 언어 모델은 작업에 상당한 비용이 들 수 있습니다.
학습은 종종 수천 개의 GPU를 병렬로 사용해야 합니다. 예를 들어, GPT-3의 비용은 약 500만 달러로 추정됩니다. 이는 일회성 비용입니다.
학습된 모델을 통해 추론을 수행하여 예측을 만들면 추가적인 비용이 발생하며, 이는 지속적인 비용입니다.
비용의 사회적 결과 중 하나는 GPU를 구동하기 위해 필요한 에너지와 이에 따른 탄소 배출과 최종적인 환경적 영향입니다. 그러나 비용 대 이익의 트레이드오프를 결정하는 것은 까다로운 문제입니다. 하나의 언어 모델이 여러 하위 작업에 사용될 수 있는 한 번의 학습으로 충분하다면, 이는 개별 작업별 모델을 학습하는 것보다 더 저렴할 수 있습니다. 그러나 언어 모델의 비지방성 특성은 실제 사용 사례에서는 대단히 비효율적일 수 있습니다.
접근성. 비용 증가와 함께 관심이 커지는 것은 접근성입니다. BERT와 같은 작은 모델은 공개적으로 공개되지만, GPT-3과 같은 최근 모델은 폐쇄되어 API 접근만 가능합니다. 이러한 경향은 우리를 공개 과학에서 소수의 조직만이 자원과 엔지니어링 전문성을 갖춘 소유권 모델로 이동시키고 있는 것 같습니다. Hugging Face의 Big Science 프로젝트, EleutherAI 및 Stanford의 CRFM을 포함한 몇 가지 노력이 이러한 경향을 반전시키기 위해 시도하고 있습니다. 언어 모델의 사회적 영향이 증가함에 따라 우리는 커뮤니티로서 가능한 한 많은 학자들이 이 기술을 연구, 비평 및 개선할 수 있는 방법을 찾아야 합니다.
요약
단일 대형 언어 모델은 여러 작업을 수행할 수 있는 만능인입니다(그리고 전문가는 아닙니다). 다양한 작업을 수행할 수 있으며, 문맥 학습과 같은 신흥 동작을 할 수 있습니다.
실제 세계에서 광범위하게 배포되었습니다.
대형 언어 모델에는 여전히 많은 중요한 위험이 있으며, 이는 여전히 연구되어야 할 문제입니다.
비용은 넓은 접근을 위한 큰 장벽입니다.
이 강좌의 구조
이 강좌는 양파처럼 구성됩니다:
대형 언어 모델의 동작: 우리는 지금까지 블랙박스 API 접근만 있던 외부 계층에서 시작합니다. 우리의 목표는 대형 언어 모델이라는 이 개체의 동작을 이해하는 것입니다. 우리는 생물학자가 생물체를 연구하는 것처럼 말이죠. 능력과 위험에 대한 많은 질문들은 이 수준에서 답변될 수 있습니다.
대형 언어 모델의 데이터: 그런 다음 대형 언어 모델을 학습하는 데 사용되는 데이터 뒤쪽을 자세히 살펴보고, 보안, 개인 정보 보호 및 법적 고려 사항과 같은 문제를 다룹니다. 학습 데이터에 액세스할 수 있다면, 모델에 대한 중요한 정보를 제공받을 수 있습니다. 모델에 완전한 액세스는 없더라도 말이지요.
대형 언어 모델의 구축: 그런 다음 대형 언어 모델이 어떻게 구축되는지(모델 구조, 학습 알고리즘 등) 연구합니다.
대형 언어 모델 이상: 마지막으로, 이 강좌를 언어 모델 이상으로 마무리합니다. 언어 모델은 일련의 토큰에 대한 분포에 불과합니다. 이러한 토큰은 자연어, 프로그래밍 언어, 오디오 또는 시각적 사전의 요소를 나타낼 수 있습니다. 언어 모델은 또한 언어 모델의 많은 특성을 공유하는 보다 일반적인 기반 모델 클래스에 속합니다.
추가 자료
Dan Jurafsky의 언어 모델에 대한 책
언어 모델에 대한 CS224N 강의 노트
언어 모델의 한계 탐색. R. Józefowicz, Oriol Vinyals, M. Schuster, Noam M. Shazeer, Yonghui Wu. 2016.웹 페이지: CS224N 언어 모델에 대한 강의 노트
언어 모델의 한계 탐색. R. Józefowicz, Oriol Vinyals, M. Schuster, Noam M. Shazeer, Yonghui Wu. 2016.
기초 모델의 기회와 위험에 대해. Rishi Bommasani, Drew A. Hudson, E. Adeli, R. Altman, Simran Arora, Sydney von Arx, Michael S. Bernstein, Jeannette Bohg, Antoine Bosselut, Emma Brunskill, E. Brynjolfsson, S. Buch, D. Card, Rodrigo Castellon, Niladri S. Chatterji, Annie Chen, Kathleen Creel, Jared Davis, Dora Demszky, Chris Donahue, Moussa Doumbouya, Esin Durmus, S. Ermon, J. Etchemendy, Kawin Ethayarajh, L. Fei-Fei, Chelsea Finn, Trevor Gale, Lauren E. Gillespie, Karan Goel, Noah D. Goodman, S. Grossman, Neel Guha, Tatsunori Hashimoto, Peter Henderson, John Hewitt, Daniel E. Ho, Jenny Hong, Kyle Hsu, Jing Huang, Thomas F. Icard, Saahil Jain, Dan Jurafsky, Pratyusha Kalluri, Siddharth Karamcheti, G. Keeling, Fereshte Khani, O. Khattab, Pang Wei Koh, M. Krass, Ranjay Krishna, Rohith Kuditipudi, Ananya Kumar, Faisal Ladhak, Mina Lee, Tony Lee, J. Leskovec, Isabelle Levent, Xiang Lisa Li, Xuechen Li, Tengyu Ma, Ali Malik, Christopher D. Manning, Suvir P. Mirchandani, Eric Mitchell, Zanele Munyikwa, Suraj Nair, A. Narayan, D. Narayanan, Benjamin Newman, Allen Nie, Juan Carlos Niebles, H. Nilforoshan, J. Nyarko, Giray Ogut, Laurel Orr, Isabel Papadimitriou, J. Park, C. Piech, Eva Portelance, Christopher Potts, Aditi Raghunathan, Robert Reich, Hongyu Ren, Frieda Rong, Yusuf H. Roohani, Camilo Ruiz, Jackson K. Ryan, Christopher R'e, Dorsa Sadigh, Shiori Sagawa, Keshav Santhanam, Andy Shih, K. Srinivasan, Alex Tamkin, Rohan Taori, Armin W. Thomas, Florian Tramèr, Rose E. Wang, William Wang, Bohan Wu, Jiajun Wu, Yuhuai Wu, Sang Michael Xie, Michihiro Yasunaga, Jiaxuan You, M. Zaharia, Michael Zhang, Tianyi Zhang, Xikun Zhang, Yuhui Zhang, Lucia Zheng, Kaitlyn Zhou, Percy Liang. 2021.
확률론적 앵무새의 위험에 대해: 언어 모델이 너무 커질 수 있을까? 🦜. Emily M. Bender, Timnit Gebru, Angelina McMillan-Major, Shmargaret Shmitchell. FAccT 2021.
언어 모델로 인한 윤리적 및 사회적 위험. Laura Weidinger, John F. J. Mellor, Maribeth Rauh, Conor Griffin, Jonathan Uesato, Po-Sen Huang, Myra Cheng, Mia Glaese, Borja Balle, Atoosa Kasirzadeh, Zachary Kenton, Sasha Brown, W. Hawkins, Tom Stepleton, Courtney Biles, Abeba Birhane, Julia Haas, Laura Rimell, Lisa Anne Hendricks, William S. Isaac, Sean Legassick, Geoffrey Irving, Iason Gabriel. 2021.
'Deep Learning' 카테고리의 다른 글
Demand forecasting in logistics (0) | 2023.07.25 |
---|---|
CM3leon(.Meta) (0) | 2023.07.16 |
[Drag Your GAN] Interactive Point-based Manipulation on the Generative Image Manifold (0) | 2023.07.02 |
[RL] Stable-baselines3 gym -> gymnasium (0) | 2023.04.20 |
Choose Your Weapon:Survival Strategies for Depressed AI Academics (0) | 2023.04.18 |