8P by GN⁺ | ★ favorite | 댓글 1개
  • 2017년 등장한 Transformer는 기계번역에서 출발해 거의 모든 분야로 확장됐고, 현대 엔지니어가 알아야 할 핵심 AI 지식이 됨
  • 이 가이드는 엔지니어가 Transformer를 이해하는 데 필요한 만큼만 따라가도록 신경망부터 어텐션까지 단계적으로 구성됨
  • 직접 실행할 수 있는 Python 코드 예제와 참고 자료를 함께 제공해, 읽는 데서 끝나지 않고 손으로 확인하며 학습할 수 있음
  • 본문은 신경망, RNN, NLP와 어텐션, Transformer, Python·수학 기초 부록으로 나뉘며 PyTorch와 LLM 기반 Multi-Agents 항목도 추가됨
  • 교육·비상업 목적 이용 조건은 비교적 열려 있지만, 문의 시에는 검증용 SNS 주소 2개 이상을 요구하는 등 익명 연락에는 제한이 있음

Transformer를 이해하기 위한 학습 경로

  • The Engineer’s Guide To Deep Learning은 엔지니어가 Transformer를 이해하는 데 필요한 최소 경로를 제공하는 간결한 가이드북임
  • 현재 AI는 세 번째 황금기로 규정됨
    • 이전 두 번의 황금기는 1950~1960년대와 1980년대였음
    • 당시에는 기대가 기술 능력을 앞질러 실망으로 이어짐
    • 2010년대 중반 시작된 현재의 AI 황금기는 기대를 지속적으로 넘어서는 흐름으로 설명됨
  • Transformer는 2017년에 도입된 돌파구임
    • 처음에는 기계번역 모델로 개발됨
    • 이후 영향이 거의 모든 분야로 확장됨
  • 학습 보조 자료로 실행 가능한 Python 코드 예제를 제공함
  • 독자마다 맞는 자료를 고를 수 있도록 추가 참고 자료도 함께 소개함

문서 구성과 업데이트

  • 가이드는 Transformer로 곧장 뛰어들기보다 필요한 기초를 순서대로 쌓도록 구성됨
  • 변경 이력은 2024년 5월 21일 첫 버전 공개 이후 이어짐
    • 2024년 7월 23일: Parts 1·2에 PyTorch 버전 추가
    • 2024년 9월 16일: LLM 기반 Multi-Agents 섹션 추가
  • 향후에는 현재 개발 중인 여러 Transformer 기반 기술과 가까운 미래의 또 다른 주요 돌파구까지 다룰 가능성이 있음

이용 조건과 연락 방식

  • 저작권 FAQ의 이용 조건은 교육·비상업 활용을 중심으로 열려 있음
    • 교육기관 소속 교사와 학생은 학습 목적으로 문서와 그림을 자유롭게 사용할 수 있음
    • 비상업 모임과 강의에서는 사이트 링크와 저작권을 명시하면 문서와 그림을 사용할 수 있음
    • 상업적 이용 항목의 revenue share와 full buyout 설명은 농담이며, 상업적 관계를 맺을 의도는 없다고 밝힘
  • 문의 이메일에는 검증 목적으로 LinkedIn, Twitter 같은 SNS 주소 최소 2개를 제공해야 함
  • XZ backdoor 사건 이후에는 익명 개인의 연락을 받지 않음

댓글과 토론

Hacker News 의견들
  • 더 나은 자료가 꽤 많음. The Annotated Transformer / Attention is All You Need: http://nlp.seas.harvard.edu/annotated-transformer/
    Transformers from Scratch: https://e2eml.school/transformers.html
    Andrej Karpathy의 입문 시리즈도 좋음: https://karpathy.ai/zero-to-hero.html
    Let's build GPT: from scratch, in code, spelled out: https://www.youtube.com/watch?v=kCc8FmEb1nY
    GPT with Andrej Karpathy: Part 1: https://medium.com/@kdwa2404/gpt-with-andrej-karpathy-part-1...
    3Blue1Brown의 “But what is a GPT? Visual intro to transformers | Chapter 5, Deep Learning”: https://www.youtube.com/watch?v=wjZofJX0v4M
    “Attention in transformers, visually explained | Chapter 6, Deep Learning”: https://www.youtube.com/watch?v=eMlx5fFNoYc
    전체 3Blue1Brown 신경망 재생목록: https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_6700...
    • 덧붙이면 위 사이트들은 전부 무료임. 여기 올라온 사이트는 “전체 콘텐츠와 GitHub 저장소의 완전한 상업적 이용권 매입은 €10,000,000”이라고 하고, 상업적 이용에는 20% 로열티도 요구함
      Keras 튜토리얼치고는 꽤 비싼 편임
    • 약간 벗어난 질문이지만 Vesuvius Challenge에 참여해보고 싶은데, 머신러닝 배경은 없고 일반 웹 개발자임. Karpathy의 Zero to Hero와 Understanding Deep Learning 책으로 실전 머신러닝 배경을 쌓으면 충분할지, 아니면 더 배워야 할 것이 있을지 궁금함
      작년 수상 해법들을 이해한 뒤 더 작은 하위 과제를 골라볼 계획임: https://scrollprize.org/
    • Lucas Beyer의 슬라이드도 꽤 괜찮음: https://docs.google.com/presentation/d/1ZXFIhYczos679r70Yu8v...
  • Transformer 튜토리얼은 새로운 Monad 튜토리얼 같은 존재가 된 듯함
  • 이 자료는 퍼셉트론부터 Transformer까지 매우 압축해서 훑어가는 방식임
    예를 들어 LSTM의 기울기를 전개하는 부분은 선호하는 프레임워크에서 구현하라고 돕는 게 아니라 이해를 돕기 위한 것임
    여러 프레임워크로 해법을 보여주는 목적도 수식이 어떻게 생겼고 코드로는 어떻게 보일 수 있는지 연결해주려는 데 있음
  • Transformer 문서에서 가장 답답한 점은 거의 전부가 자연어 처리에만 초점을 둔다는 것임
    특히 Transformer 아키텍처에서 흥미로운 부분은 어텐션 메커니즘이 순열 불변이라는 점임. 사람들이 이 고유한 성질을 상쇄하려고 위치 임베딩을 쓰지 않는다면 더욱 그렇고, 그래프의 특정 노드나 개별 간선까지 임의로 마스킹할 수 있어서 도메인 지식을 아키텍처에 녹여 넣는 유연성이 큼
    많은 경우 위치 임베딩이 여전히 필요할 수는 있지만, 어텐션 계층 입력을 단순한 1차원 시퀀스로만 보는 지나치게 제한적인 관점에서 벗어나 더 영리하게 설계할 수 있음
  • 머신러닝/인공지능 전문가들에게 묻고 싶음. CRUD/백엔드 API에서 ML/AI 분야로 전환하려는 사람이 볼 만한 입문 자료가 있으면 공유해주면 좋겠음. 분야가 여러 갈래라 어디서 시작해야 할지 모르겠음
    이해한 바로는 ML 엔지니어는 PyTorch 같은 프레임워크로 모델을 만드는 엔지니어, AI 엔지니어는 프롬프트 엔지니어링이나 OpenAI/Claude API 같은 AI 솔루션 위에 애플리케이션을 만드는 엔지니어, MLOps는 모델 배포와 서빙을 돕는 사람들인데 이 구분이 맞는지 궁금함
    • 이런 용어들에는 정식 정의가 없음. 필요한 연상 규칙은 하나뿐임: 그럴듯한 직함 → 회사가 원하는 아무 의미나 될 수 있음
      위 역할들은 현실적으로 “최첨단 연구를 한다”부터 “CSV를 한 번 열어본 적 있다”까지 전부 포괄할 수 있음
    • 머신러닝 프로젝트 시간의 85%는 데이터 품질과 약간의 도메인 특성 공학에 쓰이게 됨
      영향력을 만들고 싶다면 그쪽을 아주 잘하면 됨. 시스템 통합이나 비즈니스 분석 같은 분야에서도 쓸 수 있는 기술이고, 알고리즘과 요즘은 학습된 모델까지도 연구하는 사람들이 가져다줄 수 있음
    • “AI 엔지니어”는 소프트웨어에 머신러닝을 통합하는 데 특화된 애플리케이션 엔지니어라고 부르는 편이 맞겠음
    • Kaggle이 좋은 출발점임
  • 소개 몇 문단 말고는 콘텐츠가 없음. 실제 콘텐츠는 404 not found가 남
    • 본문 안의 링크가 깨져 있음. 햄버거 메뉴의 링크는 잘 작동함
    • 데스크톱 왼쪽 메뉴는 작동함. 첫 페이지의 링크만 깨진 듯함
  • “이메일을 보낼 때는 확인 목적으로 LinkedIn, Twitter 같은 SNS 주소를 최소 두 개 제공해달라… 익명 개인의 연락은 더 이상 받지 않는다”는 문구가 보임
    기술자들 사이에서도 소셜 네트워크가 신원과 신뢰 확인 수단으로 채택되는 걸 보니 꽤 씁쓸함. 일부 정부가 비자/이민 심사에 소셜 네트워크 사용자명을 요구하기 시작했을 때도 충분히 나빴는데, 이제는 기술자에게 이메일 하나 보내는 데도 사회적 증명이 필요한 건가 싶음
    • “익명 개인의 연락은 더 이상 받지 않는다”는 말은 공군 본부 모집 센터에 어떤 사람이 나타나는 농담을 떠올리게 함. “조종사 면허는? 경력은? 자격은?”이라고 묻자 “없습니다. 그냥 저한테 기대하지 말라고 말하러 왔습니다!”라고 답하는 식임
    • 생략된 부분을 펼치면 “XZ 백도어 사건 때문에 익명 개인의 연락은 더 이상 받지 않는다”임
      XZ 공격자는 수많은 서비스에 GitHub로 로그인할 수 있었을 것임. 원글 작성자도 1년 넘게 방치된 토큰 유출로 잠재적으로 침해됐던 PyPI에서 뭔가를 내려받을 가능성이 높다고 봄
      또한 머신러닝 분야에 있으니 GitHub, conda, PyPI에서 감사하기 어려운 거대한 Python 프레임워크를 내려받을 가능성도 높고, 그 분야 사람들은 신뢰할 수 없는 모델도 내려받아 실험함
      그런데 MIME과 기타 확장을 꺼둔 명령줄 메일 클라이언트에서 읽을 수 있는 평문 이메일이 문제라는 건가
  • 기초부터 간결하게 쌓아 올리는 데 아주 좋은 자료임