Pseudpocalypse

Dynomight

슈도포칼립스

원문은 Dynomight님이 에 게재했습니다. 이 블로그 구독하기

하나의 추측을 던져보자. 인터넷에 서로 다른 이름으로 어느 정도 분량의 글을 올린다면, 그 글 자체만으로 그 정체들을 서로 연결할 수 있다는 것이다. 이는 (내가 추측컨대) 당신이 쓰는 모든 글에 남는 통계적 ‘지문’ 때문에 가능하다.

누군가 방금 쓴 완전히 새로운 텍스트를 붙여 넣으면, 그 필자가 지금까지 어떤 이름으로든 발표한 모든 글의 링크를 돌려주는 웹사이트를 상상해 보라. 완벽하지는 않지만 꽤 쓸 만하다. 내가 알기로 그런 웹사이트는 아직 없다 — 적어도 공개 인터넷에는 말이다. 하지만 나는 그것이 가능하고 곧 쉬워질 것이라 본다. 이는 가명으로 블로그를 하는 일을 꽤 어렵게 만들 것이다.

참고: 이 글의 대부분은 2025년 중반에 썼고, 그 뒤로 나는 바보같이 1년을 붙잡고 앉아 아무도 읽지 않을 정리들을 다듬었다.1 그 사이 LLM은 텍스트만으로 저자를 추측하는 능력이 훨씬 좋아졌다. (이 글 초안의 첫 1000단어를 주면 Claude 4.8은 내가 쓴 글임을 알아챈다.) 그래도 이제 겨우 시작이라고 생각한다. 점점 더 무명한 필자가 점점 더 적은 텍스트만으로 식별되는 것을 보게 될 것이다. 사람들이 전혀 다른 문체로, 전혀 관련 없는 주제에 대해 쓸 때조차 그럴 것이다. 그리고 내가 어떤 가명으로든 써온 모든 글이 곧 내 본명과 연결될 것이라 예상한다.2

더 강한 추측은 우리가 일종의 일반화된 슈도포칼립스로 향하고 있다는 것이다. 어쩌면 미래에는 본질적으로 어떤 고대역폭 채널을 통해 세상과 상호작용하더라도 곧바로 자신이 드러날지도 모른다. 가령 마스크를 쓰고 공공장소를 돌아다니며 목소리 대신 음성 변환기에 속삭여 말한다고 하자. 그래도 체형이나 걸음걸이, 화학적 특징으로 식별될 것이다. 혹은 차가 어디서나 추적되는 게 싫어 휴대전화를 들고 다니지 않고 어떻게든 의원들을 설득해 번호판을 금지시킨다고 하자. 괜찮다, 차는 미세한 흠집이나 엔진에서 나는 고유한 소리로 여전히 추적될 것이다. 혹은 인터넷에서 추적되는 게 싫어 브라우저 지문을 철저히 차단하고 Monero로만 결제하며 세 개의 VPN을 연쇄로 연결한다고 하자. 그래도 괜찮다. 페이지를 스크롤할 때 손가락을 까딱이는 방식으로 여전히 식별될 것이다. 우리는 모두 너무나 독특하며, 정보이론적 한계가 우리를 향해 오고 있다.

시작점: 비트

첫 원리부터 시작해보자. 태어날 때 모두가 무작위 이진 문자열을 하나씩 받는다고 상상해 보라. 인터넷에 무언가를 올릴 때마다 그 문자열로 서명해야 한다. 문자열이 0110처럼 아주 짧다면 다른 많은 사람과 같은 문자열을 갖게 될 것이다. 하지만 문자열이 아주 길다면 당신의 문자열은 거의 확실히 고유할 것이고 모든 가명을 연결하는 일은 식 trivial해질 것이다.

전환점은 어디일까? 저자가 현재 살아 있고 영어권 어딘가에 살고 있다는 것만 안다면, 그 지점은 29비트 근처다. K자리 숫자가 있다면 가능한 이진 문자열은 2ᴷ개이고, K = 28.86일 때 2ᴷ ≈ 490,000,000인데, 이는 현재 살아 있는 영어권 인구 수다. 문자열이 29비트보다 짧으면 다른 누군가가 같은 문자열을 가질 가능성이 높다. 29비트보다 길면 당신의 문자열은 아마도 고유하다.

우리는 (아직?) 우리가 쓰는 것에 불변의 정부 발급 문자열로 서명할 필요가 없다. 하지만 글을 쓰는 방식은 어조, 성격, 단어 선택 등을 통해 여전히 당신에 대한 많은 단서를 제공한다.

이론적으로 말하자면, 충분히 많이 쓰는 사람이라면 누구든 정체를 연결하는 것이 가능해야만 한다고 생각한다. 다시 모두가 태어날 때 무작위 이진 문자열을 받는다고 상상해 보라. 다만 이번에는 쓰는 것에 문자열로 서명할 필요가 없고, 단어를 쓸 때마다 문자열에서 무작위 비트 하나가 드러나 메시지에 서명으로 추가된다고 하자. 예를 들어 bit[129]=1이라는 서명이 추가되어 129번째 위치의 문자열 값이 1임을 나타내는 식이다.

당신의 문자열을 글쓰기 스타일의 모든 특징을 나타내는 것으로, 비트가 드러나는 것을 선호를 드러내는 글을 쓸 때로 생각해 보라. 예를 들어 18번 비트는 당신이 끔찍하게 띄어 쓴 em dash — 이렇게 — 를 선호하는지, 아니면 붙여 쓴 em dash—이렇게—를 선호하는지를 나타낼 수 있다. em dash를 사용하면 그 비트가 드러나는 것이다.

그러니 가명 A로 이미 많이 써서 전체 비트 문자열이 드러났다고 상상해 보라. 아마 이런 모습일 것이다:

Pseudonym A: 
110000001111001101110000100001
010100100101011110111001101000
100111110010101001101010111010

이제 가명 B로 글을 쓰기 시작한다고 하자. 처음에는 어떤 비트도 알려지지 않았을 것이다:

Pseudonym B: 
??????????????????????????????
??????????????????????????????
??????????????????????????????

하지만 천천히 몇 개의 비트가 새어나오기 시작할 것이다:

Pseudonym B:
?????00???1????1????????1??0??
?????01??1?????????11????01???
???1??????1???10??????????????

그리고 결국 많은 비트가 새어나올 것이다:

Pseudonym B:
???0?00?1?11??110??1????10?0??
?10?001?0101?11???11100?101???
???11?1??010??10?1?01??011????

이제 A와 B가 같은 사람인지 알고 싶어 하는 ‘공격자’ 관점에서 생각해 보라. 그들이 오직 위의 비트들만 보았고 다른 누구에 대해서도 아무 정보가 없다고 가정하자. 그렇다면 공격자가 아는 것은 다음과 같다:

  1. A와 B는 겹치는 K개의 비트를 드러냈고, 그 모두가 일치한다.
  2. 서로 다른 사람은 드러난 각 비트에서 일치할 확률이 50%다.
  3. 서로 다른 사람이 아닌 경우에는 드러난 각 비트에서 일치할 확률이 100%다.
  4. 다른 사람은 490,000,000명이 있다.

직관적으로, K가 5라면 모든 비트가 일치한다는 사실이 별로 증명이 되지 않는다. 4억 9천만 명이나 되니 우연히 그 비트들에서 일치하는 사람이 많이 있을 것이기 때문이다. 하지만 K가 70이라면, 그렇게 거대한 집단이 있더라도 서로 다른 두 사람이 모두 일치할 가능성은 극히 낮다. 무작위 비트를 가진 N명의 다른 사람이 있고 당신의 비트 중 K개를 고를 때, 그 모든 비트에서 일치하는 누군가가 존재할 확률은 1 - (1-2⁻ᴷ)ᴺ이다. N이 4억 9천만 명일 때 그 모습은 이렇다:

봐라, 29가 다시 등장한다. (수학이란 참 멋지지 않은가?) 일반적으로 전환은 2ᴷ ≈ N을 만드는 비트 수 K, 즉 K = log₂(N) 근처에서 일어난다.

가명 B로 29비트보다 훨씬 적게 드러냈다면, 그 모든 비트에서 일치하는 다른 누군가가 존재한다는 것이 거의 확실하다. 하지만 29비트보다 훨씬 많이 드러냈다면, 그 모든 비트에서 일치하는 다른 누군가가 존재할 가능성은 거의 없다. 그러니 공격자는 사실상 A와 B가 같은 사람임을 안다. 그리고 다시 강조하지만, 그들은 다른 4억 9천만 명의 어떤 것도 볼 필요 없이 그것을 안다.

물론 우리는 글을 쓸 때 문자 그대로 불변의 특성 문자열의 비트를 흘리지는 않는다. 하지만 모델을 더 현실적으로 만들어도 같은 문제는 남는다. 텍스트가 필자에 대해 노이즈 섞인 정보만 제공한다는 점을 반영하고 싶다면, 드러나기 전에 비트에 노이즈를 추가하면 된다. 어떤 글쓰기 스타일이 다른 것보다 더 흔하다는 점을 반영하고 싶다면 비트 문자열에 대한 분포를 균등하지 않게 만들면 된다. 어떤 특징이 다른 것보다 더 잘 드러난다는 점을 반영하고 싶다면 비트마다 드러날 확률을 다르게 주면 된다. 이 모든 것은 수학을 더 복잡하게 만들 뿐이다. 하지만 기본 결론은 바뀌지 않는다. 당신의 글쓰기 스타일에 최소 29비트 정보가 들어 있고, 충분히 많이 쓴다면 끝이다.

이것이 슈도포칼립스가 가능하다는 나의 논증이다. 하지만 나는 그것이 결국 가능할 수도 있다고만 주장하고 싶은 게 아니다. 나는 그것이 곧 일어날 가능성이 높고, 드러내야 하는 텍스트 양도 그리 많지 않다고 생각한다. 그 논증을 하려면 구체적으로 들어가야 한다. 사람들이 글에 반영하는 특성은 무엇인가? 그 특성들은 몇 비트의 정보를 담고 있는가? 그 비트들을 텍스트로부터 얼마나 정확하게 추측할 수 있는가?

참고: 이 글이 거대한 정보이론 강의가 되는 것을 피하기 위해, 나는 “비트”나 “정보” 같은 단어를 100% 엄밀하게 정의하지 않고 대체로 사용할 것이다. 이 글을 읽는 대부분이 비트 정의에 집착하는 사람이 아니라고 예상하고, 어쨌든 지나치게 기술적으로 가면 큰 그림이 흐려지기 때문이다. 당신이 정보이론 애호가이거나 내가 뭘 하고 있는지 의심스럽다면, 아래의 회의적인 정보이론 애호가를 위한 절을 참조하라. 그 전까지는 직관을 믿고 따라와 달라.

특성 공간

내가 위의 글들을 썼다는 것 외에는 나에 대해 아무것도 모른다고 하자. 그리고 내 나이나 종교, 직업을 추측해야 한다고 하자. 추측할 수는 있지 않은가? 완벽하지는 않겠지만, 그 글들을 읽지 않았을 때보다 훨씬 잘 맞출 것이다. 따라서 어떻게든 그 글들은 나의 인구통계적 특성에 대한 정보를 담고 있다. 그래서 나는 텍스트로부터 우연보다 약간이라도 더 잘 추측할 수 있을 것 같은 것들의 목록을 만들어봤다. 다음과 같다:

  • 나이
  • 학력
  • 인종/민족
  • 가족 상태
  • 소득
  • 결혼 상태
  • 정신 건강
  • 모국어
  • 직업
  • 신체 건강
  • 정치 성향
  • 거주 지역
  • 종교
  • 성별

같은 맥락에서, 위의 글만 읽고 내가 얼마나 외향적이거나 성실한지 추측할 수 있을까? 역시 완벽하지는 않다. (이 블로그를 읽는 사람을 직접 만나면, 내가 직사광선을 견딜 수 있다는 데 종종 놀라는 것 같다.) 하지만 그래도 꽤 잘 맞출 수 있을 것이라 확신한다. 그러니 다시, 이 글들은 내 성격에 대한 정보를 담고 있다.

성격에는 어떤 특성이 있는가? HEXACO 모델은 정직-겸손성, 정서성, 외향성, 원만성, 성실성, 경험에 대한 개방성이라는 6가지를 든다. 나는 이 모든 것을 충분히 긴 글 샘플로부터 합리적인 정확도로 추측할 수 있다고 본다. 하지만 더 추측할 수 있을까? 6가지 요인 각각에 대해 HEXACO 모델은 네 가지 “하위요인”을 든다. 추상적으로는 텍스트로부터 6 × 4 = 24가지 성격 특성을 추측하려는 시도가 터무니없게 들리지만, 목록을 직접 보라:

  • 정직-겸손성
    • 진실성
    • 공정성
    • 탐욕 회피
    • 겸손성
  • 정서성
    • 두려움
    • 불안
    • 의존성
    • 감상성
  • 외향성
    • 사회적 자존감
    • 사회적 대담성
    • 사교성
    • 활기
  • 원만성
    • 용서
    • 온화함
    • 유연성
    • 인내심
  • 성실성
    • 체계성
    • 근면성
    • 완벽주의
    • 신중성
  • 경험에 대한 개방성
    • 심미적 감상
    • 탐구심
    • 창의성
    • 비관습성

구체적인 사람을 떠올려보면, 이 24가지가 실제로 존재하는 것이며 텍스트로부터 추측하는 것이 그럴듯하다는 데 동의할 수 있을 것이다. (예를 들어 당신이 좋아하는 실존적 고뇌 + 과학 블로거는 다른 정직-겸손성 하위요인보다 “겸손성” 점수가 낮을지도 모른다.) 서로 다른 하위요인들은 분명 상관관계가 있지만, 완벽하게 상관되지는 않는다.

물론 사람들의 글에서 가장 많이 배우는 것은 그들이 어떻게 쓰는지다. 그들은 쓸데없이 분리부정사를 쓰는 경향이 있는가? 하이픈으로 연결된 단어를 쓰는가? 부사절을 잘못 배치하는가?

글쓰기 스타일 특성을 이용해 저자를 귀속시키는 아이디어는 적어도 1440년으로 거슬러 올라간다. 로렌초 발라가 콘스탄티누스 황제가 로마 제국을 가톨릭 교회에 기증했다는 콘스탄티누스의 기증장이 콘스탄티누스 사후 400년이 지나서야 등장한 속어를 사용했음을 보여 위조임을 증명한 것이다. 1851년 오거스터스 드모건은 같은 저자의 평균 단어 길이가 안정적인 경향이 있음을 관찰했다. 최초의 “현대적” 시도는 1964년 모스텔러와 월리스가 Inference in an Authorship Problem을 발표하면서 나온 것으로 보인다:

이 연구는 연방주의자 논집의 저자 문제를 해결하려는 시도이다. […]

변별에 사용되는 변수는 단어 빈도다. 쓰는 주제가 단어 사용 빈도에 큰 영향을 미치므로 단어 선택에 주의가 필요하다. an, of, upon 같은 언어의 기능어, 더 일반적으로는 관사, 전치사, 접속사는 비교적 안정적인 빈도를 제공하는 반면, war, executive, legislature 같은 더 의미 있는 단어는 그렇지 않다.

이러한 빈도의 분포를 조사한 뒤, 저자들은 베이지안 방법에 기반한 분석을 수행한다. […] 저자 문제에 대한 결론은 논란이 된 12편 모두 해밀턴이 아니라 매디슨이 썼다는 것이다.

이해가 되는가? war라는 단어의 사용은 우연히 전쟁에 대해 말하고 있는지에 주로 달려 있다는 아이디어다. 하지만 upon의 사용은 upon이라는 단어를 얼마나 좋아하는지에 주로 달려 있다. 이를 보여주기 위해 그들은 해밀턴이 쓴 48편과 매디슨이 쓴 50편을 가져와 by, from, to를 각각 몇 번 사용했는지를 표로 만들었다:

모스텔러 표

매디슨은 by를 좋아했다. 해밀턴은 더 to를 쓰는 사람이었다. 이런 종류의 통계를 이용해 그들은 논란이 된 연방주의자 논집이 매디슨이 쓴 것임에 틀림없다고 결론 내렸다.

그래서 나는 사람들이 서로 다른 주제에 대해 쓸 때도 안정적이라고 여겨지는 다른 글쓰기 스타일 특성들을 찾아봤다. 아주 많다는 것을 알게 됐다. 너무 많아서 의미 있는 그룹으로 정리하는 것조차 어렵다:

저수준 빈도:

  • 단어 길이
  • 문장 길이
  • 문단 길이
  • 문장부호 빈도 (쉼표, 콜론, 대시, 괄호)
  • 기능어 빈도 (the, of, and, to)
  • 부사 빈도
    • 강화사 (very, really, quite, pretty, so)
    • 증거 표지사 (apparently, evidently, obviously)
    • 완곡사 (somewhat, fairly, rather)
  • 대명사 사용
    • 전반적 선호 (I/we vs. you vs. he/she/they)
    • 3인칭 단수 선호 (he, she, he or she, they, one)
  • 조동사 (can, could, might, must, should, will, would)
  • 완곡 표현 (perhaps, maybe, possibly, probably)
  • 접속사 (and, but, yet, so)
  • 알려진 안정적 비율 (the/a, this/that, these/those, I/me/my)
  • 문자 N-그램 (3-그램과 4-그램)
  • 단어 N-그램 (주로 3-그램)

어휘 특성:

  • 어휘 규모
  • 어휘 다양성 / 유형-토큰 비율 (서로 다른 단어 수 나누기 전체 단어 수)
  • 희귀 단어 빈도
  • 의미 밀도
  • 담화 표지 위치, 조합 (So, anyway, so anyway)
  • 약어 및 두문자어 사용
  • 라틴어계 vs. 게르만어계 단어 선호 (The majestic creature traversed the terrain vs. the mighty beast strode across the land.)

통사 특성:

  • 통사 복잡성
    • 종속 지수
    • 평균 구문 트리 깊이
  • 수동태 사용
  • 명사화 (She was shocked I ate the pizza vs. My pizza consumption shocked her)
  • 동사 시제와 상 (I walk vs I walked vs I was walking vs I have walked)
  • 문장 구조 선호:
    • 분기 선호 (저주받은 everyone had a good time when Alice taught some cool dogs I met and brought to dinner to juggle vs. 어색하지만 읽을 수 있는 I met some dogs and they were cool and I took them to dinner and Alice taught them to juggle and and everyone had a good time.)
    • 부사절 위치 (Suddenly I was hungry vs. I was, suddenly, hungry vs. I was hungry, suddenly)
    • 문장 말미 무게 (Your plan won’t work because of the dyslexic bears vs. Dyslexic bears mean your plan won’t work.)
  • 다접속 (I like dogs, cats, and ferrets vs. I like dogs and cats and ferrets.)
  • 통사 구조의 반복 / 파괴

문체 특성:

  • 어조 / 격식
  • 문장 길이 패턴 (장/단/장/단 vs. 장/장/단/단)
  • 강세 음절 간격 선호 (예: 약강 vs. 강약)

규칙 선호 특성:

  • 세부 문장부호 (I laughed—you cried vs. I laughed — you cried, “…” (마침표 세 개) vs. “…” 실제 줄임표)
  • 대문자 사용 (직함, 계절, 콜론 뒤, 실수)
  • 아포스트로피 (Steve Jobs’ car vs Steve Jobs’s car, 1990’s vs 1990s)
  • 하이픈 (a highly-stable feature vs a highly stable feature)
  • 옥스퍼드 콤마
  • 관사 생략 (Local dog was petted. vs. A local dog was petted.)
  • 관계대명사 생략 (the dog you petted vs. the dog that you petted)
  • Who vs. whom
  • 분리부정사 (To obsessively blog vs. to blog obsessively)

특이 특성:

  • 공백 사용 습관
  • 철자 오류 (looselose 대신 쓰는 경우)
  • 문법 오류 (Between you and I)
  • 일관된 고유 오타
  • 기타 일관된 오류 (단어 반복, 닫지 않은 괄호)

많다. 분명 더 있을 것이다. 그리고 이것들은 모두 인간이 조그만 뇌로 만들어낸 “얕은” 특성들이다. 충분히 큰 데이터셋에서 통계적 패턴을 찾으면 발견할 수 있는 “깊은” 특성이 훨씬 더 많을 것이라 강하게 의심한다. 그 특성들 중 많은 것은 일관된 영어 설명조차 없을지 모른다. 하지만 여전히 거기에 존재하며, 찾는 이들에게 비트를 제공한다.

그러니 우리는 글을 쓸 때 온갖 것에 대한 정보를 흘린다. 하지만 얼마나 많은 정보일까? 누군가를 고유하게 식별하는 데 몇 단어가 필요한지 말할 수 있을까?

아니다. 1차 근사로 답은 아니다. 하지만 2차 근사로라면 어쩌면? 대략적인 규모라도? 시도해보겠지만, 어려울 것이다.

인구통계적 비트

나이와 성별 같은 인구통계적 특성으로 텍스트가 제공하는 식별 정보는 몇 비트나 될까?

언뜻 보면 이는 그 특성들을 몇 개의 범주로 나누느냐에 따라 달라지므로 위험한 질문처럼 보인다. 성별을 예로 들어보자. 슈도포칼립스 관점에서 성을 어떻게 정의해야 하는지, 성이 몇 개인지에 대한 당신의 의견은 무관하다. 더 세분화된 범주는 항상 더 많은 정보를 제공하고, 우리의 공격자 친구들은 가능하다면 그 정보를 활용할 것이다. 하지만 성별을 두 개 이상으로 나누는 것은 큰 차이를 만들지 않는다. 추가 범주는 추측하기 어렵고, 설령 추측할 수 있더라도 낮은 빈도의 범주는 추가 정보를 그다지 제공하지 않기 때문이다.3 그러니 우리에게는 두 개가 정답이다.

나이는 어떤가? 언뜻 보면 나이를 범주 집합으로 변환하는 것은 무의미해 보인다. 나이를 밀리초 단위로 코딩하면 지난 100년간 태어난 사람들에 대해 3조 1,560억 개의 범주가 생긴다. 10년 단위로 코딩하면 10개뿐이다. 여기서 주목할 점은 내가 글을 쓰는 방식으로부터 내가 태어난 10년대를 추측할 수는 있어도, 밀리초를 추측할 가능성은 눈곱만큼도 없다는 것이다. (내가 한 것을 보았는가? 특정 10년대에 태어난 사람들이 snowball’s chance in hell 같은 표현을 더 쓸 가능성이 높다는 것?4) 나이를 엄청난 수의 범주로 본다면 나중에 추측의 어려움을 반영해 할인해야 할 것이다. 내 직감으로는 나이를 5년보다 더 정확하게 추측하기는 어려울 것 같으니, 20개 범주가 합리적이라고 본다.

이런 논리를 따라 나는 인구통계 변수 각각에 대해 텍스트로부터 추측 가능할 것 같은 상한선에 맞춰 범주 수를 정했다. (실제 범주는 아래에 제시하겠다.)

특성범주 수
나이20
학력6
인종/민족6
가족 상태2
소득11
결혼 상태3
정신 건강3
모국어2
직업23
신체 건강3
정치 성향3
거주 지역23
종교3
성별2

각 나이 구간이 동일하게 나타난다면, 누군가가 어떤 구간에 속하는지를 아는 것은 4.32비트의 정보를 제공할 것이다. 2ᴷ ≈ 20일 때 K = 4.32이기 때문이다. 각 특성에 대해 같은 계산을 하면 그들이 담을 수 있는 최대 정보량을 얻을 수 있다.

특성범주 수최대 비트
나이204.32
학력62.58
인종/민족62.58
가족 상태21
소득113.46
결혼 상태31.58
정신 건강31.58
모국어21
직업234.52
신체 건강31.58
정치 성향31.58
거주 지역234.52
종교31.58
성별21
합계32.88

하지만 문제가 있다. 30~35세 인구는 90~95세 인구보다 많다. 그러니 그 나이 구간을 완벽하게 추측할 수 있더라도 평균적으로 4.32비트보다 적은 정보를 제공한다. 그러나 범주가 꽤 심하게 불균등해지기 전까지는 정보량이 그리 많이 떨어지지 않는다는 것이 밝혀졌다. 완벽하게 균등한 50/50 분포는 1비트를 제공하지만, 60/40 분포로 바꾸어도 여전히 0.971비트를 얻고, 정보량이 0.5비트로 떨어지려면 거의 90/10까지 가야 한다.5 범주가 두 개보다 많을 때도 기본적으로 마찬가지다.6

그래서 나는 그 모든 특성을 사람들이 얼마나 불균등하게 분포하는지로 평가하고, 그에 따라 비트를 할인하려고 시도했다. 원래 범주가 무엇인지와 어떻게 할인했는지에 대한 전체 세부사항은 각주에 넣어두었다.7

특성범주 수최대 비트추정 비트
나이204.323.9
학력62.582.1
인종/민족62.581.7
가족 상태210.8
소득113.462.5
결혼 상태31.581.2
정신 건강31.580.9
모국어210.6
직업234.524.0
신체 건강31.581.3
정치 성향31.581.5
거주 지역234.523.5
종교31.581.5
성별211
합계32.8826.5

하지만 또 다른 문제가 있다. 스코틀랜드에 사는 65~70세 아시아 여성은 호주 남동부에 사는 15~20세 라틴계 남성과 {직업, 가족 상태, 종교}가 다른 경향이 있다. 즉, 위의 특성들은 서로 상관관계가 있다. 따라서 더 많은 특성을 살펴볼수록 점차 덜 놀랍고 정보 기여도도 줄어든다.

얼마나 줄어들까? 제대로 답하려면 20 × 6 × 6 × 2 × 11 × 3 × 3 × 2 × 23 × 3 × 3 × 23 × 3 × 2 = 8,144,737,920개의 결합 범주 각각에 누군가가 속할 확률을 추정해야 한다. 어려워 보인다. 하지만 완전히 터무니없지는 않은 근사는, 변수 그룹이 모두 쌍별 상관계수 ρ>0으로 상관되어 있다면 전체 정보가 ρ만큼 할인될 수 있다는 것이다.8

그렇다면 그 특성들은 얼마나 상관되어 있을까? 사회과학에서 0.5의 상관계수는 꽤 높다고 여겨진다. 이는 일부 변수 쌍, 예를 들어 나이 vs. 건강이나 정치 성향 vs. 종교에서는 그럴듯하다. 하지만 그 상관관계 중 많은 것은 아마도 꽤 약할 것이다. 예를 들어 나이 vs. 모국어나 지역 vs. 성별 vs. 결혼 상태 같은 경우다.9

전반적으로 내 추측으로는 상관관계가 전체 정보를 최소 10%는 줄이지만 60% 이상 줄이지는 않을 것 같다. 그래서 위 특성들에 담긴 전체 정보(범주를 완벽하게 추측할 수 있다면)는 10.6비트에서 23.9비트 사이 어딘가에 있다고 본다. 평균을 내서 17.2비트라고 하자.

성격 비트

성격 특성은 어떤가? 인구통계 특성에 사용한 것과 같은 방식을 더 빠르게 적용해보자. 시작점으로 24가지 성격 특성 각각에 5개의 구간을 주자. 다이너마이트 성격 표기법을 존중하는 의미다. 이는 2ᴷ ≈ 5일 때 K = 2.32이므로 24 × 2.32 = 55.68비트에 해당한다.

그 다음 상관관계에 대해 할인해야 한다. HEXACO의 6가지 주요 성격 요인은 서로 무상관하도록 설계되었지만, 각 요인 내부의 서로 다른 “하위요인”들은 상관되어 있다(보통 0.3에서 0.6 사이의 계수). 요인 내부의 강한 상관관계와 요인 간의 약한 상관관계를 반영해 전체 할인율을 0.3으로 사용하는 것이 합리적이라고 본다. 그러면 전체적으로 39.0비트가 된다.

문체 비트

글쓰기 스타일 특성은 어떤가? 그들은 얼마나 많은 정보를 담고 있는가?

이건 어려워 보인다. 문자 n-그램 같은 일부 특성은 실제로 그 자체로 긴 특성 목록이다. (aaa를 입력하는 빈도, aab를 입력하는 빈도 등) 하지만 그 특성들 중 많은 것은 거의 모든 사람이 zqx를 0% 근처로 입력하므로 정보가 거의 없다. 그리고 물론 글쓰기 스타일 특성들은 상관되어 있다. realise 대신 realize를 쓰는 사람들은 em dash 주변에 공백을 넣을 가능성이 낮기 때문이다.

더 나은 아이디어가 없는 상황에서, 나는 위의 스타일 특성 목록의 각 말단 노드마다 1비트씩 주려고 한다. 이는 각 특성에 두 개의 구간을 주고, 특성의 불균등한 분포와 상관관계(정보를 줄이는 요인)가 많은 특성이 한 비트 이상을 받을 자격이 있다는 점과 목록에 없는 “깊은” 특성이 더 있을 가능성이 있다는 점(정보를 늘리는 요인)에 의해 상쇄된다고 가정하는 것으로 생각한다. 그러면 의심스러울 정도로 딱 떨어지는 50.0비트가 된다.

비트 추측하기

위의 숫자를 믿는다면, 우리는 글을 쓸 때 단서를 남기는 식별 정보가 최소 17.2 + 39.0 + 50.0 = 106.2비트는 있다는 것이다. 엄청나다. 그 모든 특성을 볼 수 있다면 9,300경 해(垓) 명이나 되는 행성에서도 사람들을 식별할 수 있을 정도다.

하지만 슈도포칼립스가 임박했다고 주장하려면, 그런 비트들이 존재한다는 것만으로는 충분하지 않다. 그것들이 비교적 적은 양의 텍스트로부터 추측될 수 있고 앞으로 추측될 것이라고 주장해야 한다.

그러니 당연히 핵무기에 대해 이야기해야 한다. 핵폭발에서는 많은 불안정한 원자가 생성된다. 이들은 더 안정적인 원자로 자발적으로 붕괴하면서 방사선을 방출한다. 어떤 원자는 붕괴하려는 성질이 매우 강해 많은 방사선을 내놓지만 몇 주 안에 사라진다(요오드-131). 어떤 원자는 붕괴를 꺼려 방사선을 많이 내놓지 않지만 수십 년 동안 남는다(스트론튬-90). 또 어떤 원자는 수백만 년 동안 남지만 방사선을 워낙 적게 만들어 큰 문제가 되지 않는다(세슘-135).10 따라서 핵폭발 후 남는 잔류 방사선은 폭발 중에 생성된 각 동위원소마다 하나씩인 많은 지수 곡선의 합이다.

나는 텍스트에서 식별 비트도 그와 비슷하다고 의심한다. 당신의 격식 수준과 평균 문장 길이는 거의 즉시 드러난다. 라틴어계 vs. 게르만어계 단어 선호는 드러나는 데 시간이 걸린다. 그리고 당신의 사회적 대담성이나 퀸즐랜드가 아니라 호주 남동부에 산다는 사실은 아주 천천히 드러나, 사실상 전혀 드러나지 않는 것이나 마찬가지일지도 모른다.

그렇다. 106.2비트에서 시작한다면, 주어진 단어 수를 쓴 뒤에 그 중 몇 비트나 드러날까?

나는 숫자를 만들어내는 고귀한 방법으로 그 질문에 답할 것이다. 하지만 먼저 보정해보자. 당신은 방금 내가 쓴 4500단어를 읽었다. 나의 인구통계적·성격적 특성을 얼마나 잘 추측할 수 있을까? 현실 점검을 위해 나는 위의 글들을 LLM에 주고 추측하게 해봤다. 소름 끼칠 정도로 잘 맞췄다. 항상 맞는 것은 아니었지만 대개 맞았고, 개별 예측의 신뢰도를 평가하는 일도 아주 잘했다.

여기에 마법 같은 설명은 없다고 본다. 사실 개별 성격·인구통계 특성을 추측하는 일은 그 자체로 그리 어렵지 않다. 그러니 당신도 똑같이 잘할 수 있을 것이라 확신한다. 그리고 충분한 시간을 준다면 문체 특성에서는 훨씬 더 잘할 것이라고 거의 확신한다.

그럼에도 당신은 아마 서툴 것이다. GeoGuessr를 예로 들어보자. 무작위 사진 한 장으로 세계 어딘가의 위치를 추측하는 게임이다. 보통 사람은 그럭저럭하지만, 타고난 최상위권이 집요하게 연습하면 정말 잘한다. LLM도 텍스트로부터 특성을 추측하는 데 특별히 뛰어나다고 생각하지 않는다. 그들은 그 일을 위해 훈련된 것이 아니다. 그저 일반 지능의 창발적 특성일 뿐이다. 정보이론적 한계는 분명 훨씬 더 높다.

그래서 아주 거칠게 잡아보면, 4500단어를 쓴 뒤에는 다음과 정도를 추측할 수 있다고 본다:

  • 인구통계 특성의 60%
  • 성격 특성의 70%
  • 글쓰기 스타일 특성의 80%

이 각각을 별도의 지수 곡선으로 모델링하고, 17.2 / 39.0 / 50.0비트에서 시작하면, 주어진 단어 수를 쓴 뒤에도 여전히 숨겨진 식별 비트 수는 다음과 같이 그려진다:11

붕괴 그래프

Et voilà, 가명성은 29비트가 새어나올 때 무너지는데, 이는 1071단어를 쓴 뒤에 일어난다.

진짜로?

물론 아니다. 위 그림은 위태로운 가정에 기대 선 흔들리는 탑 위에 서 있다. 내가 그 곡선을 도출하는 세부사항을 살펴본 이유는 당신이 그것을 믿어야 해서가 아니라, 계산 과정을 보면 다음 세 가지 요점은 반박하기 어렵다는 것이 분명해지기 때문이다:

  • 당신은 29비트보다 훨씬 많은 식별 정보를 갖고 있으며 그것을 글에 흘린다.
  • 그 비트 중 일부는 드러나는 데 오래 걸리지만, 다른 일부는 꽤 빨리 드러난다.
  • “꽤 적은” 글 샘플만으로도 식별될 수 있을 만큼 “빨리 새는 비트”가 충분히 많다.

특성을 고르고, 범주 수를 할당하고, 그 범주에 걸친 분포를 추정하고, 상관관계를 할인하고, 몇 개의 구간을 추측할 수 있는지를 어림하는 과정에서 나는 많은 논쟁적인 선택을 했다. 그 선택들은 개별적으로 의심스럽다. 하지만 위의 세 가지 요점은 꽤 넓은 오차 범위 안에서도 지지를 받는다. 다른 선택을 해도 위 세 가지가 사실이 아니라는 결론을 피하기는 매우 어려워 보인다.12

어떻게 작동할까?

왜 이렇게 만들어낸 숫자를 많이 쓰는지 궁금할지 모른다. 결국 텍스트로부터 저자를 식별하는 분야는 이미 존재하며, 보통 “문체분석(stylometry)” 또는 “저자 귀속”이라고 불린다. 연구 논문도 있고 대회도 있다. 하지만 내가 알기로 최신 공개 결과는 대략 이런 모습이다:

  1. 50명을 뽑는다.
  2. 각 저자마다 1000~2000단어 길이의 글 샘플 수백 개를 확보한다.
  3. 이제 그 저자들 중 한 명의 새로운 글 샘플을 하나 가져온다.
  4. 표준적인 머신러닝을 적용한다.
  5. 짜잔, 약 95% 정확도로 저자를 식별한다!

괜찮아 보이지만, 이는 50명 정도의 풀 안에서 식별하는 것이다. 내 주장이 맞으려면 4억 9천만 명을 대상으로 비슷한 정확도가 가능해야 한다. 7자리 수 규모가 더 큰 것이다.

문제는 그 논문들이 사용하는 방법이 극도로 약하다는 것이다. 위의 모든 수학은 당신이 모든 가용 정보를 완벽하게 활용하는 “정보이론적 한계”에서 작동한다고 가정한다. 그에 가까워지려면 어떻게 해야 하는지 이제 우리는 어느 정도 안다. “현대적” 머신러닝 레시피인 거대한 데이터셋 + 거대한 신경망 + GPU에 쏟아부은 거대한 자금을 적용하는 것이다. 우리의 경우라면 “지금까지 쓰인 모든 글” + “수백억 개의 파라미터” + “수천만 달러” 정도가 필요할 것이라 추측한다. 그에라도 근접하려는 시도를 한 논문은 하나도 찾지 못했다.

그래서 그 논문들이 우리에게 많은 것을 알려준다고 생각하지 않는다. 몇 권의 책으로 훈련된 3차 마르코프 모델이 컴퓨터가 텍스트를 얼마나 잘 쓸 수 있는지에 대해 많은 것을 알려주지 않는 것과 같은 이유다. LLM은 위 레시피를 사용하면 컴퓨터가 텍스트 생성에서 정보이론적 한계에 가까워질 수 있음을 보여주었다.13 따라서 LLM 수준의 노력이 저자 식별에서도 같은 일을 해낼 수 있을 것이라 의심한다.

왜 이걸 가능한 미래 기술처럼 이야기하느냐고도 궁금할지 모른다. 그 기술이 그냥 LLM 아닌가?

그 기술이 인간 언어를 모델링하는 방식은 LLM과 꽤 유사할 것이라 의심한다. 하지만 현재의 범용 LLM은 이 작업을 위해 훈련된 것이 아니다. 그들은 “우연히” 잘하는 것이다. 그래서 특화된 체스 AI가 체스에서 LLM을 압도하듯, 특화된 문체분석 방법이 문체분석에서 범용 LLM을 압도할 것이라 의심한다. 다만 특화된 문체분석 방법은 아직 존재하지 않거나, 적어도 공개되어 있지 않은 것 같다.14 그러니 오늘부터 범용 LLM의 발전이 멈춘다고 가정해도 현재 LLM이 가능한 것의 한계에 가깝다고 상상해서는 안 된다.15

대응책

이 모든 것이 사실이라면 무엇을 할 수 있을까?

가장 명백한 “대응책”은 그냥 익숙해지는 것이다. 말하자면, 모두가 글 쓰는 모든 것에 고유하고 불변인 문자열로 서명해야 하는 세상에 산다고 상상해 보라. 무슨 일이 일어날까? 나는 다음과 같은 것들이 섞여 나타날 것이라 예상한다:

  1. 사람들이 “온전한 자기”가 공개되는 데 더 익숙해지고, 구획화가 줄어든다.
  2. 사람들이 공개 채널에서의 소통을 줄이고 그룹 채팅 등에 더 의존한다.
  3. 사람들이 자기 검열을 한다.

여기에는 강력한 역사적 유사 사례가 있다. 지난 20년간 많은 정부와 기술 기업이 사실상 사람들이 쓰는 것에 실명으로 서명해야 한다고 강제했기 때문이다.

효과는 주변 문화와 정치 체제에 따라 꽤 크게 달라지는 것으로 보인다. 전반적으로 내 인상은 사람들이 직장 동료가 자신의 데이트 프로필을 읽거나 자신이 퍼리 컨벤션에 간다는 것을 알게 되는 아이디어에 이미 훨씬 더 익숙해졌다는 것이다. 나는 문화가 우리가 모두 다면적 존재임을 존중하는 방향으로 계속 적응할 것이라 낙관한다. 이는 건강해 보인다.

일부 효과는 분명 긍정적이다. 자기 검열이 반드시 나쁜 것은 아니다. 예를 들어, 주변적으로 실명은 일부 청소년이 사이버 불링에 가담하는 것을 막는다. 반면에, 당신이 청소년이었던 적이 있는가? “남다른” 사람이라면 그 다름이 세상에 방송되는 것이 훨씬 더 큰 “괴롭힘 표면적”을 만든다고 거의 확신한다. 그래서 효과는 복합적이다. 그리고 어른은 우리가 생각하는 것만큼 청소년과 다르지 않다.

20년 전이었다면 실명이 사람들이 온라인에서 논쟁적인 정치적 아이디어를 표현하는 것을 위축시킬 것이라 예측했을지 모른다. 피상적으로 보면 이는 완전히 틀렸던 것으로 보인다. 적어도 서구에서는 많은 사람들이 소수 정치 견해를 표현하는 것을 매우 즐기며, 조금이라도 동의하지 않으면 지옥에나 가라는 식이다. 하지만 나는 이것이 동시에 많은 자기 검열을 가린다고 생각한다. 대부분의 사람들은 정치적 사생결단을 벌이고 싶지 않으므로 호전적인 소수에 위축된다. 그리고 당연히 특정 국가에 사는 사람들은 당을 비판하는 것이 현명하지 않다는 것을 안다. 그래서 익숙해지는 것은 기껏해야 불완전한 해결책처럼 보인다.

또 다른 대응책은 이 기술을 만들지 않거나 널리 보급하지 않는 것이다. 단기적으로는 그럴듯해 보인다. 내가 알기로 거리에서 사진 한 장으로 대부분의 사람을 식별할 휴대전화 앱을 만드는 것이 수년간 적당한 자금으로도 가능했다. 그럼에도 이 글을 읽는 거의 아무도 그런 앱에 접근하지 못한다. 범용 LLM이 문체분석을 점점 더 잘하게 된다면, AI 기업들이 이를 안전 문제로 판단해 그런 일을 거부하도록 AI를 훈련시킬 가능성은 충분히 있다.16 이는 한동안 통할 수 있다.

하지만 기술이 가능하다면 정부들이 이를 만들고 사용할 것은 확실해 보인다. 그들은 일반인의 손에 들어가는 것을 막으려 할지도 모른다. 특정 정부는 스스로의 사용을 제한할지도 모른다. 내 개인정보를 중시하는 동지들은 항상 매우 냉소적인 것 같지만, 대법원이 FBI가 미국 시민을 비가명화하기 전에 영장이 필요하다고 선언해도 전혀 놀랍지 않을 것이다. 하지만 그 기술이 충분히 저렴해지면 일반 사람이나 악의적 행위자의 손에 들어가지 못하게 막기는 매우 어려울 것 같다. 내 추측으로는 수백 기가바이트 크기이며 대부분의 최신 노트북에서 (느리게) 실행될 수 있는 프로그램을 만드는 것이 가능하다. 그 프로그램이 공개되면 지니를 다시 병에 넣기는 어려울 것이다.

기술적 대응책도 있다. 가장 명백한 것은 글쓰기를 “필터”에 통과시켜 식별 비트를 제거하려는 시도, 예를 들어 LLM에게 다시 쓰게 하는 것이다. 우리가 시작할 때 몇 비트가 있는지, 이 방법이 몇 비트를 제거하는지에 대한 정확한 추정이 없으므로 얼마나 잘 작동할지 확신하기 어렵다. 하지만 신중하게 한다면 꽤 효과적일 것이라 추측한다. 이유는 글에 남기는 식별 비트 수가 당신을 식별하는 데 필요한 수에 비해 그리 크지 않을 가능성이 높기 때문이다. 글쓰기를 “균질화”하여 모든 문체와 개성을 제거하면 그 비트 대부분을 제거할 수 있어야 한다. 이론적으로는 여전히 일부 정보가 새어나올 것이다. 하지만 이렇게 하면 가명을 유지하면서 쓸 수 있는 양을 상당히 늘릴 수 있을 것이라 본다.17

하지만 곰곰이 생각해보면 이는 슬프다. 사실상 이 대응책은 글에서 인간성의 모든 흔적을 파괴함으로써 가명성을 유지하는 것이다. 이는 사이버 불링이나 조직적 폭력 같은 가명성의 “나쁜” 용도에는 잘 통할 것 같지만, “좋은” 용도—예를 들어 가명으로 쓰는 것이 더 솔직하고 취약하게, 더 온전히 자기 자신이 될 수 있게 해준다고 느껴 가명으로 글을 쓰는 사람—에는 전혀 통하지 않을 것 같다.

일반화된 슈도포칼립스

어쩌면 이는 글쓰기에만 해당되는 일이 아닐지도 모른다. 어쩌면 어떤 유의미한 방식으로 세상과 상호작용하면 자신을 식별할 흔적을 남기는 것이 우리 우주의 특성일지도 모른다.

  • 공공장소를 돌아다닌다면 얼굴, 걸음걸이, 목소리, DNA, 망막, 혹은 문자 그대로의 지문으로 식별될 가능성이 높다.

  • 혹은 인터넷을 사용한다고 하자. 브라우저 지문을 잠그고 VPN이나 Tor로 IP 주소를 숨기더라도, 충분히 강력한 공격자는 여전히 전역 패킷 흐름을 분석해 당신을 식별할 수 있다.

  • 혹은 어떤 휴대전화나 컴퓨터를 사용한다고 하자. 키 입력 역학이나 손가락·마우스를 까딱이는 방식으로 식별될지 모른다.

  • 식료품점에서 식품을 산다고 하자. 현금으로 결제하고 어떻게든 카메라가 없는 식료품점에서 쇼핑한다고 해도, 몇 개 이상의 물건을 산다면 당신이 사는 물건의 패턴만으로도 여전히 식별될 수 있을 것이라 장담한다.

  • (그런데 현찰에 일련번호가 찍혀 있다는 것을 눈치챈 적이 있는가? 그리고 점점 더 많은 ATM이 그 번호를 추적하기 시작했다는 것을 알고 있는가?)

  • 혹은 차가 추적되는 게 싫어 휴대전화를 들고 다니지 않고 어떻게든 의원들을 설득해 번호판을 불법화시켰다고 하자. 그래도 당신의 차는 분명 몇 개의 작고 독특한 흠집이 있을 것이고, 같은 모델·연식의 다른 차와 엔진 소리도 정확히 같지는 않을 것이다. 그러니 고해상도 영상이나 음향이 조금이라도 있다면 당신을 추적하기에 충분하다.

  • 공항 충전소에 헤드폰을 꽂는다고 하자. 헤드폰은 아날로그 충전 회로에 특성이 있다. 누군가 정말로 원한다면 그것을 추적할 수 있다.

  • 혹은 전기를 사용한다고 하자. 고해상도 전력 사용량 데이터가 주어지면, 함께 사는 사람이 몇 명인지, 어떤 기기를 사용하고 있는지에 대해 무엇을 말할 수 있을까? 아마도 많은 것을 말할 수 있을 것이다.

  • 혹은 화장실을 사용한다고 하자. 많은 곳에서 이미 하수를 검사하고 인구 수준에서 사람들이 어떤 약물을 사용하고 있으며 각종 질병이 얼마나 퍼져 있는지 알고 있다. 이를 시스템 곳곳에서 높은 시간 해상도로 검사하고, 개별 가정의 유량 측정과 연관시킨다고 상상해 보라. 흥미로울 것이다.

  • 혹은 당신이 잠수함을 보유한 국가라고 하자. 분산 음향 감지로 적국이 탐지할 수 있을까? 위성 기반 합성개구레이다는 어떤가? 중력 경사계? 양자 자력계?

내가 보기에 일반적인 추세는 대응책이 없으면 거의 모든 것이 식별될 수 있다는 것이다. 대응책은 그것을 더 어렵게 만들 수 있지만 비용이 들고, 전반적으로 군비 경쟁은 식별되지 않으려는 사람이 아니라 식별하는 쪽에 유리한 것으로 보인다.

강조하지만, 이는 전부 나쁜 것만은 아니다. 일반화된 슈도포칼립스의 좋고 나쁨은 사회가 어떻게 구성되어 있는가에 달려 있다. 결국 문명의 기반은 사람들이 거래를 성사시킬 방법을 찾는 것이고, 프라이버시가 적을수록 그게 더 쉬워진다고 볼 수 있다. 우리가 문명을 파괴하는 기술을 쉽게 만들 수 있는 취약한 세계에 살고 있는 정도에 따라, 우리는 프라이버시가 없는 세상에 있다는 것이 매우 운이 좋을지도 모른다. 그럼에도 나는 프라이버시가 오랫동안 법률과 규범으로부터의 일종의 “여유”를 제공해 왔다고 걱정한다. 역사적으로 그 여유는 제도가 규칙을 집행하는 힘을 제한해 왔다. 프라이버시가 사라지고 있다면, 특히 제도가 그러길 원하지 않을 때 그 여유를 어떻게 보존할지 생각해야 한다.

부록: 회의적인 정보이론 애호가를 위한 절

위에서 나는 글쓰기에 담긴 식별 정보의 비트 수를 추정하려고 시도했다. 하지만 “비트”란 무엇인가? 일반적으로 x가 이산 확률변수라면, 비트 단위로 측정한 x섀넌 엔트로피H(x) = ∑ₓ p(x) log₂(1/p(x))이며, 합은 x가 가질 수 있는 모든 값에 대해 이루어진다. 이는 항상 0과 x가 가질 수 있는 값 수의 로그 사이를 갖는다.

그건 그렇지만, “글쓰기 스타일”은 유한한 범주 수를 갖는 이산 변수가 아니다. 그렇다면 글쓰기 스타일의 엔트로피를 어떻게 추정할 수 있을까? 짧은 답은 추정할 수 없다는 것이다. 내가 위에서 실제로 추정한 것은 글쓰기와 글쓰기 스타일 사이의 상호정보량이다.

s를 글쓰기 스타일을 나타내는 확률변수라 하자. 서로 다른 사람들이 글을 쓰는 방식의 모든 특성을 나타내는 일종의 고차원 연속 벡터라고 생각하라. 그리고 x를 어떤 길이의 글 샘플이라 하자. 이는 디지털 컴퓨터로 글을 표현할 수 있으므로 이산적이다. 그렇다면 내가 위에서 추정한 것은 상호정보량 I(x;s) = H(x) - H(x|s)이며, 여기서 H(x|s)s가 주어졌을 때 x의 조건부 엔트로피다. H(x)H(x|s) 모두 비트로 측정될 수 있으므로 이를 비트로 측정할 수 있다. 그러니 위의 추정이 실제로 말하는 것은 I(x;s) ≈ 106.2 비트라는 것이다.

여전히 회의적일지도 모른다. 위에서 나는 암묵적으로 다음과 같은 것이 사실이라고 가정했다:

식별 특성과 글쓰기 사이의 상호정보량이 최소 log₂(N) 비트일 때, 그리고 그 때에만 N가지 가능성 중 한 사람을 낮은 오류로 식별하는 것이 가능하다.

이것이 내가 가명성이 29비트 근처에서 무너진다고 정당화한 방식이다. 하지만 정말 사실일까? 엄밀히 말하면 아니다. 사실 더 엄밀히 말하면 “틀렸다고 말할 수도 없을” 정도로 충분히 정밀하지 않아서 참·거짓을 따질 수 없다. 하지만 내가 알기로 그 진술의 정밀한 버전은 사실상 모두 거짓이다. 다만 약간 추가적인, 그리 미치지 않은 가정을 더하면 참이 되는 버전을 찾을 수 있다.

시작으로, 정보 유출에 대한 극도로 단순한 모델을 고려해보자.

정리. 세상이 당신과 N명의 다른 사람으로 이루어져 있고, 각 사람이 M비트 이진 문자열들의 분포에서 균등하게 뽑힌 이진 정체성 문자열을 갖는다고 하자. 이 문자열들은 모두 공격자에게 알려져 있다. 당신이 K개의 비트 부분집합을 골라 드러낸다고 하자. 그러면 당신을 식별할 확률은

(1-2⁻ᴷ)ᴺ이다.

또한, 식별될 확률을

(1-1/N)ᴺ ≈ exp(-1) ≈ 36.7% 이하로 유지하려면

K ≤ log₂(N)이어야 한다.

증명. 관찰된 K개의 특성이 군중 속 무작위 한 사람과 충돌할 확률은 2⁻ᴷ이다. 따라서 N명의 군중을 확인한 뒤 충돌이 하나도 없을 확률(즉 관찰된 특성과 일치하는 사람이 당신뿐이라는 확률)은 (1-2⁻ᴷ)ᴺ이다. □

단순하다. 하지만 전혀 현실적이지 않다. 사람들이 글에 흘리는 불변의 이진 문자열을 갖는다고 가정하기 때문이다. 더 현실적으로 만들 수 있을까?

글쎄, 단순한 하한은 있다. 즉, 상호정보량이 log₂(N)보다 현저히 작다면 누군가를 안정적으로 식별하는 것은 불가능하다고 일반적으로 말할 수 있다.

정리. N명의 무작위 사람들이 선택되고 그들의 전체 글쓰기 스타일 특성이 공개된다고 하자. 그 집단에서 한 사람이 선택되어 글 샘플을 생성한다. 그러면 공격자는 누가 그것을 생성했는지 추측해야 한다. 공격자의 평균 성공률(무작위 풀, 저자의 무작위 선택, 무작위 글 샘플에 대해 평균낸 것)은 최대 (I(x;s)+1)/log₂(N)이다.

증명. S=(s₁, s₂, s₃, …)N개의 스타일 풀로, n을 누가 선택되었는지를 나타내는 확률변수라 하자. Fano 부등식은 가능한 최고 성공률이 글 샘플 x와 정체 n 사이의 조건부 상호정보량에 의해 제한되며, 글쓰기 스타일 풀을 조건으로 한다고 말한다. 즉 성공 확률은 최대

(I(x;n|S)+1)/log₂(N)이다.

그러나 그 조건부 상호정보량을 다음과 같이 제한할 수 있다:

I(x;n|S) ≤ I(x;n,S) = I(x;n,sₙ) = I(x;sₙ) = I(x;s).

첫 번째 부등식은 표준적이다. 두 번째 단계는 n이 주어지면 글 x가 선택된 작성자를 제외한 모든 스타일과 조건부 독립이라는 사실을 사용한다. 세 번째 단계는 sₙ이 주어지면 nx와 조건부 독립이라는 사실을 사용한다. 마지막 단계는 (x,sₙ)(x,s)와 같은 분포를 갖는다는 것을 사용한다. 이 bound를 대입하면 주장한 결과가 나온다. □

그러니 상호정보량이 log₂(N)보다 훨씬 작다면, 공격자가 모든 스타일 벡터를 완벽하게 알고 있더라도 안정적인 식별은 불가능하다. 그러니 그만큼 비트를 많이 흘리지 않는 한 확실히 안전하다.

하지만 역은 성립할까? log₂(N) 비트보다 많이 흘리면 항상 식별될까? 일반적인 답은 아니다이다. 기본적인 문제는 I(x;s)평균적인 사람이 평균적인 글 샘플에서 흘리는 평균적인 정보라는 점이다. 추가 가정 없이는 일부 드문 사람과 글 샘플이 엄청난 양의 정보를 담고 있지만 대부분의 사람은 보통 아무것도 흘리지 않는 시나리오를 구성할 수 있다. 그러면 공격자는 일부 경우에 매우 확신하지만 대개는 아무것도 배우지 못한다.

그래서 식별이 실제로 가능하다는 보장을 얻으려면, 정보 유출률이 서로 다른 필자 사이에서, 또는 그들이 쓰는 서로 다른 글 사이에서 너무 많이 변하지 않는다는 식의 추가 가정이 필요하다.

p(x,s)를 글쓰기 스타일 s와 글 샘플 x에 대한 결합 분포라 하자. 공격자가 어떤 사람에 대한 진짜 스타일 벡터 ŝ를 안다고 하자. 그러면 그들은 글 샘플 x를 받게 되는데, 그것이 그 사람에게서 왔는지 무작위로 선택된 사람에게서 왔는지 판단해야 한다. 형식적으로 공격자의 목표는 x가 그 사람의 글쓰기 분포 p(x|ŝ)에서 샘플링된 것인지, 아니면 모집단 주변 분포 p(x)에서 샘플링된 것인지 추측하는 것이다. 직관적으로 공격자의 최선 전략은 비율

p(x|ŝ)/p(x)를 보고

임계값보다 높으면 xŝ에게서 온 것으로 “수락”하고 아니면 기각하는 것일 것이다. 실제로 네이만-피어슨 보조정리는 이 전략이 매우 강한 의미에서 최적임을 보장한다. 그 비율이 그 결정을 내리는 데 유용한 모든 정보를 담고 있다.

이제 흥미로운 점이 있다. 비율 대신 그 비율의 로그를 보는 것이다. 단조적이므로 차이는 없다. 하지만 그 비율의 로그를 취하고 사람과 텍스트에 대해 기대값을 취하면 무엇을 얻을까? 그러면:

𝔼 ln (p(x|s)/p(x)) = 𝔼 ln (p(x,s)/(p(x) p(s))) = I(x;s)

바로 상호정보량이다! 그러니 직관적으로 상호정보량은 공격자가 필자의 스타일에 대해 “평균적으로” 배우는 양이며, 그 평균은 필자와 텍스트 모두에 대한 것이다.

다음 정리는 특정 스타일을 가진 필자에 대해 텍스트에 담긴 평균 정보를 살펴볼 것이다. 나는 이를 다음과 같이 정의하겠다:

D(s) = KL(p(X|s) || p(X)).

직관적으로 이는 스타일이 s인 사람의 글쓰기가 모집단 평균과 얼마나 다른지를 나타낸다. 서로 다른 스타일에 대해 이 값의 평균을 취하면 상호정보량이 되기 때문이다. 즉, I(x;s) = 𝔼[D(s)]이다.18

정리 (비형식적). 공격자가 어떤 텍스트를 관찰하고 그것을 알려진 특정 스타일 ŝ를 가진 필자에게서 온 것으로 분류할지, 아니면 무작위 스타일을 가진 사람에게서 온 것으로 분류할지 원한다고 하자. 공격자가 오탐(false positive) 위험을 작은 ε 이하로만 허용한다고 하자. D(ŝ)-ln(ε)보다 현저히 크다면, 무작위 글 샘플에서 드러나는 정보량의 분산이 유계라는 조건 하에, 공격자는 오탐 위험을 유지하면서 미탐(false negative) 위험도 매우 낮게 유지할 수 있다.

정리. D(ŝ) = KL(p(X|ŝ) || p(X))를 대상의 글쓰기 분포와 주변 분포 사이의 발산이라 하자. 또한 qₜ(x) ∝ p(x|ŝ)ᵗ p(x)¹⁻ᵗ를 그 두 분포 사이를 보간하는 분포족이라 하자. ŝ에 대한 “정보 유출”이 그리 많이 변하지 않는다는 아이디어를 형식화하기 위해, 0 < t < 1에 대해 qₜ 하에서 log(p(x|ŝ)/p(x))의 분산이 V로 유계인 상수 V가 존재한다고 가정한다.

그러면 exp(-D) < ε < exp(-D + ½ V)를 만족하는 모든 ε에 대해, 공격자는 동시에 오탐률 FPR ≤ ε와 미탐률 FNR ≤ exp( - ½ (D+ ln ε)² / V)를 달성할 수 있다. 이 오탐률은 글 샘플 x가 무작위로 선택된 다른 사람에게서 왔을 때의 오류율을, 미탐률은 글 샘플 x가 실제로 스타일이 ŝ인 사람에게서 왔을 때의 오류율을 반영한다.

증명 개요. fp(x|ŝ)에 대한 l(x) = log(p(x|ŝ)/p(x))의 분포라 하고 gp(x)에 대한 l(x)의 분포라 하자. 제시된 분산 가정은 -1 < u < 0에 대해 누적 생성 함수 K에 대한 2차 bound K(u) ≤ D u +½ V u^2를 함의한다. gf의 지수 틸팅임을 관찰하라. 공격자의 전략은 l이 어떤 임계값 c보다 높으면 xŝ에게서 온 것으로 “수락”하고 아니면 “기각”하는 것이어야 한다. f 하에서 lc보다 작을 확률에 대해 Chernoff bound에 K를 사용해 FNR ≤ exp( - ½ (D-c)²/V)로 상한을 둔다. 이제 g(l) = exp(-l) f(l)임을 이용해, g 하에서 lc를 초과할 확률에 대해 다시 Chernoff bound에 K를 사용해 FPR ≤ exp( -c - ½ (D-c)²/V)로 상한을 둔다. 이 두 bound는 D-V < c < D일 때 동시에 유효하다. 오탐 bound가 ε와 같아지도록 c를 설정하면 FPR ≤ εFNR ≤ exp( -½ (V - √(V² - 2V(D + ln ε)))²/V)를 얻는다. 후자는 0 ≤ x ≤ 1일 때 √(1-x) ≤1-x/2임을 이용해 제시된 결과로 완화될 수 있다. □

이제 공격자가 특정한 알려진 스타일 s를 가진 특정 사람을 찾고 싶다고 하자. 그리고 공격자가 N명의 풀을 가지고 있고 각 사람으로부터 글 샘플 하나씩을 볼 것이지만, 각 사람으로부터 샘플 하나를 본 뒤 전체 오탐 확률을 δ로 제한하고 싶다고 하자. 그러면 다음이 필요하다:

(1-ε)ᴺ ≈ exp(-εN) = (1-δ)

이는 ε ≈ δ/N일 때 만족된다. 이를 이전 결과에 대입하면 공격자는 전체 오탐 위험을 δ로 유지하면서 미탐 위험을

FNR ≤ exp( - ½ (D(s) + ln δ - ln N)² / V)로 달성할 수 있다고 말한다.

이 결과들은 수학이 더 쉬우므로 정보를 nat 단위로 측정했을 때를 사용한다. 정보를 비트 단위로 측정하면 log₂ δlog₂ N을 얻게 될 것이다. (DV를 적절히 스케일링하면 된다.)

그래서 다시, 사용자 s에 대한 평균 정보가 log₂ N보다 현저히 크다면, 공격자는 최소한의 오탐 위험으로 그 사용자를 식별할 수 있다.

어떤 필자는 더 많은 정보를 흘릴 수도 있고(더 높은 D(s)), 어떤 필자는 더 적은 정보를 흘릴 수도 있다(더 낮은 D(s)). 하지만 I(x;s)=𝔼 D(s)임을 기억하라. 그러니 사람마다 정보 유출이 너무 많이 변하지 않고, I(x;s)log₂ N보다 훨씬 크다고 가정하면(그리고 그 분산 조건을 가정하면), 거의 모든 사람을 식별할 수 있다.

  1. 편집자 주: 이 문장이 쓰인 뒤, 바보 같은 다듬질에 추가로 많은 시간이 더 투입되었다.

  2. 괜찮다.

  3. 50% 확률로 0 또는 1인 표준 이진 변수는 1비트의 정보를 전달하는 반면, 49.8% / 49.8% / 0.4% 확률로 0 / 1 / 2인 변수는 1.0336비트를 전달한다.

  4. 특정 10년대에 태어난 사람들은 see what I did there 같은 시도를 더 쓸 가능성도 아마 높을 것이다.

  5. 예를 들어 일곱 가지 서로 다른 “휜 동전”에 대한 정보량은 다음과 같다:

    앞면이 나올 확률정보량
    0.50 (공정한 동전)1.000
    0.600.971
    0.700.881
    0.800.722
    0.900.469
    0.950.286
    0.990.081

  6. 이전 각주의 표를 더 형식적으로 보이게 만든 버전은 다음과 같다:

    p(A)p(B)정보량
    0.500.501.000
    0.600.400.971
    0.700.300.881
    0.800.200.722
    0.900.100.469
    0.950.050.286
    0.990.010.081

    이 표는 다음 코드로 생성할 수 있다:

    from scipy.stats import entropy
    
    dists = ([0.5, 0.5], [0.6, 0.4], [0.7, 0.3], [0.8, 0.2], [0.9, 0.1], [0.95, 0.05], [0.99, 0.01])
    entropies = [entropy(p, base=2) for p in dists]
    
    print("| p(A) | p(B) | Entropy |")
    print("|------|------|---------|")
    for i in range(len(dists)):
        print(f"| {dists[i][0]:<4.3f} | {dists[i][1]:<4.3f} | {entropies[i]:<7.3f} |")

    범주가 세 개일 때도 이야기는 크게 다르지 않다. 정보량이 너무 많이 떨어지려면 꽤 불균등해져야 한다:

    p(A)p(B)p(C)엔트로피
    0.3330.3330.3331.585
    0.4000.3000.3001.571
    0.5000.2500.2501.500
    0.6000.2000.2001.371
    0.7000.1500.1501.181
    0.8000.1000.1000.922
    0.9000.0500.0500.569
    0.9500.0250.0250.336
    0.9900.0050.0050.091

    이는 다음 코드로 생성할 수 있다:

    from scipy.stats import entropy
    
    dists = (
        [1/3, 1/3, 1/3],
        [.4, .3, .3],
        [.5, .25, .25],
        [.6, .2, .2],
        [.7, .15, .15],
        [.8, .1, .1],
        [.9, .05, .05],
        [.95, .025, .025],
        [.99, .005, .005]
    )
    entropies = [entropy(p, base=2) for p in dists]
    
    print("| p(A) | p(B) | p(C) | Entropy |")
    print("|------|------|------|---------|")
    for i in range(len(dists)):
        print(f"| {dists[i][0]:<4.3f} | {dists[i][1]:<4.3f} | {dists[i][2]:<4.3f} | {entropies[i]:<7.3f} |")

  7. 대략적으로 말하면, 최대 비트를 다음과 같이 할인해야 한다:

    • 거의 균등: 할인 없음.
    • “약간 불균등” (예: 두 범주에서 70/30) 10% 할인.
    • “꽤 불균등” (예: 두 범주에서 90/10) 50% 할인.
    • “극도로 불균등” (예: 두 범주에서 99/1) 90% 할인.

    범주형 분포의 섀넌 엔트로피는 - Σᵢ pᵢ log₂ pᵢ다. 혹은 파이썬으로:

    import math
    def entropy(probs):
        return sum(-p * math.log2(p) for p in probs)

    나이: 텍스트로부터 나이를 5년보다 더 정확하게 추측할 수 있다고 상상하기 어렵다. 0세에서 100세 사이를 가정하면 20개 범주가 되고 log2(20)=4.32비트다. 이들은 약간 불균등하므로 3.9로 줄이겠다.

    학력: 6개 범주를 가정한다: 고졸 미만, 고졸, 대학 중퇴, 대졸, 석사, 박사. 이는 log2(6)=2.58비트겠지만 꽤 불균등하므로 이를 반영해 20% 줄이겠다.

    인종/민족: 62% 백인, 11% 흑인, 16% 라틴계, 6% 아시아계, 1.5% 원주민, 3.5% 혼혈/기타를 가정하고 실제로 엔트로피 공식을 사용한다.

    가족 상태: 두 개 범주를 사용한다: 자녀 있음 / 없음. 자녀 수를 추측하는 것은 매우 어려울 것이라는 논리다. 이들은 약간 불균등하므로 0.8비트로 낮추겠다. 자녀가 이미 성장해 독립한 경우에 대한 세 번째 범주를 둘 수도 있지만, 이는 나이와 크게 중복된다.

    소득: 미국 인구조사국은 11개의 소득 구간을 제공한다. 이를 이산화하는 방법으로 무엇이든 괜찮아 보인다. 이는 log2(11)=3.459비트겠지만 다시 적당히 불균등하므로 2.5로 줄이겠다.

    결혼 상태: 3개 범주를 사용한다(미혼, 기혼, 이혼/사별 등). 이는 최대 log2(3)=1.58비트겠지만 다시 다소 불균등하므로 1.2로 낮췄다.

    정신 건강: 3개 범주를 사용한다: “건강”, “만성 질환”, “심각한 문제”. 73% 건강, 25% 만성 질환, 2% “심각한 문제”를 가정하고 엔트로피 공식을 사용하면 0.9비트다.

    모국어: 2개 범주를 사용한다: “영어 모국어”와 “비영어 모국어”. 이들은 영어권 내부에서 꽤 불균등하므로 1비트에서 0.6비트로 낮추겠다.

    직업: BLS 분류는 23개의 주요 그룹을 제공한다. 이는 log2(23)=4.523비트겠지만 적당히 불균등하므로 4비트로 줄이겠다.

    신체 건강: 60% “건강”, 30% “만성 질환”, 10% “심각한 문제”를 가정하고 엔트로피 공식을 사용한다.

    정치 성향: 세 개 범주를 사용한다(좌, 중도, 우). 이들은 꽤 균등하므로 1.58비트를 사용한다.

    지역: LLM에게 영어권을 합리적인粒度로 여러 지역으로 나누어 달라고 요청했다. 약간의 다듬질을 거쳐 23개 지역을 얻었다: 잉글랜드 남동부, 잉글랜드 남서부, 미들랜즈, 잉글랜드 북부, 스코틀랜드, 웨일스, 아일랜드 공화국, 북아일랜드, 퀘벡, 온타리오, 캐나다 서부, 캐나다 대서양, 미국 북동부, 미국 남부, 미국 중서부, 미국 서부, 알래스카, 하와이, 호주 남동부, 호주 서부, 퀸즐랜드, 호주 중부 및 남부, 뉴질랜드. LLM이 생성한 인구 추정치(합리적으로 보였다)를 사용해 엔트로피 공식에 대입하면 3.5481비트가 나왔다.

    #지역인구 (백만)pi (인구/전체)log2⁡(pi)pilog2⁡(pi)
    1잉글랜드 남동부20.00.04062-4.617-0.1875
    2잉글랜드 남서부6.00.01219-6.353-0.0774
    3미들랜즈11.00.02234-5.485-0.1225
    4잉글랜드 북부20.00.04062-4.617-0.1875
    5스코틀랜드5.50.01117-6.484-0.0724
    6웨일스3.00.00609-7.359-0.0448
    7아일랜드 공화국5.00.01015-6.626-0.0673
    8북아일랜드2.00.00406-7.949-0.0323
    9퀘벡9.00.01828-5.774-0.1055
    10온타리오16.00.03250-4.943-0.1606
    11캐나다 서부13.00.02640-5.247-0.1385
    12캐나다 대서양2.50.00508-7.625-0.0387
    13미국 북동부56.00.11373-3.136-0.3568
    14미국 남부130.00.26401-1.922-0.5074
    15미국 중서부69.00.14013-2.836-0.3973
    16미국 서부80.00.16247-2.624-0.4264
    17알래스카0.70.00142-9.467-0.0134
    18하와이1.40.00284-8.790-0.0249
    19호주 남동부16.00.03250-4.943-0.1606
    20호주 서부3.00.00609-7.359-0.0448
    21퀸즐랜드5.50.01117-6.484-0.0724
    22호주 중부 및 남부2.50.00508-7.625-0.0387
    23뉴질랜드5.30.01076-6.539-0.0703
    pilog2⁡(pi) 합계-3.5481

    종교: 3개 범주(기독교, 기타 종교, 무신론/불가지론). 이들은 대체로 균등하다.

    성별: 2개 범주, 거의 균등

  8. 각각이 0과 1일 확률이 동일한 이진 확률변수 집합을 고려하되, 모두 쌍별 상관계수 ρ로 상관되어 있다고 하자. 이 조건을 만족하는 분포는 많지만, 자연스러운 선택은 이징 모델이다. 변수가 많을 때 쌍별 상관관계가 ρ인 이징 모델에서 변수당 엔트로피는 h((1+√ρ)/2)에 수렴한다. 여기서 h는 이진 엔트로피 함수다. 그 숫자들을 출력하면 다음과 같다:

    ρh((1+√ρ)/2)
    0.00001.00000000
    0.10000.92661216
    0.20000.85048963
    0.30000.77121926
    0.40000.68826012
    0.50000.60087604
    0.60000.50801160
    0.70000.40803633
    0.80000.29811751
    0.90000.17212786
    1.00000.00000000

    보시다시피 변수당 엔트로피는 항상 1-ρ보다 약간 크다. 하지만 이징 모델은 낙관적이다. 주어진 조건을 만족하는 모든 분포 중 엔트로피가 가장 높기 때문이다. 그러니 그냥 변수당 엔트로피를 1-ρ로 추정하자.

  9. 그것이 당신에게 의미가 있다면, 나는 Kimi 2.6에게 숫자를 꾸며내 달라고 했다: [상관 행렬]

    개인적으로 이는 나에게 별로 의미가 없다…

  10. 일부 원자(예: 스트론튬-90)는 붕괴당 더 많은 에너지를 방출하는 등, 이보다 더 복잡하다. 그리고 일부 방사선 종류는 다른 종류보다 인간에게 더 해롭다.

  11. 일반적으로 n=0에서 1로 시작해 n=N에서 1-X로 감쇠하는 지수 곡선 f(n)을 원한다면 f(n) = exp(n × ln(1-X) / N)을 선택해야 한다. 따라서 인구통계 특성에는 X=0.6, N=4500을 사용하므로 f(n) = exp(-0.00020362 × n)이다. 성격 특성에는 X=0.7을 사용하므로 f(n) = exp(-0.00026755 × n)이며, 글쓰기 스타일 특성에는 X=0.8을 사용하므로 f(n) = exp(-0.000357653 × n)이다. 따라서 숨겨진 채 남아 있는 전체 비트 수는 17.2 × exp(-0.00020362 × n) + 39.0 × exp(-0.00026755 × n) + 50.0 × exp(-0.000357653 × n)이다.

  12. 좋다, 내가 틀릴 가장 가능성 높은 이유는 무엇일까? 위에서 나는 수학을 사용해 특성에 담긴 정보를 추정했고, 그 다음 텍스트로부터 그 정보 중 얼마나 추측할 수 있는지에 대해서는 기본적으로 숫자를 만들어냈다. 그럼에도 내가 가장 우려하는 것은 첫 번째 부분이다. 상관관계를 부적절하게 할인함으로써 특성 자체에 담긴 정보량을 과대평가했을까 봐 약간 걱정된다. 한 가지, 특성 그룹 사이에도 상관관계가 있을 것이다. (예를 들어 완벽주의가 높은 사람은 loseloose를 혼용할 가능성이 낮고, 잉글랜드 북부에 사는 사람은 하와이에 사는 사람보다 문자열 colour를 쓸 가능성이 높을 것이라 장담한다.) 또한 상관관계가 ρ인 쌍별 상관관계 때문에 정보를 ρ만큼 할인하는 나의 조잡한 방법은 할인을 충분히 하지 못했을 수 있다. 나는 이징 모델에 기반한 추정을 사용했는데, 이는 상관관계 제약 조건 하에서 최대 엔트로피(최대 정보) 분포다. 최악의 경우 정보가 얼마나 더 낮아질 수 있는지는 알아내지 못했다.

  13. 이것이 “지능”에 대해 사실인지 논쟁이 있지만, 비트 전송률 측면에서는 확실히 사실이다.

  14. 또한 논쟁의 여지 없이 문체분석은 언어에 관한 것이다. 이는 대규모 언어 모델이 아마도 필요한 것의 많은 부분을 이미 내장하고 있다는 것을 의미한다. 그것이 그들이 “우연히” 꽤 잘하는 이유를 설명할지도 모른다. 하지만 이를 최적으로 수행하려면 현재 LLM이 일반적으로 할 수 없고, 과제별 훈련 없이는 올바르게 조작하는 방법을 알지 못할 자기 성찰(예: 서로 다른 맥락이 주어졌을 때 텍스트의 확률에 대한 접근)이 필요하다고 생각한다.

  15. 최적에 가까운 문체분석 능력이 일종의 “창발적 특성”이라고 추측할 수도 있다. 하지만 지금까지의 일반적인 교훈은 LLM이 대부분 창발적 특성을 갖지 않고 그저 훈련된 것을 잘한다는 것이다. (수정: 이 문장은 철회한다!)

  16. (AI 회사에서 일하는 당신—“아마 우리가 그걸 해야 할까”라고 생각하며 이 각주로 온 사람—에 대한 메타 농담.)

  17. 글쓰기를 일반적인 스타일을 강요해 “균질화”하는 대신, 매우 강하지만 무작위적인 스타일을 강제해 “위장”하는 것이 더 나을지도 모른다.

  18. 여기서 조금 주의하라: 일반적으로 KL 발산은 nat 단위로 측정된다고 이해된다. 하지만 이 글에서 나는 상호정보량을 비트 단위로 측정했다. 괜찮지만 변환해야 한다. 예를 들어 106.2비트 = 73.60nat다.

이 글은 muse-spark-1.2-contributor 모델을 사용해 번역했습니다.

댓글