5P by GN⁺ | ★ favorite | 댓글 1개
  • 마르코프 체인은 다음 단어를 고르는 단순 통계 모델이지만, 의미를 완전히 붙잡지 못하는 비틀림 때문에 LLM보다 더 웃긴 출력을 만들 수 있음
  • 유머는 가볍고 예상 밖인 놀라움에서 나오며, 익숙한 패턴을 세운 뒤 기대를 깨는 “snap”이 농담을 강하게 만듦
  • LLM은 많은 문맥과 확률 계산으로 가장 그럴듯한 다음 토큰을 찾기 때문에, 성능이 좋아질수록 평균적이고 예측 가능한 문장에 가까워짐
  • ChatGPT 3.5와 King James Bible·컴퓨터 과학 교재로 학습한 마르코프 체인의 비교에서, 마르코프 체인은 거의 말이 되다가 끝에서 엉뚱한 의미 전환을 일으킴
  • 현재의 LLM은 창의적 글쓰기나 농담 생성에 잘 맞지 않으며, 이런 작업을 위한 언어 모델은 지금의 LLM과 범주적으로 다른 형태여야 함

마르코프 체인이 더 웃기게 보이는 이유

  • King James Bible과 컴퓨터 과학 교재 데이터셋으로 학습한 마르코프 체인 예시는 성경 문체와 프로그래밍 용어를 섞어 “거의 말이 되지만 끝에서 무너지는” 문장을 만듦
  • ChatGPT 3.5는 비슷한 출력을 만들라는 지시를 받았지만, 결과는 더 정돈되고 의미가 안정된 문장에 가까움
  • 두 예시는 선별된 사례지만, 양쪽 모두에서 좋은 후보를 고른 비교임
  • 마르코프 체인의 문장은 이상한 의미를 품고, 문장 끝에 가까워질수록 무의미한 방향 전환을 일으킴

마르코프 체인은 “아주 멍청한 LLM”에 가까움

  • LLM이 처음 널리 설명될 때는 “매우 똑똑한 마르코프 체인”에 비유되기도 했지만, 지금은 마르코프 체인을 “매우 멍청한 LLM”처럼 볼 수 있음
  • ChatGPT는 LLM, 즉 Large Language Model의 한 종류임
    • 300GB를 넘는 매우 큰 모델도 있고, 10GB보다 작은 모델도 있음
    • 작더라도 보통 “small language model”이 아니라 작은 LLM이라고 부름
  • 마르코프 체인도 현재 문맥을 바탕으로 다음 단어를 예측하지만, 의미론·차원성·전문화된 벡터 수학을 고려하지 않는 단순한 통계 모델
  • 휴대폰 키보드 상단의 다음 단어 추천 기능은 일반적으로 마르코프 체인으로 만들어지며, 실행 비용이 낮고 사용자의 문자 스타일에 맞춰 쉽게 갱신될 수 있음
  • 특정 목표를 가진 문장을 생성해야 한다면 LLM이 더 잘 수행하는 경우가 많지만, 정확성이 곧 웃김으로 이어지지는 않음

유머는 “가볍고 예상 밖인 놀라움”임

  • 유머는 unserious surprise, 즉 심각하지 않은 놀라움으로 정리됨
  • 좋은 농담에는 즐겁고 뚜렷한 “snap”이 있음
    • “snap”은 펀치라인이라는 말의 의미적 짐을 피하기 위해 쓰는 표현임
    • 놀라움이 적을수록 덜 웃김
  • 같은 농담을 여러 번 들으면 덜 웃긴 이유는 놀라움이 줄어들기 때문임
  • “무작위” 유머가 재미없게 느껴질 수 있는 이유는 단어 자체는 예측 불가능해도, 예측 불가능할 것이라는 기대가 이미 예측 가능하기 때문임
  • 익숙한 패턴을 재사용한 뒤 기대를 어기면 snap이 강해짐
    • “banana, apple, orange, vehicular manslaughter”는 한 단어 과일 목록이라는 패턴을 만들고, 범죄 표현으로 기대를 깸
  • 농담 쓰기는 대체로 패턴 위반에 가까움

장면이 선명할수록 snap도 강해짐

  • 더 독창적이거나 묘사적인 언어를 쓰면 장면이 더 실제처럼 느껴지고, snap도 강해질 수 있음
  • 단순히 “he was shot”이라고 쓰기보다 “he was pierced by a 35mm”라고 쓰면 장면이 더 구체화됨
  • “he fell” 대신 “his face met the ground”처럼 표현하면 장면이 더 선명해짐
  • 장면의 중간에서 시작하는 방식도 효과가 있음
    • “a urinal cake? I’m not falling for that one again”은 앞서 무슨 일이 있었는지 상상하게 만들고, 장면의 실재감을 높임
  • 좋은 농담 쓰기와 좋은 글쓰기는 목표가 일부 겹침
    • 클리셰는 장면을 실현되지 않은 상태로 남기기 때문에 단어를 낭비함

유머가 작동하는 조건

  • 무엇이 “가볍고 예상 밖인 놀라움”인지는 보편적이지 않기 때문에 유머는 주관적임
  • 저속한 유머는 너무 심각하게 받아들여져 웃기지 않을 수 있고, 반대로 너무 예상 가능해서 실패할 수도 있음
  • anti-joke는 농담 구조 자체가 예측 가능할 때만 웃길 수 있음
  • 부조리주의는 받아들일 준비가 되어 있어야 작동함
  • 문화적 규범을 위반할 수는 있지만, 그 위반이 심각하지 않은 것으로 이해되어야 함
  • 영어만 쓰는 미국인인 필자도 영어가 아닌 환경에서 “no”를 문화적으로 예상 밖인 방식으로 사용해 성공적인 농담을 만들 수 있었음

LLM은 예측 가능성을 향해 최적화됨

  • 문장을 성공적으로 예측하려면 많은 문맥이 필요하고, LLM은 그 문맥을 활용함
  • 복잡한 계산을 통해 가장 가능성이 높은 다음 토큰을 찾는 방식이 LLM의 기본 동작임
  • 말뭉치가 합리적인 말로 구성되어 있다면, 더 나은 LLM일수록 더 예측 가능한 출력을 만들게 됨
  • 이 특성 때문에 LLM은 창의적 글쓰기에 좋지 않은 선택이 될 수 있음
    • 많은 프롬프트 엔지니어링 없이 생성한 문단은 LLM이 쓴 것처럼 쉽게 보일 수 있음
    • 결과물은 맥락상 가능한 가장 평균적인 문장처럼 느껴짐
  • “독창적인 생각”을 LLM에 요구하는 일은 모순에 가깝고, LLM은 그런 일을 하지 않도록 만들어진 도구임

지금의 LLM은 농담 생성에 맞지 않음

  • 농담을 만들려면 흔한 표현을 예상 밖의 방식으로 틀어 의미를 바꿔야 함
  • 좋은 LLM은 바로 그런 이탈을 피하도록 최적화됨
  • 코미디가 알고리듬으로 생성될 수 없다는 주장에는 동의하지 않음
    • 코미디는 분석되고 측정될 수 있음
    • 충분히 큰 지원이 있다면 주문형 코미디 생성도 가능할 수 있음
    • 가능하다고 해서 해야 한다는 뜻은 아님
  • 현재의 LLM은 이 작업에 맞는 도구가 아님
  • 초기 단계의 LLM이 더 웃겼고, 이미지 생성도 초기 단계에서 더 웃겼음
    • _Dall-e mini_의 “trail cam” 이미지 같은 사례가 있음
    • 시스템이 좋아질수록 유머는 사라졌음

더 나은 예측 기계와 예술적 표현의 긴장

  • 매우 뛰어난 예측 기계는 예술적 표현에 큰 도움이 되지 않을 수 있음
  • LLM에는 여전히 많은 용도가 있지만, 창의적 작업의 완벽한 도구는 아님
  • LLM은 어린아이가 쉽게 내놓을 수 있는 흥미로운 개념을 놓칠 때가 있음
  • 이 틀을 고려하면 다른 종류의 언어 모델을 만들 수는 있음
    • 그 모델은 현재의 LLM과 범주적으로 달라야
    • 충분히 달라서 LLM이라고 부르지 않을 가능성이 있음

LLM 출력에서 드러나는 추상화의 누수

  • 이 논지는 “영적인 인간 대 기계” 논쟁이 아님
  • LLM이 점점 발전해도 반복해서 드러나는 결함이 있으며, 인간형처럼 보이려는 과정에서 내부 구조가 드러나는 새는 추상화에 가까움
  • ChatGPT의 모든 메시지가 고등학교 에세이처럼 읽히는 이유는 가장 평균적인 출력을 재생산하기 때문임
  • LLM 출력은 개성이 제거되고 학술적 엄격함으로 단단해진 밋밋한 기업식 문체처럼 보일 수 있음
  • 가짜 Amazon 리뷰는 “내가 이런 식으로 쓸까?”라고 생각하면 알아차리기 쉬움
    • Oxiclean dish wipes 사용 경험에 서론과 결론을 붙일지 의문이 생김
    • 제조사에 감사하고 고객 서비스 헌신을 인정하는 문장이 실제 사용자 경험처럼 보이지 않을 수 있음
  • LLM 탐지 모델은 화면 CAPTCHA처럼 곧 개성을 판별해야 할 수 있음

참고 링크

  • famous tumblr blog: King James Bible과 프로그래밍 문체를 섞은 마르코프 체인 예시의 출처이며, 최근 다시 운영됨

댓글과 토론

Hacker News 의견들
  • 몇 년 전 사이드 프로젝트를 하다가 같은 결론에 도달했음
    LLM이 나오기 전, 가짜 AWS Blog Posts를 생성하는 사이트 https://totes-not-amazon.com/를 만들었고, 당시까지의 AWS 공지 글 전체로 마르코프 체인 생성기를 학습시킨 뒤 AWS 블로그의 HTML/CSS를 복사해 Python+JS로 붙였음
    AWS 블로그에 익숙한 사람들도 몇 문장 읽고 나서야 단어 수프라는 걸 알아차릴 정도라 꽤 웃겼음
    GPT가 막 나왔을 때 Minimaxir의 gpt-2-simple로 AWS 콘텐츠 기반 블로그 글을 생성해 업그레이드해보려 했지만, 결과가 너무 그럴듯해서 재미가 훨씬 줄었음. 진짜 블로그 글처럼 읽히는데 사실만 틀린 글이었음
    결국 초기 마르코프 생성물의 유머는 몇 단어나 몇 문장 뒤에 전부 말도 안 된다는 걸 깨닫는 황당함에 있었고, 요즘 LLM은 그 정도로는 너무 잘함. 틀릴 때는 있어도 웃기게 말이 안 되는 경우는 드묾
    마르코프 체인 콘텐츠는 “애들이 엉뚱한 말을 한다” 식으로 틀리고, 현대 LLM은 “기초 지리도 모르는 삼촌”처럼 틀림

    • https://cemulate.github.io/the-mlab/#y3Bt-co-extensional+limit
      https://github.com/cemulate/the-mlab
      이건 범주론과 고차 범주론 협업 위키인 nLab의 패러디임. nLab을 본 사람이라면 알겠지만, 입문자에게는 전문 용어가 거의 해독 불가능할 정도라 이 프로젝트 아이디어가 나왔음
      이 프로젝트는 Nearley 문법을 효율적이고 제어 가능한 가짜 텍스트 생성기로 바꿔주는 nearley-generator 패키지를 사용하며, 문법 파일은 /src/grammar/nlab.ne에 있음
    • 비슷한 방식으로 같은 결론을 얻었음. 예전에 게임 패치 노트로 마르코프 체인을 만들어 커뮤니티에 보냈고, 가짜 Dota 패치는 특히 원래 패치가 워낙 길어서 큰 인기를 끌었음
      대부분은 말도 안 되거나 재미없는 과장(“이 영웅은 이제 방어력이 500”)이었지만, 보통 최소 5~6줄은 매우 웃겼고 가끔은 예언처럼 맞아떨어지는 것도 있었음. 예를 들면 “Fiend's Grip이 추가 환영 1/2/3개를 생성” 같은 식이었음
      그런데 LLM 때문에 상황이 망가짐. 주요 서브레딧들이 AI 콘텐츠를 전부 금지했는데, 순진한 사용자와 봇이 올리는 지루한 Midjourney 콘텐츠가 너무 많았기 때문임. 도달 범위가 사라지자 흥미도 사라져서 더 이상 마르코프 체인을 만들지 않게 됨
    • “아무것도 모르지만 전문가인 척 자기 의견을 말하는 삼촌”이 LLM을 설명하는 최고의 비유 같음. 아무것도 모르면서 무엇이든 자신 있게 말함
    • 현대 LLM이 “기초 지리도 모르는 삼촌”처럼 틀린다는 말에는 동의하기 어려움
      이번 주에 LLM 챗봇을 많이 써봤는데, 그 삼촌이 단지 거짓을 자신 있게 말하는 정도가 아니라 자기 평가 능력까지 없다면 이미 살해당했을 것임
    • 그 사이트는 매우 웃김. 그리고 아이 대 삼촌 비유는 내 경험에도 정확히 맞고, 동시에 이 언어 모델들이 얼마나 멀리 왔는지도 보여줌
  • Claude 3.5 Sonnet에 “최근 에세이와 Hacker News 토론을 바탕으로, 에세이 저자가 말한 방식으로 웃긴 짧은 농담 10개를 써달라”고 프롬프트를 넣었음
    Claude는 마르코프 체인이 LLM보다 더 웃기다는 주제로 “진지하지 않은 놀라움”과 예상 패턴의 위반을 노린 농담을 만들겠다고 답했음
    예시는 “LLM과 마르코프 체인이 술집에 들어갔다. LLM은 통계적으로 그럴듯한 음료를 주문했고, 마르코프 체인은 치즈로 만든 전등갓을 주문했다”, “전구를 갈아 끼우는 데 LLM 몇 개가 필요한가? 하나면 되지만, 먼저 최적의 전구 교체 과정을 20분 설명한다”, “마르코프 체인은 왜 좋은 상담사가 못 되는가? 조언이 늘 ‘그러고 나서 감정을 바나나해서 모자가 될 때까지’이기 때문” 같은 식이었음

    • “LLM, 마르코프 체인, GPT-4가 술집에 들어갔다. 바텐더가 ‘너희 같은 부류는 안 받아’라고 하자 GPT-4는 떠나고, LLM은 윤리를 토론하려 남고, 마르코프 체인은 스파게티로 만든 자전거를 주문했다”는 꽤 훌륭함
    • 그럭저럭 괜찮은 것들은 핵심부의 무작위 헛소리를 실제 마르코프 체인식 “문장으로는 맞는데 엉뚱한 연상으로 잘못 들어온” 반전으로 바꾸면 더 웃길 수 있음
      단순히 아무거나 랜덤하게 붙이는 게 아님. 마르코프 체인은 일종의 의미를 만들 가능성이 더 높지만, 그 의미가 틀린 종류임
      예를 들면 “LLM, 마르코프 체인, GPT-4가 술집에 들어갔다. 바텐더가 ‘너희 같은 부류는 안 받아’라고 하자 GPT-4는 떠나고, LLM은 윤리를 토론하려 남고, 마르코프 체인은 쿠데타를 주문했다”가 더 맞음
    • “LLM과 마르코프 체인이 술집에 들어갔다. LLM은 통계적으로 그럴듯한 음료를 주문했고, 마르코프 체인은 치즈로 만든 전등갓을 주문했다”는 꽤 괜찮음
    • “전구를 갈아 끼우는 데 LLM 몇 개가 필요한가? 하나면 되지만, 먼저 최적의 전구 교체 과정을 20분 설명한다”는 웃긴 게 아니라 정확하게 고통스러움
    • Claude 3.5 Sonnet은 내가 써본 현대 LLM 중 창의적인 농담을 실제로 잘하는 첫 모델임. GPT 계열 LLM들은 전부 RLHF가 너무 많이 들어가 괴상하게 튀지 못함
  • 대학 시절 친구들이 학교 신문의 “경찰 보고” 섹션에 마르코프 체인 생성기를 돌렸음
    3토큰 생성기에서 나온 결과 중 상위 10%는 지금까지 본 기계 생성 텍스트 중 가장 웃긴 축이었고, 현대 LLM이 고수준 의미 일관성을 만들려 하면서 피하는 종류의 부조리가 있었음
    당시 도서관에서 노출 행위를 하는 사람이 있었던 것도 좋은 원재료가 됐을 것임
    신문은 The Daily Utah Chronicle이었고, 기억으로는 친구들이 개인 광고 섹션에도 마르코프 체인 생성기를 돌려서 꽤 좋은 결과를 얻었음

    • LLM은 “웃기려고” 하지만 실제로 웃길 만큼 똑똑하지는 않고, 오류도 지루함
      반면 마르코프 체인은 동음이의어 기반 말실수 같은 연결 때문에 매 문장이 무작위로 끌려가면서 부조리 개그에 우연히 닿음
  • 실증적 증거를 원한다면 /r/SubredditSimulator는 마르코프 기반 Reddit 패러디이고, /r/SubSimulatorGPT2는 LLM 기반 사촌 격임
    마르코프 버전이 훨씬 더 많은 추천을 받았고 그냥 더 웃김

    1. https://www.reddit.com/r/SubredditSimulator/top/?t=all
    2. https://www.reddit.com/r/SubSimulatorGPT2/top/?t=all
    • 그건 전자가 훨씬 오래됐고 더 유명해서 그런 것뿐이라고 봄. 개인적으로는 후자를 늘 훨씬 더 좋아했음
  • 몇 년 동안 Reddit에 “AI가 쓴 가짜 XYZ”를 몇 번 올렸는데, 반응이 가장 좋았던 모델은 GPT-2였음
    마르코프 체인은 한두 문장 이상 흥미를 유지하기엔 부족하고, GPT-3 이후는 너무 깔끔하고 지루함
    GPT-2는 문법을 대체로 맞추고 응집된 아이디어를 유지할 수 있으면서도, 여러 주제의 세부사항을 아직 충분히 몰라서 맥락상 말이 되는 결과를 만들지는 못하는 완벽한 중간 지점임

    • 15년 넘게 쌓은 IRC 로그로 GPT-2 모델을 파인튜닝해서 나를 흉내 내게 해보려 했음
      평소 IRC 채널에 봇을 배포하고 사람들이 봇인 걸 알아차리는 데 얼마나 걸리는지 보려 했음. 누군가 메시지를 보내면 최근 10개 메시지를 LLM에 보내고, 결과가 특정 접두사로 시작하면 그 메시지를 채널에 보내는 방식이었음
      안타깝게도 GPT-2는 충분히 좋지 않았고, 약간 일관되고 주제에는 맞지만 말도 안 되는 내용을 생성했음
      시스템을 고쳐 만든 뒤에는 7B 모델을 파인튜닝해볼 생각임
    • 가장 좋았던 예시를 공유할 수 있나?
  • AI Weirdness 블로그(https://www.aiweirdness.com/)의 지난 몇 년 변화를 보면 이 생각을 어느 정도 뒷받침함
    다만 저자는 LLM으로도 웃긴 결과를 많이 얻었는데, 주로 GPT-3까지의 초기 모델과 GPT-3의 더 작은 변형들이었음
    예를 들어 GPT의 Ada 버전이 생성한 시리얼 이름이 Da Vinci 버전보다 훨씬 더 웃겼음: https://www.aiweirdness.com/new-breakfast-cereals-from-ai/

  • 온도값을 올리면 되지 않나?
    마르코프 체인은 언어 이해가 더 조악함. LLM의 온도, 즉 무작위성을 올리면 비슷하게 조악한 근사에 도달할 수 있음
    게다가 글쓴이는 ChatGPT-3.5를 사용했음. ChatGPT는 최대한 일반적으로 들리도록 RLHF가 들어갔고, 3.5는 4보다 유머 이해도도 낮음
    이 글의 논지는 납득되지 않음

    • 여러 기계학습 약어를 모르는 사람을 위해 쓰면, RLHF는 사람 피드백 기반 강화학습(Reinforcement Learning from Human Feedback)임
    • 연구자용으로 고정된 ChatGPT 버전이 있었으면 좋겠음
  • 안타깝게도 계정은 더 이상 없지만, 약 10년 전 학교에 다닐 때 다음 두 자료로 학습한 마르코프 Twitter 봇을 만들었음
    하나는 직전 1년 동안 Linus Torvalds가 LKML에 보낸 모든 메일, 다른 하나는 King James Bible에 나오는 예수의 직접 인용문이었음
    정말 웃겼음. 두 학습 세트가 거의 겹치지 않아서, 체인이 한쪽 세트에 오래 “갇혀” 있을수록 다른 세트의 선택지를 더 무겁게 가중하는 휴리스틱을 추가해야 했음

  • 약 20년 동안 IRC 마르코프 체인 봇을 운영해왔음
    최근 몇 년은 로컬 LLM도 함께 돌리고 있음. 아직 마르코프 체인 봇을 더 좋아하는 사람들도 있지만, 대다수는 LLM을 호출함
    다만 내가 ChatGPT 같은 서비스형 LLM처럼 똑똑하고 잠겨 있으며 온도가 낮은 모델 대신, Mistral-7B 파인튜닝처럼 환각이 많고 거부가 적고 웃긴 모델을 골랐기 때문일 수도 있음
    LLM과 마르코프 봇을 나란히 보니, 마르코프 봇의 “유머”가 얼마나 많이 우연한 출력에 사람이 의미를 덧씌운 결과인지 더 강하게 느껴짐. 그래도 마르코프의 “학습” 능력은 여전히 훨씬 뛰어남

    • 20년 동안 IRC 마르코프 체인 봇을 운영했다니 영웅임
      내 봇들은 그렇게 오래 버틴 적이 없음. 한 번은 사용자들의 LiveJournal을 긁어와서 랜덤 텍스트를 생성한 적이 있었음: https://hewgill.com/journal/entries/68-new-lj-toy.html
    • LLM에는 어떤 종류의 프롬프트를 쓰는지 궁금함
      Twitch 채팅에서 마르코프 체인 봇을 돌리는데 가끔 멋진 순간이 나옴. 한동안 LLM도 써봤고 최근 채팅을 프롬프트에 넣었지만, 딱히 유머러스하게 느껴지는 결과는 잘 안 나왔음
      어떤 농담을 만들지 구체적으로 지시하는 프롬프트 엔지니어링도 해봤지만, LLM은 늘 같은 형식을 따르는 경향이 있었음
    • 왜 그렇게 하는 건가? 재미 때문인지, 아니면 내가 놓친 다른 이유가 있는지 궁금함
  • 비공개 Discord 서버에 봇이 두 개 있음
    하나는 전체 채팅 기록으로 학습한 기본 마르코프 체인 봇이고, 다른 하나는 뒤쪽 일정 토큰만 학습한 제대로 된 LLM임. 둘 다 가끔 채팅 중에 랜덤하게 끼어듦
    마르코프 체인 봇이 언제나 훨씬 더 웃김

    • 어떤 문맥 창을 썼는지 궁금함. 내가 알기로는 1~2단어 같은 짧은 창은 횡설수설을 만들고, 긴 창은 예전 메시지를 그대로 반복하는 경향이 있음
      끼어들지 결정할 때는 다른 메시지 뒤에 단순 확률(예: 25%)로 한 건지, 아니면 타이머로 돌린 건지도 궁금함