테크/혁신 사례

구글에서 만든 코딩 자동화 혁신, '알파코드(AlphaCode)'

공부하는박대리 2022. 2. 10. 08:00

구글의 딥마인드가 인간 프로그래머 수준의 코딩 능력을 보유한 인공지능(AI) 시스템 ‘알파코드(AlphaCode)’를 공개했습니다. 초기 개발 단계에서 수준급 기능을 증명한 알파코드는 향후 코딩을 모르는 사람들의 코딩 요구까지 충족시켜줄 것으로 기대되는 기술로서 최근 이목을 집중시키기도 했습니다.

 

그렇다면, 자동으로 프로그램을 만들어주는 ‘알파코드’는 무엇인지, 이를 개발한 ‘딥마인드’는 어떤 회사인지 함께 알아볼까요?

 



1) 구글 '딥마인드(DeepMind)' 회사 개요

 

◾ 소개

 

2010년 창립했으며 구글(알파벳)의 자회사이자 영국의 인공지능(AI) 프로그램 개발 회사입니다. 2014년 약 5억 달러에 구글에 매각됐으며, 구글의 인수 이후 20억달러 가까운 집중적인 투자를 받기도 했습니다. 한국의 바둑천재 이세돌을 꺾은 바둑프로그램 알파고를 개발한 업체로서 국내에 알려지기 시작했습니다.

 

◾ 사업 내용

 

전 세계에 이로운 범용 인공지능(AGI, Artificial General Intelligence) 개발을 주 사업으로 하는데, 주요 성과는 다음과 같습니다.

 

1) 인공지능을 이용해 카메라가 촬영한 안구 영상만으로 안구 질환을 진단하는 기술 개발 (2018.8)

2) 혈액을 분석해 급성 신장손상을 예측하는 기술 개발 (2019.8)

3) 단백질 3차 구조를 예측하는 인공지능 알파폴드(AlphaFold) 개발 (2020.12)

4) 90분 뒤 강수 예측 AI 개발 (2021.10)

5) 사람처럼 코딩하는 AI 알파코드 공개 (2022.2)

 

◾ 수익성

 

2019년 4억 7600만 파운드 적자를 기록했던 딥마인드는 2020년 4380만 파운드 흑자를 달성했습니다.



#2. ‘알파코드(AlphaCode)’ 기술이란?

 

알파코드(AlphaCode)는 AI 기반의 코딩 프로그램으로서, 비판적 사고, 논리, 언어의 이해가 필요한 오픈엔드형(Open-ended, 정해진 답이 없는) 문제를 해결할 수 있는 기능을 포함하고 있습니다.

 

기본 로직은 Input 과 Output 로직을 알파코드 프로그램에 설명해주면, 학습된 인공지능의 자동 코딩을 통해 이를 시스템화하는 방법입니다.

 

※ 자세한 로직은 딥마인드 사이트에 사례와 함께 설명되어 있으니 참고해주세요.

https://www.deepmind.com/blog/article/Competitive-programming-with-AlphaCode

 

코드포시스(Codeforces)라는 플랫폼에서 약 5000명의 개발자들과 총 10회의 대회에 참여하는 시나리오를 통해 알파코드의 기술 수준을 검증한 사례가 있었는데, 알파코드는 Public GitHub 코드를 통해 코딩 모델을 사전학습한 뒤 프로그래밍 대회에 특화된 모델을 도출했으며, 주어진 문제에 대해 C++ 및 파이썬 프로그램을 작성했습니다. 이후 작성된 프로그램의 수정을 반복하고, 최종적으로 최적화된 코드를 도출해내는 프로세스로 문제를 해결했습니다.

 

알파코드가 문제를 해결하는 과정과 도출해낸 결과에 대한 평가를 살펴보면, 평균적인 인간 개발자와 비슷한 코딩 수준이었다고 하며 이는 프로그래밍 대회에서 최초로 인간과 경쟁적인 수준에 도달한 사례로 평가받고 있습니다.

 

[ 코드포시스 대회 참가 프로세스, 출처 딥마인드 홈페이지 ]

 

#3. ‘알파코드(AlphaCode)’ 전망

 

컴퓨터 코딩을 하는 AI는 이미 존재했습니다. 2021년 6월 마이크로소프트는 소스코드 공유 플랫폼인 자회사 깃허브(GitHub)를 통해 코딩 AI 코파일럿(Copilot)을 공개했는데, 기능은 전문 개발자의 보조 역할 수준이었습니다.

 

이처럼 미완성된 소스 코드를 자동 완성하거나 오류를 수정해 인간 프로그래머를 지원하는 역할이 전부인 코파일럿에 반해, 딥마인드의 알파코드는 스스로 알고리즘을 해석하고, 독립적으로 프로그램 전체를 작성할 수 있는 것이 가장 큰 차이였는데, 이 부분에 주목할 필요가 있다고 생각됩니다.

 

최근 주변을 들여다보면 파이썬, 리액트, 자바 스크립트 등의 언어를 개발자 단계가 아닌 기획자 단계에서 부터 학습해 업무에 활용하고 있고, 저 또한 이러한 언어들을 배우며 자동화, 업무 효율화 등에 활용 범위를 넓혀가고 있습니다. 유튜브, 블로그 등의 교육 수단이 잘 발달되어 있어 새로운 언어를 배우고 프로그램을 작성하는데 진입장벽이 많이 낮아지긴 했지만, 그래도 투자하는 시간이 만만치 않은 상황이라 소수의 개인적인 시간을 할애하는 사람들이 아니면 코딩을 제대로 활용하지 못하는 것이 현실입니다.

 

이와 같은 현실적인 제한을 벗어나 분명 사소한 것이라도 프로그램이 내 일을 도와주면 생산성이 향상되는 사례가 많이 있을 것으로 생각되며, AI를 통한 프로그래밍 자동화 기술은 우리 주변의 비생산적인 부분을 개선하는데 큰 역할을 할 것으로 보입니다.

 

물론, 아직 성숙하지 않은 기술이기 때문에 인간 개발자 평균수준에 못미치기도 하고, 보안에 대한 위험을 우려하는 목소리도 들리지만, 알파코드는 머지않아 AI가 인간의 영역이었던 코딩 문제까지 해결하고 이를 통해 코딩을 전혀 모르는 사람의 프로그램 수요까지 충족시켜줄 것으로 기대됩니다.