요즘IT
위시켓
최근 검색어
전체 삭제
최근 검색어가 없습니다.

본문은 요즘IT와 번역가 Mink가 함께 만든 해외 번역 콘텐츠입니다. 필자인 매트 웰시(Matt Welsh, mdw@mdw.la)는 최근 창업한 Fixie.ai의 CEO 겸 공동창업자로, 이 스타트업에서 소프트웨어 개발팀을 지원하는 AI 역량을 개발하고 있습니다. 그는 하버드대 컴퓨터 과학과 교수를 역임했고 구글의 엔지니어링 디렉터, 애플의 엔지니어링 리드, OctoML의 엔지니어링 부사장으로 재직한 경력이 있습니다. 또한 “AI가 아직 체스를 잘 두지 못했던 시절에 UC 버클리대에서 박사 학위를 받았다”라고 자신을 소개합니다.

회원가입을 하면 원하는 문장을
저장할 수 있어요!

다음

회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!

확인

개발

프로그래밍의 종말

년차,
어떤 스킬
,
어떤 직무
독자들이 봤을까요?
어떤 독자들이 봤는지 궁금하다면?
로그인

 

본문은 요즘IT와 번역가 Mink가 함께 만든 해외 번역 콘텐츠입니다. 필자인 매트 웰시(Matt Welsh, mdw@mdw.la)는 최근 창업한 Fixie.ai의 CEO 겸 공동창업자로, 이 스타트업에서 소프트웨어 개발팀을 지원하는 AI 역량을 개발하고 있습니다. 그는 하버드대 컴퓨터 과학과 교수를 역임했고 구글의 엔지니어링 디렉터, 애플의 엔지니어링 리드, OctoML의 엔지니어링 부사장으로 재직한 경력이 있습니다. 또한 “AI가 아직 체스를 잘 두지 못했던 시절에 UC 버클리대에서 박사 학위를 받았다”라고 자신을 소개합니다.

 

이번 글에서는 프로그래밍을 짠다는 개념이 앞으로는 AI 모델을 훈련시키는 일로 대체될 전망이라는 의미의 ‘프로그래밍의 종말’을 이야기합니다. 이 글을 읽고 필자의 의견에 덧붙여 급변하는 현 시대를 살아가는 데 필요한 개발자의 자세, 이러한 변화 속에서 맞이하게 될 기회와 위험에 대해 들려주고 싶은 이야기가 있으신 분, 혹은 이 주장에 반대하시는 분은 yozm@wishket.com으로 글을 보내주세요. 채택된 분께는 소정의 원고료를 드리고 필자에게도 의견을 전달하겠습니다.

 
프로그래밍의 종말
<출처 : Ursa major>

 

저는 1980년대 집에서 Commodore VIC-20 및 Apple ][e 같은 PC로 프로그래밍을 하며 청소년기를 보냈습니다. 학부에서는 컴퓨터 과학(computer science, CS)을 전공하고 UC 버클리대에서 박사 학위를 받았죠. 제가 받은 전문적인 교육의 대부분은 본 글에서 ‘고전’ CS라고 지칭하는 분야에 그 근간을 두고 있습니다. 이 분야에서는 프로그래밍, 알고리즘, 데이터 구조, 시스템, 프로그래밍 언어를 다룹니다. 고전 CS의 궁극적인 목표는 바로 아이디어를 인간이 작성한 프로그램, 즉 자바나 C++, 파이썬 등의 언어로 된 소스 코드로 구현하는 것입니다. 고전 CS에서는 모든 아이디어를 인간이 읽고 이해할 수 있는 프로그램으로 구현할 수 있습니다. 데이터베이스 조인 알고리즘부터 말도 안 되게 난해한 팩소스(Paxos) 컨센서스 프로토콜에 이르기까지, 그 아이디어가 얼마나 복잡한지는 상관없죠.

 

프로그래밍의 종말
Commodore VIC-20 <출처 : Wikipedia>

 

제가 학부 시절을 보냈던 1990년대 초반은 아직까지도 인공지능(AI)의 한겨울이었습니다. AI 분야 자체에서도 고전 알고리즘이 주류였죠. 제가 코넬대에서 맡게 된 첫 연구는 다니엘 허튼로커(Dan Huttenlocher) 교수와 함께였는데요. 이 분은 컴퓨터 비전 분야의 리더로, 현재 MIT 슈워츠먼 컴퓨팅 학부(Schwarzman College of Computing)의 학장으로 재직하고 계십니다. 1995년 즈음 허튼로커 교수가 진행한 박사 과정 수준의 컴퓨터 비전 수업에서는 딥러닝이나 신경망과 비슷한 내용은 한 번도 거론된 적이 없었습니다. 캐니 에지 검출(Canny edge detection)과 광학 흐름(optical flow), 하우스도르프 거리(Hausdorff distances) 등과 같은 고전 알고리즘을 전적으로 다뤘죠. 딥러닝 분야는 아직 초창기여서 주류 CS는커녕 주류 AI로도 인정받지 못했습니다.

 

이는 물론 30년 전 이야기이죠. 그 이후로 수많은 변화가 있었습니다. 그러나 그 와중에도 바뀌지 않은 한 가지가 있는데요. 바로 CS가 데이터 구조와 알고리즘, 프로그램을 핵심으로 다루는 분야로 교육되고 있다는 점입니다. 30년 후, 아니 10년 후에도 CS 교육이 여전히 이 같은 방식으로 진행된다면 저는 놀랄 겁니다. 실제로 CS는 앞으로 주요한 격변을 맞이하게 될 분야라고 생각합니다. 다만 이러한 변화에 진정으로 대비하는 사람이 현재 거의 없을 뿐이죠.

 

 

프로그래밍은 앞으로 무용지물이 될 것입니다 

‘프로그램을 짠다’는 기존의 개념은 사라지는 방향으로 가고 있다고 봅니다. 또한 매우 특화된 응용 프로그램을 제외하고 우리에게 익숙한 형태의 소프트웨어 대부분이 ‘프로그램되는’ 대신 ‘훈련된’ AI 시스템으로 대체될 전망입니다. ‘간단한’ 프로그램이 필요한 상황에서는 이러한 프로그램 자체가 손으로 코딩되는 대신 AI로 생성될 것입니다. 어차피 모든 프로그램이 GPU 클러스터상에서 매개변수 수천억 개로 구성된 모델을 실행할 필요는 없으니까요.

 

이게 말도 안 되는 생각이라고는 보지 않습니다. 컴퓨터 과학은 전기공학에서 상대적으로 미비한 하위 분야였다가 새로운 학문으로 갈라져 나왔는데요. 미래의 컴퓨터 과학자들은 반도체와 이진법 계산, 마이크로프로세서 설계를 깊이 있게 이해할 수 있어야 한다고 컴퓨터 과학의 초창기 선구자들이 굳게 믿었던 것도 당연한 일입니다. 시간을 빠르게 돌려 오늘날에 와서 보자면, 저는 소프트웨어를 작성하는 사람의 99%가 CPU의 실제 작동 원리조차 거의 이해하지 못한다는 데 큰 돈을 걸 의향이 있습니다. 트랜지스터 설계의 근간이 되는 물리학에 대한 이해는 고사하고 말이죠. 더 나아가 미래의 컴퓨터 과학자들은 ‘소프트웨어’의 전통적인 정의에서 너무나도 동떨어져 있게 될 것이라 봅니다. 연결 리스트(linked list)를 역순으로 바꾸거나 퀵정렬(Quicksort)을 구현하려면 엄청 애를 먹게 되겠죠. (저 자신조차 퀵정렬 구현 방법이 기억나는지 잘 모르겠네요.)

 

코파일럿(CoPilot) 등의 AI 코딩 비서는 고작 제가 여기서 설명하고 있는 내용의 겉핥기일 뿐입니다. 미래에는 당연히 모든 프로그램이 결국 AI로 짜일 게 명백해 보입니다. 인간은 기껏해야 AI를 관리·감독하는 역할을 담당하게 되겠죠. 이와 같은 예측에 의구심이 드는 사람은 이미지 생성처럼 AI 콘텐츠 생성의 다른 분야에서 아주 빠르게 진행되고 있는 발전 성과를 살펴보기만 해도 무슨 말인지 이해할 수 있을 것입니다. DALL-E의 첫 번째 버전과 15개월 후 발표된 두 번째 버전 사이에는 품질 및 복잡성 측면에서 엄청난 차이가 존재하니까요. AI 분야에 몸담고 있었던 지난 몇 년간 제가 알게 된 건 바로 규모가 점점 커지는 대형 AI 모델의 강력한 힘을 간과하기가 무척 쉽다는 점입니다. 몇 개월 전만 해도 SF에 나올 법해 보였던 일들이 빠르게 현실로 구현되고 있습니다.

 

그러니 제가 말하고자 하는 바는 깃허브의 코파일럿이 인간 프로그래머를 대체하는 등의 일만이 아닙니다. 바로 프로그램을 짠다는 전체 개념을 모델 훈련으로 대체하게 된다는 얘기를 하는 것이죠. 미래에는 CS를 전공하는 학생들이 이진 트리에 노드를 추가하는 방법이나 C++로 코딩하는 방법 같은 지루한 스킬을 배우지 않아도 될 겁니다. 그러한 교육 방식은 구식으로 전락할 테니까요. 마치 오늘날의 공학도에게 아날로그 시대에나 사용하던 공학용 계산기 사용법을 가르치는 일처럼 말입니다.

 

미래의 엔지니어는 키보드를 몇 번만 두드리면 400억경 매개변수 모델의 인스턴스를 구현할 수 있을 전망입니다. 이러한 모델은 이미 기존에 존재하는 인간 지식 전체(및 이후 생겨날 지식)를 코드화해 머신이 해야 할 어떤 작업이든 수행할 준비가 되어 있겠죠. 인간이 원하는 바를 머신이 구현하도록 만드는 지적 작업의 핵심은 대부분 제대로 된 예시와 제대로 된 훈련 데이터, 그리고 훈련 과정을 평가할 수 있는 제대로 된 방법을 제시하는 것일 전망입니다. 적절한 성능을 갖고 있어 퓨샷 러닝(few-shot learning)을 통해 일반화가 가능한 모델에는 수행할 작업을 보여주는 좋은 예시 몇 가지만 있으면 됩니다. 대부분의 경우, 인간이 큐레이션한 대규모 데이터 세트가 더 이상 필요하지 않겠죠. 또한 AI 모델을 ‘훈련시키는’ 사람들 대부분은 파이토치(PyTorch)로 경사 하강법(gradient descent loops)을 반복하는 등의 작업은 실행하지 않을 겁니다. 사람들이 예시를 통해 머신을 훈련시키면 나머지 작업은 머신이 알아서 진행하는 거죠.

 

이렇게 새로운 컴퓨터 과학에서는(혹시라도 이를 컴퓨터 과학이라고 지칭하게 된다면) 머신이 너무나도 강력한 성능을 보유하고 있고 벌써 굉장히 많은 작업의 수행 방법을 알고 있을 겁니다. 이렇게 된다면 컴퓨터 과학은 엔지니어링보다 교육에 더욱 가까운 분야로 보이겠죠. 즉, 머신을 학습시키는 최선의 방법과 학교에서 어린이를 교육하는 최선의 방법이 별반 다르지 않을 것입니다. 하지만 이러한 AI 시스템은 인간 어린이와는 다르게 비행기를 조종하고 전력망을 운용할 것이며, 심지어는 국가 전체를 통치할 가능성도 있을지 모릅니다. 우리의 초점이 인간의 직접 프로그래밍 대신 인공지능 머신 교육으로 이동하면 고전 CS의 대다수 내용이 현실에서는 무용지물이 될 것이라고 생각합니다. 전통적인 의미로의 프로그래밍이 사실상 사망 선고를 받게 되는 셈이죠.

 

본문과 무관한 사진. (출처: UnsplashMichael Dziedzic

 

이제까지 언급한 모든 내용은 컴퓨터 과학 분야에 대한 우리의 사고방식을 어떻게 바꾸어 놓을까요? 

컴퓨팅 능력(computation)의 새로운 최소 단위는 폰 노이만(von Neumann) 머신을 구현하는 프로세서와 메모리, I/O 시스템이 아닌, 뛰어난 적응성을 갖추고 사전 훈련을 마친 대규모 AI 모델이 될 것입니다. 이는 계산에 대한 우리의 사고방식을 획기적으로 바꾸는 변화인데요. 계산을 명령어 세트와 타입 시스템, 결정가능성이라는 개념에 좌우되는 예측 가능한 정적 프로세스로 보지 않는 거죠. AI 기반의 계산은 정적 분석이나 형식적인 증명 같은 루비콘 강을 오래 전에 건넌 셈입니다. 우리가 빠르게 향하고 있는 세상은 바로 계산의 기본 구성 요소가 예측되기 어렵고, 이해되기 힘들며, 뛰어난 적응성을 갖춘 곳인 겁니다.

 

이러한 변화를 부각하는 사실은 대규모 AI 모델의 작동 원리를 정말로 이해하는 사람이 현재 아무도 없다는 점입니다. 사람들은 기존 대규모 모델의 새로운 행동을 실제로 발견한 연구 논문을 게재하고 있죠. 바로 인간이 이 시스템을 ‘설계했음’에도 불구하고 말입니다. 대규모 AI 모델은 명시적으로 훈련받지 않은 작업도 수행해낼 수 있습니다. 이는 스웨덴 철학자 닉 보스트롬(Nick Bostrom)과 더불어 초지능 AI가 통제불능이 되는 것을 (당연하게) 우려하는 사람들의 간담을 서늘하게 하겠죠. 지금 우리에게는 현존하는 AI 시스템의 한계를 판단할 방법이 실증 연구 외에는 존재하지 않습니다. 그 규모가 훨씬 더 크고 보다 난해할 미래의 AI 모델에 대해서는 운에 맡기는 수밖에요.

 

이 분야의 무게중심이 프로그램에서 모델로 변화하고 있다는 점은 최근에 나온 머신러닝 논문을 조금이라도 읽어본 사람이라면 명백하게 알 만한 사실입니다. 이러한 논문에는 혁신의 근간이 되는 코드나 시스템은 거의 언급되지 않습니다. AI 시스템은 어텐션 레이어(attention layers)와 토크나이저(tokenizers), 데이터 세트와 같은 훨씬 더 고차원의 추상적 기본 요소로 구성됩니다. 20년 전 세상에서 타임머신을 타고 온 시간 여행자는 75쪽짜리 GPT-3 논문에서 단 세 문장을 이해하는 데 만도 힘든 시간을 보낼 테죠. 바로 다음 내용입니다.

 

“본 논문에서는 GPT-2에 설명되어 있는 변형된 초기화(modified initialization)와 사전 정규화(pre-normalization), 가역 토큰화(reversible tokenization)를 비롯해 GPT-2와 동일한 모델 및 아키텍처를 사용했는데, 스파스 트랜스포머(Sparse Transformer)와 유사한 트랜스포머 레이어에서는 어텐션에 있어 밀집(dense) 패턴과 국소로 집중된 희소(locally banded sparse) 패턴을 교대로 사용하는 예외를 두었다. 모델 규모에 대한 ML 성능의 의존도를 연구하고자 1.25억 개의 매개변수부터 1,750억 개의 매개변수에 이르기까지 1,000배 차이가 나는 규모가 서로 다른 8개의 모델을 훈련시켰고, 그중 마지막 모델을 GPT-3라고 지칭했다. 이전 연구에서 충분한 훈련 데이터가 있으면 검증 손실(validation loss)의 규모는 대략 크기에 대한 함수로 부드러운 멱법칙을 따른다는 점을 알 수 있었으며, 서로 다른 수많은 규모의 모델 훈련을 통해 검증 손실과 다운스트림 언어 태스크(downstream language tasks) 모두에 대해 이러한 가설을 테스트할 수 있었다.”

 

컴퓨팅(computing)에 대한 근본적인 정의가 이렇게 변화한다는 점은 우리에게 커다란 기회를 선사함과 동시에 커다란 위험도 많이 안겨줍니다. 하지만 그럼에도 이게 머지않아 일어날 미래라는 사실을 받아들이고 우리의 사고도 이에 맞게 발전시킬 때라고 봅니다. 우주에서 지구로 유성이 충돌하는 것과 같은 엄청난 변화가 우리에게 닥치기만을 그저 앉아서 기다릴 수는 없으니까요.

 

 

<참고자료>

1. Berger, E. Coping with copilot. SIGPLAN PL Perspectives Blog, 2022; https://bit.ly/3XbJv5J

2. Bostrom, N. Superintelligence: Paths, Dangers, Strategies. Oxford University Press, 2014.

3. Brown, T. et al. Language models are few-shot learners. 2020; https://bit.ly/3Eh1DT5

4. Kojima, T. et al. Large language models are zero-shot reasoners. 2022; https://bit.ly/3Ohmlqo

5. Nye, M. et al. Show your work: Scratchpads for intermediate computation with language models. 2021; https://bit.ly/3TLnfMY

 

 

<원문>

The End of Programming

 

위 번역글의 저작권은 Matt Welsh에게 있으며, 요즘IT는 해당 글로 수익을 창출하지 않습니다. 글의 내용은 원저작물을 편집하지 않은 번역물로써 요즘IT의 의견이나 견해가 아니며, 이에 관한 책임은 원작자에게 있습니다.

좋아요

댓글

공유

공유

댓글 2
작가
414
명 알림 받는 중

작가 홈

작가
414
명 알림 받는 중
요즘 해외 개발자들은 어떻게 일할까요? 기획자나 디자이너는요? 그래서 준비했습니다. 읽어볼만한 해외 소식들을 번역해 전합니다. We are the world.

좋아요

댓글

스크랩

공유

공유

지금 회원가입하고,
요즘IT가 PICK한 뉴스레터를 받아보세요!

회원가입하기
요즘IT의 멤버가 되어주세요! 요즘IT의 멤버가 되어주세요!
요즘IT의 멤버가 되어주세요!
모든 콘텐츠를 편하게 보고 스크랩해요.
모든 콘텐츠를 편하게 보고 스크랩 하기
매주 PICK한 콘텐츠를 뉴스레터로 받아요.
매주 PICK한 콘텐츠를 뉴스레터로 받기
로그인하고 무료로 사용하기