인공지능, 빅데이터 등 4차 산업혁명 시대 주요한 기술 요소가 우리의 일상에 널리 퍼지고 있습니다. 급속한 기술의 진보와 사회의 변화를 맞닥뜨릴 대학생들은 이를 어떻게 받아들이고 있을까요. 연세대학교 IT경영전략학회인 ISSU(Information System SIG of Undergraduate) 학회원들이 한 학기 동안 4차 산업혁명 시대 주요한 기술 요소를 주제로 스터디한 결과물을 소개합니다. 대학생의 시선에서 바라본 기술의 현재와 고민을 살펴보기 위해 최대한 제출된 원본 그대로를 전달합니다. ‘대학생 이슈 리포트 2019’는 총 11회가 게재됩니다. [편집자주]

[대학생 이슈 리포트 2019] ①빅데이터 시대 ‘나는 누구인가’
[대학생 이슈 리포트 2019] ②자율 주행과 TOR
[대학생 이슈 리포트 2019] ③디지털 트윈을 활용한 헬스케어
[대학생 이슈 리포트 2019] ④가짜뉴스를 만드는 AI, 가짜뉴스를 잡는 AI
[대학생 이슈 리포트 2019] ⑤블록체인, 데이터의 바다 속에서 키를 잡을 수 있을까 '음원시장을 중심으로'
[대학생 이슈 리포트 2019] ⑥인공위성영상 분석과 정보우위 '경제적 가치와 국가 안전'
[대학생 이슈 리포트 2019] ⑦나는 인공지능 때문에 직장을 잃었다
[대학생 이슈 리포트 2019] ⑧진정한 무인매장이란 무엇인가
[대학생 이슈 리포트 2019] ⑨미래 성장을 위한 국내 MaaS 도입 검토의 필요성
[대학생 이슈 리포트 2019] ⑩AI 데이터 필터링 기반 타겟 광고를 경계해라 '페이스북 사례를 중심으로'
[대학생 이슈 리포트 2019] ⑪모두가 코딩을 쉽게 할 수 있는 시대

중학교를 시작으로 초등학교까지 코딩교육이 의무화 되면서 소프트웨어(SW) 코딩에 대한 관심이 급증하고 있다.

세계적으로 코딩붐이 불고 있는 상황에서 많은 사람들이 개발자급의 코딩역량이 필수인 시대가 올 것이라고 생각하고 있다. 하지만 인간 고유의 영역이라고 여겨졌던 코딩 역시 인공지능으로 대체될 가능성이 높고 실제로도 일정부분 대체되고 있다.

./ 출처 삼성반도체
./ 출처 삼성반도체
인공지능 주도 개발(AI-driven Development)은 2019년 가트너의 10대 전략 기술 트렌드에 제시될 정도로 최근 주목받는 분야이다. 인공지능 주도 개발은 AI 개발을 지원하는 도구를 활용해 보다 향상된 AI 솔루션 개발 환경 조성을 가능하게 한다. 현재는 전문 데이터과학자와 개발자 간 협업을 통해 AI 솔루션 개발이나 프로그래밍이 이뤄진다.

반면, 인공지능 주도 개발에서는 AI를 활용해 미리 정의된 모델이나 툴을 사용해서 개발자 단독으로도 개발할 수 있는 환경을 만들어주고 있다. 인공 지능 주도 개발은 궁극적으로는 보편화된 AI 개발 환경을 조성해서 비전문가도 AI 개발 지원 도구를 사용해 코딩없이 자동으로 새로운 솔루션과 앱을 제작할 수 있는 ‘시민 애플리케이션 개발자’의 시대를 열 것으로 전망된다.

2020년에는 가상의 소프트웨어 엔지니어를 활용해 코드를 생성하고 2022년에는 새로운 앱 개발의 40%를 인공지능이 담당할 것으로 예상된다. 이미 간단한 코딩은 AI가 할 수 있으며 AI를 활용해 코딩 관련된 업무의 자동화를 이루고 있다.

가장 대표적인 예로는 구글 오토ML(AutoML), 아마존 세이지메이커(SageMaker), 마이크로소프트에서 캠브리지대와 협력해서 발표한 딥코더(Deepcoder), 라이스 대학에서 개발한 바이유(Bayou) 등이 있다.

구글의 오토ML과 아마존의 세이지메이커는 자동 머신러닝(Auto Machine Learning)을 활용한 AI로 기업간 자원 격차를 줄이고 모든 비즈니스에서 쉽게 AI를 사용할 수 있도록 돕는 서비스이다. 머신러닝이나 코딩에 대한 전문적인 지식 없이도 누구나 해당 분야의 특정한 필요에 맞게 머신러닝 모델을 확장해 활용할 수 있다.

딥코더의 경우 사람이 아이디어만 제공하면 AI가 자동으로 소스코드를 작성할 수 있도록 지원해주는 AI이다. 현재 논문 수준이라 바로 적용은 어렵지만, 인공지능 주도 개발의 방향성을 설정해주기 때문에 소프트웨어 개발 시장에서 큰 영향력을 행사하고 있다.

바이유(Bayesian program synthesis for you)는 프로그래머를 돕기 위해 그들이 필요로 하는 코드를 생성해서 기존 코드에 삽입해주는 인공지능 모델이다.

바이유 같은 경우 ‘Neural Sketch Learning’ 방법을 통해 깃허브(Github)에 올라와있는 15만개의 메서드를 추출해 자바(Java) 코드를 학습, 인간이 키워드 위주로만 입력해도 프로그래머가 무엇을 원하는지 예측하고 코드를 입력해준다. 전에 있던 툴들은 모호한 명령에 약했기 때문에 어떤 프로그램을 원하는지에 대한 디테일을 많이 써야하는 등 비효율적이었던 것에 비해 소스코드 생산에 시간이 덜 소모되도록 도와주는 등 효율성이 높다.

현재 인공지능은 프로그래밍 자체를 한다기보다는 프로그래밍을 하는 과정을 도와주는데 그치고 있다. 하지만 점점 발전해서 미래에 단지 몇 개의 키워드 만으로 프로그램을 만들 수 있다면, 더 나아가 인간의 개입 없이도 인공지능이 스스로 더 나은 프로그램을 코딩하고 발전해 나간다면 기존 개발자와 비개발자들의 역할과 필요한 역량은 어떻게 달라질까?

개발자와 같은 경우 코드를 준비하고 검증 및 생성하는 단계가 AI를 통해 자동화되면 인간 개발자는 코딩이 필요한 아이디어를 제공한다던가 AI 코딩의 결과를 해석하고 중재하는 번역가의 역할을 하게 될 가능성이 높다.

AI는 기존 데이터를 베이스로 학습하기 때문에 기존 코딩에 있는 개발자들의 바이어스 역시 학습하게 될 가능성이 있다. 한쪽으로 편향된 AI가 더 ‘효율적인’ AI를 만드는 과정에서 더 편향된 AI가 개발될 수 있기 때문에 인간 개발자들은 중간에서 그러한 AI를 점검하고 다듬는 역할을 해야 한다. 비개발자의 경우 AI 개발 툴을 이용해 자신의 특정한 니즈에 맞춤된 새로운 솔루션들과 앱 제작에 참여할 수 있다.

인공지능으로 대체되면서 코딩 역량의 무용론이 제기될 수도 있다. 하지만 인공지능 주도 개발이 완전히 이뤄진다고 하더라도 인공지능 및 컴퓨터와 대화할 수 있는 언어 습득 혹은 점점 디지털화 되어가는 사회에서 코딩의 구조를 전반적으로 이해하는 능력은 여전히 필요할 것으로 예상된다.