1P by GN⁺ | ★ favorite | 댓글 1개
  • XKCD 1425 “Tasks”는 겉보기엔 쉬워 보여도 실제 난이도는 전혀 다를 수 있다는 소프트웨어 개발의 감각을 다룬 만화로, 2024년 9월 24일 10주년을 맞음
  • 만화 속 “사진이 새인지 확인하기”는 당시 박사급 난제였지만, 지금은 vision LLM, CLIP, ResNet+ImageNet 등으로 쉽게 풀 수 있는 작업이 됨
  • 특정 예시는 기술 발전으로 바뀌었지만, 어떤 문제가 쉬운지 어렵는지 판단하려면 여전히 깊은 경험이 필요함
  • LLM은 수학이나 사실 조회처럼 약한 영역이 있어, 어떤 작업을 안정적으로 맡길 수 있는지 직관적으로 판단하기 더 어려워짐
  • Claude Artifact의 이미지 분석 제한처럼 AI 보조 프로그래밍에서는 모델 능력뿐 아니라 CSP 헤더 같은 웹 보안 제약도 함께 이해해야 함

XKCD 1425가 10년 뒤에도 남긴 질문

  • XKCD 1425 “Tasks”는 소프트웨어 개발에서 어떤 작업이 쉬운지, 어떤 작업이 어려운지 경험 없이는 판단하기 어렵다는 점을 보여준 만화임
  • 만화의 대표 예시였던 “사진이 새인지 확인하기”는 과거에는 박사급 문제였지만, 현재는 여러 컴퓨터 비전 기술로 쉽게 해결 가능함
  • 예시 자체는 기술 발전으로 달라졌지만, 쉬운 문제와 어려운 문제를 구분하는 능력은 여전히 많은 경험을 요구함

LLM과 AI 보조 프로그래밍이 만든 새 난점

  • LLM은 어떤 작업을 안정적으로 해결할 수 있는지 판단하기가 직관적이지 않음
    • LLM은 컴퓨터 시스템이지만 수학에 약함
    • 사실 조회도 안정적으로 수행하지 못함
  • AI 보조 프로그래밍 도구가 확산되면서 더 많은 사람이 자신만의 커스텀 소프트웨어를 만들기 시작함
  • 새로 등장한 AI 보조 초보 프로그래머들은 쉬운 작업과 어려운 작업의 차이를 빠르게 배워야 하는 상황에 놓임
  • Claude 자체는 이미지 분석을 할 수 있지만, Claude Artifact에서 이미지 분석 도구를 만들 수 없다는 사례가 있음
    • 이를 이해하려면 Artifacts를 제공할 때 쓰이는 CSP 헤더가 생성된 코드의 외부 LLM API 호출을 막는다는 점을 알아야 함

댓글과 토론

Hacker News 의견들
  • AI/ML에서 인상적이라고 여겨지는 기준이 얼마나 많이 이동했는지 놀라움
    10년 전 GAN 논문이 나왔을 때 생성 이미지 품질이 엄청나다며 모두가 들떠 있었음: https://arxiv.org/abs/1406.2661
    그동안의 발전량은 정말 믿기 어려울 정도임

    • 기억에 남는 농담이 있음: 보통 사람들은 컴퓨터의 능력을 인간과 등가로 환산해서 오해함
      예를 들어 아이가 기본 산수를 할 수 있고 컴퓨터도 기본 산수를 할 수 있으니, 아이가 말도 할 수 있다면 컴퓨터도 당연히 말할 수 있을 거라고 생각함
      하지만 컴퓨터의 능력은 완전히 다른 방식으로 도달한 결과임. 흥미롭게도 LLM은 능력의 윤곽이 더 인간에 가까워졌지만, 여전히 결과에 도달하는 방식은 완전히 다름
    • 10~15년 전 내 사업에서 지금의 LLM이 있었다면 얼마나 많은 노동을 아꼈을지 말로 다 못 함
      가장 끔찍했던 예는 고객이 정규화하길 원했던 사용자 생성 텍스트 레시피 약 18만 개였음. 양 조절, 영양 정보 계산 등을 위해 수량, 단위, 재료, 단계 등을 뽑아내야 했음
      전처리를 위한 정규식 산더미와 인턴 군단이 하나하나 정규화하는 도구 체인이 필요했고, 인턴들이 만든 혼란을 고치는 데도 훨씬 더 많은 시간이 들었음
      LLM이 있었다면 거의 즉시 끝났을 작업이었을 것임. 완전한 쓰레기 더미를 쓸 수 있는 데이터로 바꿔야 했던 수많은 작업에서 LLM은 그냥 해냈을 가능성이 큼
      그 시절 고통은 이 흐름을 보고 그 무렵 NVDA를 사둔 것으로 조금 달랬음
    • OpenAI가 ChatGPT를 내놓은 뒤 모두가 돈을 기대하며 연구를 닫아버려서, 발전 속도가 갑자기 줄어든 느낌임
    • 기대치 변화는 청중의 변화와 관련이 커 보임
      예전에는 새 기계학습 모델을 배경지식이 있는 실무자들이 논의했기 때문에, 겉보기엔 작은 개선이 왜 대단한지와 합리적인 기대치를 이해할 수 있었음
      지금은 새 기계학습, 아니 “AI” 모델을 기술적 배경은 모르지만 마케팅 과장은 아는 일반 대중이 평가함. 언어 관련 벤치마크를 압도하는 훌륭한 언어 모델을 줘도 기대치가 터무니없으니 늘 실망하게 됨
      언어 모델이 대명사가 어떤 대상을 가리키는지 이해하는 것처럼 문법·구문에서 비교적 “단순한” 일을 해낼 때도 여전히 놀라움. 하지만 대부분은 언어나 컴퓨터를 그런 관점으로 생각해 본 적이 없어, 그게 얼마나 어렵고 인상적인지 보지 못함
    • “사람들은 1년 안에 할 수 있는 일은 과대평가하고, 5년이나 10년 안에 할 수 있는 일은 과소평가한다”는 말이 AI 기대치에도 잘 맞아 보임
  • 이 만화는 늘 좀 이상하게 느껴졌음. 인간은 항법 문제를 푸는 데 수천 년을 썼음
    이 만화는 한 작업이 마침내 “해결”되고 다른 작업은 막 시작되던 짧은 시기에 존재함
    모델 학습에 에너지가 많이 든다고 생각한다면, 인공위성 군집을 유지하려고 로켓 함대를 쏘아 올리는 것도 생각해봐야 함

    • 기술자가 아닌 사람들이 무엇을 어렵다고 느끼는지의 차이를 말하는 것으로 봤음
      경력 중 회의에서 나온 즉흥적인 요구사항 하나가 프로젝트 추정치를 몇 달씩 바꾼 적이 여러 번 있었음
    • 항법 문제도 대부분의 앱이 제대로 다루지 못하는 난점이 아직 있음
      예를 들어 소매점 웹사이트나 앱의 매장 찾기는 보통 현재 위치와 매장 사이의 직선거리만 계산해서 특정 범위 안의 매장을 거리순으로 보여줌
      Seattle 근처 Kingston처럼 Puget Sound 서쪽에 있는 곳에서는 문제가 됨. Walgreens 매장 찾기는 Kingston 근처 검색에서 10개 매장을 보여주는데, 그중 9개가 Puget Sound 건너 Seattle 쪽에 있음. 차를 가져가면 편도 약 20달러, 30분짜리 페리를 타야 함
      서쪽에 표시되는 하나는 Bainbridge Island 매장인데 Kingston 사람이 갈 만한 곳이 아님. 실제로는 Silverdale 매장이 도로 거리 기준으로 더 가깝지만 직선거리로는 약간 더 멂
      Silverdale, Bremerton 3곳, Port Orchard 1곳은 시간과 이동비 기준으로 Seattle 쪽 매장보다 Kingston에 훨씬 가깝지만, “load more” 버튼을 눌러야 지도에 나타남
      지역 재고 확인 기능도 비슷해서, 물건이 “근처”에 있다고 나오지만 실제로는 Puget Sound 건너편 매장에만 있는 경우가 많음
    • 바로 그게 요점에 가까움. 일반인에게는 항법 같은 일이 훨씬 복잡해 보이지만, 지금은 누구나 몇 시간 만에 할 수 있음
      반면 겉보기에 더 단순한 일은 쉽게 해결되어 API로 제공되지 않았기 때문에 몇 년이 걸릴 수 있었음. 물론 이제는 가능해짐
    • 요점은 GPS가 아니라 GIS라고 봄. 즉 항법 문제가 아니라 “이 점이 이 다각형 안에 있는가” 문제이고, 그건 좀 더 쉬운 편임
    • 이 관찰은 만화의 요점과 모순되지 않음. 전체적으로 어떤 작업이 어려운지가 아니라, 현재 기술로 무엇이 어려운지를 말하는 것임
      비개발자는 현재 기술이 어떤 작업을 사소하게 해결하고 어떤 작업은 못 푸는지 알기 어렵다는 뜻임. 시간이 지나면 두 범주의 분포는 바뀌지만, 일반인이 쉽게 알 수 없다는 점은 그대로임
      오늘 우리가 하는 모든 일도 처음부터 다시 만들려면 극도로 어렵지만, 실제로는 처음부터 다시 만들 필요가 없으니 하기 어려운 일이 아닌 것임
  • “잘 늙지 않았다”고 말할 수도 있겠지만, 진짜 요점인 “쉬운 것과 사실상 불가능한 것의 차이를 설명하기 어렵다”는 오히려 더 강화됐다고 봄
    거의 아이러니하게도 어려운 일과 쉬운 일이 서로 바뀌었음. 10년 전에 누가 예상했겠나

    • 잘 늙었다고 봄. 실제로 그 문제는 게시된 지 5년 뒤에 쉬워졌음
    • xkcd 자체의 대체 텍스트를 볼 만함: 60년대에 Marvin Minsky는 학부생 몇 명에게 여름 동안 카메라로 장면 속 물체를 식별하는 프로그램을 만들라고 시켰음. 여름이 끝날 때쯤 문제가 풀릴 거라고 생각했지만, 반세기 뒤에도 우리는 여전히 그 문제를 다루고 있음
    • 2014년에도 새 연구 자체가 필요하다기보다, 새를 식별하려면 새 학습 데이터가 많이 필요하다는 점은 분명했음
      https://en.wikipedia.org/wiki/DeepFace
    • 개인적으로는 바로 이 만화가 AI 혁명을 촉발한 것 같다는 생각을 떨칠 수 없음
      기억이 맞다면 몇 주나 몇 달 뒤 Yahoo/Flickr 쪽에서 이 문제, 즉 새 식별에 관한 논문이 나왔고 그때부터 모든 것이 하룻밤 사이 폭발한 것처럼 보였음. 실제로 그런 건 아니란 걸 알지만, 내게는 그렇게 보였음
    • 각 작업에 들어가는 계산량과 에너지를 보면 여전히 사람에게 단순해 보이는 문제가 더 풀기 어려운 쪽이라는 말은 맞음
  • LLM이 안정적으로 풀 수 있는 작업과 그렇지 않은 작업을 이해하는 건 여전히 매우 어렵고 직관적이지 않음
    얼마 전 딸이 발표를 준비하다가 “아빠, 채소로 HELLO라는 단어를 만든 사진을 찾아줄 수 있어?”라고 물었음
    “그럼 당연하지, 이건 ChatGPT 일이네”라고 생각했는데, ChatGPT는 우주복 입은 고양이가 마티니를 마시는 그림은 만들 수 있어도 채소로 HELLO를 만든 그림은 확실히 못 만들었음
    결국 알파벳 각 글자를 채소로 만든 이미지를 따로 만들게 한 뒤, 딸이 그것들을 붙여 발표에 쓸 단어를 만들었음

    • ChatGPT가 실제로 어떻게 작동하는지 알면 이런 이야기가 늘 재미있음. 토큰화를 알면 왜 이게 ChatGPT에 맞는 일이 아닌지 바로 알 수 있음
      STRAWBERRY 철자를 제대로 못 세는 것과 정확히 같은 이유임. 과일이나 채소 개념을 몰라서도, 은유나 밈 같은 복잡한 개념을 이해하지 못해서도 아님
      모델은 “hello”를 개별 문자로 이루어진 단어로 보는 게 아니라 단일 토큰, gpt-4o 기준으로는 ID 24912인 토큰으로 봄. 이 토큰의 의미와 다른 토큰과의 관계는 알지만, 그 단어를 이루는 문자 자체에 대해서는 근본적으로 모름. 따로 학습했거나 학습 데이터 안의 우연한 추가 관계를 활용하는 경우는 예외임
    • flux.1로는 가능함. 내가 알기로 지금 텍스트 처리에서는 가장 좋은 이미지 모델임
      Replicate에서 flux-pro를 써서 “vegetables spelling out the word "HELLO"”를 넣은 결과임: https://ibb.co/1RVKmdk
    • Ideogram v2는 첫 시도에서 이렇게 나왔음:
      https://ideogram.ai/assets/image/lossless/response/v_LgyXI1Q...
      https://ideogram.ai/assets/image/lossless/response/V4RRDJZJS...
      첫 이미지의 당근이 좀 웃김
      보너스 Hacker News: https://ideogram.ai/assets/image/lossless/response/SW0B7y4jR...
    • Grok 2 Mini Beta는 꽤 괜찮게 해냈음
      https://i.imgur.com/mvnusFd.jpeg
    • ChatGPT 4o로 방금 해봤는데, 첫 프롬프트만으로도 충분히 괜찮은 결과가 나왔음
      프롬프트는 위 댓글에서 그대로 복사했음: https://chatgpt.com/share/66f530b0-3fb8-800a-8af9-8a3e48a31a...
  • 사진에 흔한 새 색깔이 들어 있는지만 감지해서 출시하면 됨. 경쟁사를 박살 낸 뒤 나중에 고치면 됨

  • 딥러닝의 맥락과 기초를 잡으려고 이 튜토리얼 시리즈를 했는데, 첫 수업이 바로 이 만화의 새 판별기를 만드는 것이었음
    정말 쉽고 재미있었고, 전체 과정도 훌륭함. 프로그래밍 배경이 있고 딥러닝을 탄탄하게 입문하고 싶은 사람에게 강력 추천함
    https://course.fast.ai/

  • 아무도 짚지 않지만, LLM은 요청의 두 번째 부분만큼이나 첫 번째 부분에서도 발전했음
    ChatGPT는 is_point_in_national_park 함수를 써주고 관련 shapefile까지 약 30초 만에 알려줌. 만화에서 말한 “몇 시간”보다 수백 배 빠른 셈임

  • 비전 LLM은 정말 놀라움
    이미지 2만 장 넘게 설명하고 목록화하는 프로젝트가 있었음
    사람이 하는 전통적인 방식이라면 몇 달과 엄청난 비용이 들었을 작업임. 설명은 고객이 읽을 수 있는 품질이어야 했음
    OpenAI의 비전 API는 이미지당 몇 센트로 처리했고, 전체 비용은 200달러도 안 들었을 것임

    • OpenAI의 설명이 정확한지 사람이 검수했는지 궁금함
  • 이런 오해가 대체로 사라질 만큼 기술 문해력이 임계점에 도달할 날이 올지 궁금함
    10년 전이었다면 그렇다고 했겠지만, 지금은 UX/UI의 발전과 모든 것의 앱화가 평균적인 사람을 세부사항으로부터 차단했다고 봄
    개별 제품 관점에서는 좋은 일이지만, 전체적으로는 비현실적인 기대를 낳을 수 있음. 젊은 사람들이 “왜 x가 그냥 y를 하지 않느냐”고 묻는 걸 들은 적이 있는데, 예전에는 아주 비기술적인 부모 세대에게서나 들을 법한 질문이라고 생각했음
    80년대에는 컴퓨터가 많은 사람에게 거의 마법과 같았지만, 대부분은 실제로 컴퓨터와 상호작용할 필요가 없었음. 컴퓨터에 대한 기대는 외계 생명체에 대한 내 기대만큼이나 별 영향이 없었음
    하지만 기술에 대한 마법적 사고는 개인적으로나 사회적으로나 더 큰 결과를 낳을까 두려움

  • @simonw, 혹시 이걸 읽는다면 작은 부탁 하나 해도 될지 궁금함
    공개적으로 공유 가능한 코딩 작업을 라이브 스트리밍해 주면 너무 큰 부탁일까?
    특히 지금의 생태계인 Python, SQLite 데이터, JavaScript 주변에서 배울 것이 정말 많을 것 같음