본문으로 건너뛰기

© 2026 Molayo

Lilian헤드라인2026. 05. 14. 07:43

제어 가능한 신경망 텍스트 생성 (Controllable Neural Text Generation)

요약

본 문서는 강력한 비조건부 언어 모델(LM)을 사용하여 주제, 스타일, 감성 등 원하는 속성에 맞춰 제어 가능한 텍스트 콘텐츠를 생성하는 다양한 접근 방식을 다룹니다. 일반적인 LM은 대규모 웹 데이터로 학습되어 출력에 대한 정교한 제어가 어렵다는 한계가 있습니다. 이를 극복하기 위해 디코딩 전략(예: Top-k, Nucleus sampling)을 사용하거나, 프롬프트 디자인 또는 모델 미세 조정을 통해 출력을 원하는 방향으로 유도하는 여러 방법을 소개합니다.

핵심 포인트

  • 언어 모델은 대규모 비지도 웹 데이터로 학습되어 출력 속성 제어가 어렵다는 근본적인 한계가 있다.
  • 모델의 '조종 가능성(steerability)' 확보는 여전히 미해결 연구 과제이다.
  • 디코딩 전략을 활용하면 모델 가중치를 수정하지 않고도 샘플링 과정에 제한이나 선호도를 부여하여 생성 텍스트를 변경할 수 있다 (예: Top-k, Nucleus sampling).
  • 제어 가능한 콘텐츠 생성을 위해 디코딩 전략 적용, 프롬프트 디자인 최적화, 또는 베이스 모델 미세 조정 등의 방법이 사용된다.

[2021-02-01 업데이트: 여러 작업이 추가되고 많은 오타가 수정된 버전 2.0으로 업데이트되었습니다.]

[2021-05-26 업데이트: “프롬프트 디자인 (prompt design)” 섹션에 P-tuning 및 Prompt Tuning을 추가했습니다.]

[2021-09-19 업데이트: “비우도 학습 (unlikelihood training)”을 추가했습니다.]

웹에는 라벨링된 벤치마크 데이터셋보다 수십 배 더 많은 엄청난 양의 자유 텍스트 (free text)가 존재합니다. 최첨단 언어 모델 (LM)은 대규모의 비지도 (unsupervised) 웹 데이터로 학습됩니다. 다음 토큰 (next token)을 반복적으로 샘플링하여 언어 모델 (LM)로부터 샘플을 생성할 때, 우리는 주제, 스타일, 감성 (sentiment) 등 출력 텍스트의 속성에 대해 많은 제어를 할 수 없습니다. 많은 애플리케이션은 모델 출력에 대한 정교한 제어를 요구합니다. 예를 들어, 언어 모델 (LM)을 사용하여 아이들을 위한 읽기 자료를 생성하려 한다면, 출력되는 이야기가 안전하고, 교육적이며, 아이들이 이해하기 쉬운 방향으로 유도되기를 원할 것입니다.

강력한 비조건부 (unconditioned) 언어 모델을 어떻게 조종할 수 있을까요? 이 포스트에서는 비조건부 언어 모델을 사용하여 제어 가능한 콘텐츠 생성을 수행하는 몇 가지 접근 방식에 대해 깊이 있게 다룰 것입니다. 모델의 조종 가능성 (steerability)은 여전히 미해결 연구 과제라는 점에 유의하십시오. 소개되는 각 방법에는 각각의 장단점이 있습니다.

  • 테스트 시점에 가이드된 디코딩 (guided decoding) 전략을 적용하고 원하는 출력을 선택합니다.
  • 좋은 프롬프트 디자인 (prompt design)을 통해 가장 원하는 결과가 나오도록 최적화합니다.
  • 조건부 콘텐츠 생성을 수행하기 위해 베이스 모델 (base model) 또는 조종 가능한 레이어 (steerable layers)를 미세 조정 (Fine-tune) 합니다.

다음 논의에서, 우리는 사전 학습된 생성 언어 모델 $p_ heta$에 접근할 수 있다고 가정합니다. 이 모델은 다음 토큰 예측 (next token prediction)을 최적화함으로써 토큰 시퀀스에 대한 분포를 학습했습니다: $ \mathcal{L}\text{ML} = - \sum_t \log p\theta(x_t \vert x_{<t}) $.

디코딩 전략 (Decoding Strategies)

서로 다른 디코딩 방법을 채택함으로써, 모델 가중치 (weights)를 수정하지 않고도 샘플링 과정에 제한이나 선호도를 부여하여 생성된 샘플을 변경할 수 있습니다. 디코딩 전략이 학습 가능한 파라미터 (trainable parameter)의 값을 변경하지는 않지만, 이는 매우 중요한 구성 요소입니다.

일반적인 디코딩 방법 (Common Decoding Methods)

모델의 마지막 레이어 (final layer)가 어휘 공간 (vocabulary space)에 대한 로짓 (logits) $o$를 예측하므로, 온도 (temperature) $T$를 적용한 소프트맥스 (softmax)를 통해 다음 토큰을 샘플링할 수 있습니다. $i$번째 토큰을 샘플링할 확률은 다음과 같습니다.

낮은 온도는 분포를 더 날카롭게 (sharper) 만들고, 높은 값은 분포를 더 부드럽게 (softer) 만듭니다.

탐욕 탐색 (Greedy search): 항상 확률이 가장 높은 다음 토큰을 선택하며, 이는 온도를 $T=0$으로 설정하는 것과 동일합니다. 하지만 잘 학습된 모델이라 할지라도 구절의 반복을 생성하는 경향이 있습니다.

빔 탐색 (Beam search): 본질적으로 트리 레벨당 하나의 토큰을 사용하는 너비 우선 탐색 (breadth-first search)을 수행하지만, 대역폭 (bandwidth)이 제한되어 있습니다. 탐색 트리 (search tree)의 각 레벨에서 빔 탐색은 $n$개(빔 너비 (beam width)라고 불림)의 최적 후보를 추적하며, 다음 레벨에서 이 후보들의 모든 후계자 (successors)를 확장합니다. 빔 탐색은 노드가 EOS (end-of-sentence, 문장 종료) 토큰에 도달하면 확장을 중단할 수 있습니다.

하지만 최대화 기반 (maximization-based) 디코딩이 고품질의 생성을 보장하지는 않습니다.

Top-k 샘플링 (Top-k sampling) (Fan et al., 2018): 각 샘플링 단계에서 가장 가능성이 높은 상위 $k$개의 토큰만 선택되며, 확률 질량 (probability mass)이 이들 사이에서 재분배됩니다. Fan et al., 2018에서 저자들은 다음 토큰이 상위 $k$개의 가장 가능성 높은 후보 중에서 무작위로 선택되는 *top-k 랜덤 샘플링 (top-k random sampling)*을 사용할 것을 제안했으며, 이 방식이 빔 탐색보다 더 참신하고 반복이 적은 콘텐츠를 생성할 수 있다고 주장했습니다.

핵 샘플링 (Nucleus sampling) (Holtzman et al. 2019):

Penalized sampling (Keskar et al. 2019): 중복된 부분 문자열 (substrings)을 생성하는 흔한 실패 사례를 방지하기 위해, CTRL 논문은 이전에 생성된 토큰 (tokens)의 점수를 할인함으로써 반복을 처벌하는 새로운 샘플링 방법을 제안했습니다. 반복 페널티 (repetition penalty)가 적용된 다음 토큰의 확률 분포는 다음과 같이 정의됩니다:

[수식 생략]

여기서 $g$는 이전에 생성된 토큰들의 집합을 포함하며, $\mathbb{1}(.)$은 항등 함수 (identity function)입니다. $\theta=1.2$가 적은 반복과 진실된 생성 사이의 좋은 균형을 제공하는 것으로 밝혀졌습니다.

가이드 디코딩 (Guided Decoding)

위의 모든 표준 디코딩 (decoding) 전략은 추가 정보 없이 예측된 확률에 따라 토큰을 샘플링합니다. 주제나 감정 (sentiment)에 대한 우리의 선호도는 후보 순위 점수 (candidate ranking score)를 변경함으로써 샘플 생성을 유도할 수 있도록 후보 순위 함수에 포함될 수 있습니다. 각 디코딩 단계에서의 토큰 선택을 위한 순위 점수는 언어 모델 (LM) 로그 가능도 (log-likelihood)와 원하는 특징 판별기 (feature discriminators) 집합의 조합으로 설정될 수 있습니다. 이러한 특징들은 휴리스틱 (heuristics) (Ghazvininejad et al., 2017), 지도 학습 (supervised learning) (Holtzman et al., 2018) 또는 강화학습 (RL) (Li et al., 2017)을 통해 인간의 선호도를 정량화하도록 설계되었습니다.

Ghazvininejad et al. (2017)은 디코딩 단계에서 빔 서치 (beam search)의 샘플링 가중치를 조정함으로써 원하는 스타일의 시를 생성하는 "Hafez"라는 시스템을 구축했습니다. 단계 $t$에서 다음 토큰 $x_{t+1}$을 샘플링할 가능성은 다음과 같은 점수 함수에 의해 증강됩니다:

[수식 생략]

여기서 $\log p(x_{t+1})$은 LM에 의해 예측된 로그 가능도입니다. $\text{score}(b_t)$는 현재 빔 상태 $b_t$에서 이미 생성된 단어들의 누적 점수입니다. 녹색 부분은 출력의 스타일을 조종하기 위한 많은 다양한 특징들을 통합할 수 있습니다. 특징 함수 (feature functions) 집합 $f_i(.)$가 선호도를 정의하며, 관련 가중치 $\alpha_i$는 디코딩 시점에 쉽게 맞춤 설정할 수 있는 "제어 노브 (control knobs)"와 같이 작동합니다. 특징들은 다양한 속성을 측정할 수 있으며 쉽게 결합될 수 있습니다; 예를 들어,

  • $x_{t+1}$이 원하는 주제어(topical words) 또는 금지된 주제어 집합(bag)에 포함되는지 여부.
  • $x_{t+1}$이 특정 감정(sentiments)을 나타내는지 여부.
  • $x_{t+1}$이 반복된 토큰(repeated token)인지 여부 (이 경우 $f_i$ 역시 이력(history)을 입력으로 받아야 함).
  • 특정 길의 단어가 선호되는 경우 $x_{t+1}$의 길이.

Hafez와 유사하게, Baheti et al. (2018)은 랭킹(ranking)을 위해 수동으로 특징(features)을 설계하였으며, 문맥(context)과 완성된 문장(completion) 사이의 주제 분포(topic distribution) 또는 임베딩(embeddings) 간의 유사도 점수를 추가함으로써 샘플링 분포(sampling distribution)를 변경하였습니다.

Holtzman et al. (2018)은 Grice의 격률(Grice’s maxims)에 의해 유도되는 의사소통의 서로 다른 원칙인 질(quality), 양(quantity), 관련성(relation), 태도(manner)에 특화된 일련의 학습된 판별기(learned discriminators)를 채택하였습니다. 판별기들은 각각 반복(repetition), 함의(entailment), 관련성(relevance), 어휘적 다양성(lexical diversity)을 측정함으로써 이러한 원하는 원칙들을 인코딩하도록 학습됩니다. 정답 완성 문장(ground truth completion)이 주어지면, 모든 판별기 모델은 랭킹 로그 가능도(ranking log-likelihood), $\log\sigma(f_i(y_g) - f_i(y))$를 최소화하도록 학습되는데, 이는 정답 문장 $y_g$가 생성된 문장 $y$보다 더 높은 점수를 얻어야 하기 때문입니다. 여기서 가중치 계수 $\alpha_i$ 또한 정답 표준(golden standard)과 생성된 완성 문장 사이의 점수 차이를 최소화하도록 학습됩니다. 판별적 적대적 탐색 (Discriminative Adversarial Search; DAS; Scialom et al., 2020)은 GAN에서 영감을 얻었으며, 판별기가 인간이 작성한 텍스트와 기계가 생성한 텍스트를 구별하도록 학습시킵니다. 판별기는 전체 시퀀스 대신 각 토큰에 대한 레이블을 예측합니다. 샘플링이 인간이 작성한 스타일로 유도되도록 판별기 로그 확률(discriminator logprob)이 점수에 추가됩니다.

Meister et al. (2020)은 정규화된 디코딩(regularized decoding) 프레임워크 내에서의 빔 서치(beam search)를 연구하였습니다:

최대 확률이 최소 놀라움(minimum surprise)을 가질 것으로 기대하기 때문에, 타임 스텝 $t$에서 언어 모델(LM)의 놀라움(surprisal)은 다음과 같이 정의될 수 있습니다:

MAP (maximum a posteriori, 최대 사후 확률) 부분은 주어진 문맥(context)에 대해 확률이 최대인 시퀀스를 요구하는 반면, 정규화 항(regularizer)은 다른 제약 조건들을 도입합니다. 전역 최적 전략(global optimal strategy)은 출력 길이를 단축하거나 이후에 더 낮은 놀라움(low-surprisal) 단계를 생성하기 위해, 때때로 높은 놀라움(high-surprisal) 단계를 가질 필요가 있을 수도 있습니다.

빔 서치 (Beam search)는 NLP 분야에서 오랜 시간 검증되어 왔습니다. 문제는 다음과 같습니다: 만약 우리가 빔 서치를 정규화된 디코딩 프레임워크 (regularized decoding framework) 내의 정확한 탐색 (exact search)으로 모델링하고자 한다면, $\mathcal{R}(\mathbf{y})$를 어떻게 모델링해야 하는가? 이 논문은 빔 서치와 균등 정보 밀도 (uniform information density, UID) 가설 사이의 연결 고리를 제안했습니다.

“균등 정보 밀도 가설 (UID; Levy and Jaeger, 2007)은 — 문법의 제약 조건 하에서 — 인간이 언어적 신호(예: 문장) 전체에 걸쳐 정보(정보 이론의 관점에서)를 균등하게 분배하는 문장을 선호한다고 명시합니다.”

다시 말해, 이 가설은 인간이 놀라움 (surprisal)이 고르게 분배된 텍스트를 선호한다고 가정합니다. top-k 샘플링 (top-k sampling)이나 뉴클리어 샘플링 (nuclear sampling)과 같은 대중적인 디코딩 방법들은 실제로 높은 놀라움의 옵션들을 걸러냄으로써, 출력 시퀀스에서 UID 속성을 암묵적으로 장려합니다.

이 논문은 여러 형태의 정규화 항 (regularizers)을 사용하여 실험했습니다:

Greedy (탐욕적): $\mathcal{R}\text{greedy}(\mathbf{y}) = \sum{t=1}^{\vert\mathbf{y}\vert} \big(u_t(y_t) - \min_{y’ \in \mathcal{V}} u_t(y’) \big)^2$; 만약 $\lambda \to \infty$로 설정하면, 탐욕적 탐색 (greedy search)을 수행하게 됩니다. 각 개별 단계에서 탐욕적이라고 해서 전역 최적성 (global optimality)이 보장되지는 않는다는 점에 유의하십시오.
Variance regularizer (분산 정규화 항): $\mathcal{R}\text{var}(\mathbf{y}) = \frac{1}{\vert\mathbf{y}\vert}\sum{t=1}^{\vert\mathbf{y}\vert} \big(u_t(y_t) - \bar{u} \big)^2$, 여기서 $\bar{u}$는 모든 타임스텝 (timesteps)에 대한 평균 놀람도 (average surprisal)입니다. 이는 UID 가설을 직접적으로 인코딩합니다.
Local consistency (지역적 일관성): $\mathcal{R}\text{local}(\mathbf{y}) = \frac{1}{\vert\mathbf{y}\vert}\sum{t=1}^{\vert\mathbf{y}\vert} \big(u_t(y_t) - u_{t-1}(y_{t-1}) \big)^2$; 이 디코딩 정규화 항 (decoding regularizer)은 인접한 토큰들이 유사한 놀람도를 갖도록 장려합니다.
Max regularizer (최대 정규화 항): $\mathcal{R}\text{max}(\mathbf{y}) = \max_t u_t(y_t)$는 놀람도의 최대 보상 (maximum compensation)에 대해 페널티를 부여합니다.
Squared regularizer (제곱 정규화 항): $\mathcal{R}
\text{square}(\mathbf{y}) = \sum_{t=1}^{\vert\mathbf{y}\vert} u_t(y_t)^2$는 모든 토큰이 0에 가까운 놀람도를 갖도록 장려합니다.

탐욕적 정규화 항 (greedy regularizers)을 사용한 실험 결과, 더 큰 $\lambda$ 값이 더 나은 성능 (예: NMT 작업에 대한 BLEU로 측정됨)과 더 낮은 놀람도의 표준 편차 (std dev)를 가져오는 것으로 나타났습니다.

기본적인 빔 서치 (beam search)는 빔 크기 (beam size)가 증가할 때 텍스트 생성 품질이 저하되는 경향이 있습니다. 정규화된 빔 서치 (Regularized beam search)는 이 문제를 완화하는 데 큰 도움이 됩니다. 결합된 정규화 항 (combined regularizer)은 성능을 더욱 향상시킵니다. NMT 실험에서 그들은 greedy의 경우 $\lambda=5$, squared의 경우 $\lambda=2$가 최적의 결합 정규화 항으로 작동한다는 것을 발견했습니다.

가이드 디코딩 (Guided decoding)은 본질적으로 인간의 선호도에 대한 부가 정보 (side information)에 의해 샘플링 확률 분포 (sampling probability distribution)가 변경되는, 더 비용이 많이 드는 빔 서치를 실행하는 것입니다.

학습 가능한 디코딩 (Trainable Decoding)

학습된 언어 모델이 주어졌을 때, Gu et al (2017)은 샘플링 시퀀스에 대한 임의의 목적 함수 (objective)를 최대화하기 위해 학습 가능한 탐욕적 디코딩 (trainable greedy decoding) 알고리즘을 제안했습니다. 이 아이디어는 *노이즈가 섞인 병렬 근사 디코딩 (noisy, parallel approximate decoding, NPAD)*에 기반합니다. NPAD는 모델의 은닉 상태 (hidden states)에 구조화되지 않은 노이즈 (unstructured noise)를 주입하고, 잠재적인 성능 저하를 피하기 위해 노이즈가 섞인 디코딩을 여러 번 병렬로 실행합니다. 한 단계 더 나아가, 학습 가능한 탐욕적 디코딩은 구조화되지 않은 노이즈를 학습 가능한 확률 변수 (learnable random variable)로 대체하며, 이 변수는 이전 은닉 상태, 이전 디코딩된 토큰, 그리고 컨텍스트 (context)를 입력으로 받는 강화학습 (RL) 에이전트에 의해 예측됩니다. 즉, 디코딩 알고리즘은 더 나은 결과를 위해 모델의 은닉 상태를 조작하는 강화학습 액터 (RL actor)를 학습합니다.

Grover et al. (2019)은 데이터 분포에서의 샘플과 생성 모델에서의 샘플을 구별하기 위해 이진 분류기 (binary classifier)를 학습시켰습니다. 이 분류기는 새로운 비정규화 분포 (unnormalized distribution)를 구축하기 위한 *중요도 가중치 (importance weights)*를 추정하는 데 사용됩니다. 제안된 전략은 **우도 없는 중요도 가중치 부여 (likelihood-free importance weighting, LFIW)**라고 불립니다.

$p$를 실제 데이터 분포라 하고, $p_ heta$를 학습된 생성 모델이라 합시다. $p_ heta$로부터 얻은 샘플을 사용하여 $p$ 하에서의 주어진 함수 $f$의 기댓값 (expectation)을 평가하는 고전적인 방법은 중요도 샘플링 (importance sampling)을 사용하는 것입니다.

하지만, $p(\mathbf{x})$는 유한한 데이터셋을 통해서만 추정될 수 있습니다. $c_\phi: \mathcal{X} \to [0,1]$를 샘플 $\mathbf{x}$가 실제 데이터 분포에서 왔는지 ($y=1$) 여부를 예측하는 확률적 이진 분류기라고 합시다. $\mathcal{X}\times\mathcal{Y}$에 대한 결합 분포 (joint distribution)는 $q(\mathbf{x}, y)$로 표기합니다.

만약 $c_\phi$가 베이즈 최적 (Bayes optimal)이라면, 중요도 가중치는 다음과 같이 추정될 수 있습니다:

$$\frac{c_\phi(\mathbf{x})}{1 - c_\phi(\mathbf{x})} \cdot \frac{1}{\gamma}$$

여기서 $\gamma = \frac{q(y=0)}{q(y=1)} > 0$는 고정된 오즈비 (odd ratio)입니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Lilian Weng Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0