Andrej Karpathy: Software Is Changing (Again)
슬라이드: https://drive.google.com/file/d/1a0h1mkwfmV2PlekxDN8isMrDA5evc4wW/view
트랜스크립트: https://www.assemblyai.com/playground/transcript/b2f9627d-a0d6-4d4d-8651-0bf76852459f
번역(비공개): https://gemini.google.com/app/48425cc157358308
테슬라의 전 AI 디렉터, 안드레이 카파시(Andrej Karpathy)를 환영해 주십시오. 와, 정말 많은 분들이 오셨네요. 안녕하세요. 오늘 이 자리에 서서 'AI 시대의 소프트웨어'에 대해 이야기하게 되어 기쁩니다.
여기 계신 많은 분들이 학부생, 석사, 박사 과정에 있는 학생이고, 이제 곧 산업계에 뛰어들 분들이라고 들었습니다. 지금은 업계에 진출하기에 정말 특별하고 아주 흥미로운 시기라고 생각합니다. 근본적인 이유는 소프트웨어가 다시 한번 변하고 있기 때문입니다.
'다시'라고 말씀드리는 이유는 제가 사실 이 주제로 이미 강연을 한 적이 있기 때문입니다. 하지만 문제는 소프트웨어가 계속해서 변한다는 것이고, 덕분에 저는 새로운 강연 자료를 만들 소재가 아주 많습니다. 그리고 저는 이 변화가 상당히 근본적인 수준에서 일어나고 있다고 생각합니다. 대략적으로 말해, 소프트웨어는 지난 70년간 이토록 근본적인 수준에서 크게 변한 적이 없었습니다. 그러다 최근 몇 년 사이에 아주 빠르게, 두 번 정도 변했다고 생각합니다. 그 결과 지금은 해야 할 일이 엄청나게 많고, 새로 작성하고 다시 작성해야 할 소프트웨어 역시 산더미처럼 쌓여 있습니다.
소프트웨어의 영역을 한번 살펴보겠습니다. 이 화면은 'Map of GitHub'라는 아주 멋진 도구인데, 소프트웨어의 지도라고 생각하시면 됩니다. 여기 보이는 것들은 모두 작성된 소프트웨어, 즉 컴퓨터가 디지털 공간에서 특정 작업을 수행하도록 하는 명령어들입니다. 확대해보면 다양한 종류의 리포지토리들이 보이고, 이것이 바로 인류가 작성한 모든 코드입니다.
몇 년 전, 저는 소프트웨어가 변하고 있으며 새로운 유형의 소프트웨어가 등장하고 있음을 감지했고, 당시 그것을 '소프트웨어 2.0'이라고 불렀습니다. 이 개념에서 소프트웨어 1.0은 우리가 컴퓨터를 위해 직접 작성하는 코드입니다. 반면 소프트웨어 2.0은 기본적으로 신경망, 특히 신경망의 가중치($weights$)를 의미합니다. 이 코드는 우리가 직접 작성하지 않습니다. 그보다는 데이터셋을 조정하고 최적화 도구를 실행하여 신경망의 파라미터(parameters)를 만들어내는 방식에 가깝습니다.
당시에는 신경망을 의사결정 트리(decision tree)와 같은 또 다른 종류의 분류기(classifier) 정도로 여겼던 것 같습니다. 그래서 제 프레임이 훨씬 더 적절했다고 생각합니다. 그리고 지금 우리에게는 소프트웨어 2.0 영역의 깃허브(GitHub)와 같은 것이 생겼습니다. 저는 허깅페이스(Hugging Face)가 바로 소프트웨어 2.0 시대의 깃허브라고 생각합니다. 'Model Atlas'라는 것도 있는데, 거기서 작성된 모든 코드를 시각화해서 볼 수 있습니다. 참고로, 저 거대한 원의 중심점은 이미지 생성기인 'Flux'의 파라미터입니다. 누군가 Flux 모델 위에 LoRa를 튜닝할 때마다, 이 공간에 일종의 'Git 커밋'을 생성하고 다른 종류의 이미지 생성기를 만드는 셈입니다.