티스토리 뷰

개발 지식 정리

알파코드

CIA_secu 2022. 2. 24. 11:55
728x90
SMALL

 

http://aidev.co.kr/chatbotdeeplearning/11111

 

챗봇 딥러닝 - 프로그램을 작성하는 딥마인드의 알파코드

딥마인드는 구글 산하의 인공지능 조직입니다. 2016년 알파고로 전세계에 딥러닝 열풍을 불러일으켰습니다. 2018년에는 알파폴드가 단백질 구조 예측대회에서 압도적인 1등을 차지했습니다. 2019

aidev.co.kr

 

프로그램을 작성하는 딥마인드의 알파코드

딥마인드는 구글 산하의 인공지능 조직입니다. 2016년 알파고로 전세계에 딥러닝 열풍을 불러일으켰습니다. 2018년에는 알파폴드가 단백질 구조 예측대회에서 압도적인 1등을 차지했습니다. 2019년에는 알파스타가 스타크래프트2 대결에서 프로선수를 상대로 10:0 완승을 거뒀습니다.

이번에는 프로그래밍이라는 새로운 영역에 도전했습니다. 딥러닝으로 학습한 알파코드가 수만명이 참가하는 코딩 경진대회에 출전했습니다. 여기서 상위 54% 안에 드는 놀라운 성적을 보였습니다. 최소한 평균 수준의 프로그래밍 실력을 가졌다는 의미입니다.

OpenAI가 출시한 Copilot과 비슷하지만 조금 차이가 있습니다. Copilot은 주석을 말로 작성하면 해당하는 코드를 자동으로 생성해줍니다. 이전부터 있던 자동완성 기능의 연장선상에 있습니다. 반면에 알파코드는 특정 부분이 아니라 전체 코드를 작성합니다. 따라서 좀 더 고차원적인 학습이 필요합니다.

알파코드는 410억 파라미터로 1750억개의 GPT-3보다는 약간 작은 편입니다. 기본적으로 Transformer 기반의 생성모델이라는 점은 동일합니다. 문제를 입력으로 넣으면 코드가 자동으로 출력됩니다. 하지만 동작방식이 조금 다릅니다.

먼저 한 문제마다 100만개 이상의 코드를 Transformer 모델로 샘플링합니다. 그다음 문제에 나와있는 예시 입력/출력을 각 코드에 넣어봐서 올바르게 작동하는지 테스트해봅니다. 여기서 99%가 필터링되고 1만개 정도만 남습니다. 그렇다고 이 1만개가 모두 정답 코드는 아닙니다. 예시 입력/출력에만 맞고 다른 입력에는 틀린 출력이 나올 수 있기 때문입니다.

 

그래서 클러스터링이란 과정을 다시 거칩니다. 문제가 주어지면 코드를 생성하는 모델과 별도로, 문제에 대해 올바른 입력을 생성하는 모델을 따로 학습합니다. 이렇게 새로 만든 입력들을 1만개의 코드에 넣어보고 출력이 같은 코드들을 클러스터로 묶습니다. 그리고 소속된 개수가 많은 클러스터 순서로 10개를 선택하고, 그중 각각 하나의 코드를 가져와서 최종 후보 10개 코드를 뽑아냅니다. 마지막으로 이를 정답으로 제출합니다.

 

알파코드가 엄청난 가능성을 보여줬지만, 그렇다고 당장 프로그래머가 인공지능으로 대체되는 것은 아닙니다. 아직은 짧고 단순한 문제만 코드로 구현할 수 있기 때문입니다. 복잡한 기능을 가진 수천, 수만줄의 프로그램을 만드려면 당연히 사람의 능력이 필요합니다. 다만 딥러닝의 발전속도는 정말 예측하기가 어렵습니다. 앞으로 수년에서 수십년 후에는 어떤 미래가 찾아올지 궁금해집니다.

 

 

 

 

 

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

 

Competitive programming with AlphaCode

As part of DeepMind’s mission to solve intelligence, we created a system called AlphaCode that writes computer programs at a competitive level.

deepmind.com


딥마인드, 사람처럼 코딩하는 AI 개발...한국 연구자 제1저자로 참여

 

자동으로 코드 작성하는 AI '알파코드' 개발
코딩 대회서 상위 54% 달성...사람 평균 수준
대규모 언어모델이 가진 성능 한계 뛰어넘어
정준영 딥마인드 연구원, 공동 제1저자로 참여

"바둑은 이겼다. 이번엔 코딩이다." 알파고를 개발한 딥마인드가 이번에는 사람처럼 코딩하는 인공지능(AI) '알파코드'를 공개했다. 딥마인드는 코딩 대회 성적 결과 알파코드가 사람 평균 수준의 실력을 기록했다고 밝혔다. 이번 알파코드 개발에는 국내 연구진이 공동 제1저자로 참여했다.

구글 AI 자회사 딥마인드는 2일(현지시간) 회사 블로그를 통해 자동으로 코드를 작성하는 AI 알파코드를 개발했다고 밝혔다. 알파코드로 코딩 대회에 참가한 결과 사람 평균 수준인 상위 54.3%를 달성했다고 전했다. AI 기반 코드 생성 시스템이 프로그래밍 대회에서 인간 수준의 성능을 보인 것은 이번이 처음이다.

알파코드는 전에는 없던 새로운 코드를 스스로 생성할 수 있다. 코드를 새로 짜기 위해서는 자연어 이해는 물론 비판적 사고, 논리 등 복합적인 능력이 필요하다. 기존 코딩 AI가 코딩 대회에서 인간 수준의 성능을 보이지 못한 것은 이러한 능력이 부재한 탓이다. 지금까지 선보여진 코딩 AI는 대부분 기존에 있던 코드를 복사하거나 관련된 모든 알고리즘을 학습해 적용까지만 할 수 있었다.

딥마인드는 논문에서 "최근 등장한 대규모 언어모델은 코드를 생성할 수 있는 인상적인 능력을 보여줬고, 간단한 프로그래밍 작업도 할 수 있을 것으로 보인다"면서도 "하지만 이러한 모델은 더 많은 부분에서 평가할 때 여전히 성능이 떨어진다"고 지적했다. 이어 "단순히 지시문을 번역하는 것을 넘어 문제 해결 기술을 요구하는 복잡하고 보이지 않는 문제들은 (대규모 언어모델이) 처리하지 못 해 이러한 격차를 해소하기 위해 코드 생성을 위한 시스템 알파코드를 개발했다"고 밝혔다.

딥마인드는 알파코드 성능 테스트를 위해 코드포스에서 주최하는 정기 대회에 총 10회 참여했다. 코드포스는 대회 참가자들에게 문제를 제시하고 이를 해결하는 프로그램을 제출받아 평가한 뒤 순위를 매긴다.

대회 출제 문제를 해결하기 위해서는 비판적 사고와 논리, 알고리즘, 코딩 기술, 자연어 이해 등이 복합적으로 필요하다. 예를 들어 특정 제약 조건에서 도로와 건물 등을 배치하는 방법을 찾거나 보드게임에서 이길 수 있는 전략을 짜는 것과 같은 문제가 출제된다. 평가 결과 알파코드가 내놓은 10개 문제의 해답은 상위 54.3% 내에 드는 것으로 나타났다.

마이크 미르자야노프(Mike MirzayaNnov) 코드포스 설립자는 "알파코드 결과는 기대를 완전히 뛰어넘었다"며 "알고리즘을 새로 만들어야 하는 어려운 과제가 있어 AI가 이런 과제를 수행하는 것에 회의적이었지만 알파코드는 새로운 경쟁자 수준에서 과제를 해냈다"고 평가했다.

오리올 빈얄스(Oriol Vinyals) 딥마인드 연구자는 "알파코드는 아직 초기 단계지만 코딩 문제를 자율적으로 해결할 수 있는 문제 해결력을 지닌 AI를 만드는 데 한 걸음 더 가까워진 사례"라며 "지금은 인간의 영역인 코드를 작성하는 문제를 해결해 비개발자의 어려움을 해결할 수 있을 것으로 기대한다"고 말했다.

이번 알파코드 개발에는 국내 연구자가 공동 1저자로 참여했다. 정준영 딥마인드 연구원이다. 그는 이번 논문에서 12명의 공동 1저자 중 한 명으로 이름을 올렸다. 

정준영 연구원은 <AI타임스>와 인터뷰에서 "이번 연구에서 주로 알파코드에 쓰일 딥러닝 모델을 설계 및 개발하는 역할을 담당했다"고 밝혔다.

알파코드 등장으로 기대되는 효과에 대해서는 "알파코드에게 주어지는 코딩 대회 문제를 풀기 위해서는 언어 이해, 알고리즘, 데이터 구조에 대한 지식, 추론 능력이 필요하다"면서 "아직 초기 단계지만, 복합적인 사고가 필요한 문제해결이 가능한 AI를 만드는데 한 걸음 다가갔다고 생각한다"고 평가했다.

http://www.aitimes.com/news/articleView.html?idxno=142892 

 

딥마인드, 사람처럼 코딩하는 AI 개발...한국 연구자 제1저자로 참여 - AI타임스

\"바둑은 이겼다. 이번엔 코딩이다.\" 알파고를 개발한 딥마인드가 이번에는 사람처럼 코딩하는 인공지능(AI) \'알파코드\'를 공개했다. 딥마인드는 코딩 대회 성적 결과 알파코드가 사람 평균 수

www.aitimes.com

 


구글 자회사 딥마인드가 이번엔 ‘알파코드(AlphaCode)’를 공개했다. 알파코드는 컴퓨터 프로그램을 작성(코딩)하는 AI 소프트웨어(SW)다. 쉽게 말해 ‘SW를 만드는 SW’인 셈이다.

 

딥마인드가 지난 2일(영국 현지시각) 홈페이지에 알파코드 성과를 공개하면서 눈길을 끌었다. 회사는 수만명이 참가한 ‘코드포시스(Codeforces)’ 컴피티션(경쟁) 대회에서 알파코드가 중위권에 올랐다고 밝혔다. 비판적 사고와 논리, 알고리즘, 코딩, 자연어 이해 등이 필요한 복합적인 문제를 풀어 대회 참가자의 54% 이내 예상 순위를 달성했다는 것이다.

관련 AI 업계에선 딥마인드의 이번 성과를 높이 사는 의견과 함께 초대규모 AI로 유명한 오픈AI 연구소가 앞서 공개한 ‘코덱스’보다 나은지는 알 수 없다는 입장을 내놨다.

코덱스는 자연어(영어)를 코드로 변환하는 SW다. 인간의 언어를 컴퓨터가 이해하는 언어로 번역해주는 SW로 볼 수 있다. 지난해 코덱스가 공개될 당시엔 신기하게 보는 분위기는 있었으나, 이렇다 할 파급력은 없었다. 인간 개발자를 대체할 만한 수준으로 보지 않아서다.

이번 알파코드는 일반 개발자가 참여하는 경쟁 대회에서 성과를 냈다는 점이 주목된다. 다만 이 부분에 있어선 업계도 충분히 의미를 둘 만하다고 보면서도 AI가 개발자를 대체하는 수준까지는 보기 어렵다는 게 전문가 의견이다.

카카오엔터프라이즈의 비전AI팀 신종주 기술총괄은 “일반적인 코딩과 얼마나 코드를 최적화하고 문제를 빨리 푸는지 경쟁하는 컴피티션 대회는 조금 달리 봐야 한다”며 “코딩에 미숙한 사람들까지 다 참여하는 대회에서 54% 순위라고 사람들을 제치고 대체한다고 보기엔 어려울 것”이라고 말했다.

이어서 신 총괄은 “사람이 아직 최적화나 틀린 부분을 수정하는 등의 추가적인 작업을 해줘야 할 수 있을 것”이라면서도 “그럼에도 이 기술이 충분히 쓸만하다고 생각할 수 있다”고 평가했다. 네이버 개발 관계자도 “기술적으로 오픈AI 코덱스보다 훨씬 나은지는 알 수 없지만, 개발자를 돕는 도구로서 유용할 수 있다”고 봤다. 신 총괄도 현시점에선 알파코드를 ‘사람을 돕는 도구’ 수준으로 평가했다.

네이버 개발 관계자는 ‘인공일반지능(AGI)’ 얘기를 꺼내 들었다. AGI는 ‘강한 AI’로도 불린다. 일반적인 지적 능력이 필요한 범용 업무도 가능한 AI로 볼 수 있다. 이 관계자는 “딥마인드도 결국 초대규모 AI 기반의 AGI 실현으로 연구 방향을 잡은 것으로 보인다”라고 진단했다.

딥마인드가 지난 2일(영국 현지시각) 홈페이지에 알파코드 성과를 공개하면서 눈길을 끌었다. 회사는 수만명이 참가한 ‘코드포시스(Codeforces)’ 컴피티션(경쟁) 대회에서 알파코드가 중위권에 올랐다고 밝혔다. 비판적 사고와 논리, 알고리즘, 코딩, 자연어 이해 등이 필요한 복합적인 문제를 풀어 대회 참가자의 54% 이내 예상 순위를 달성했다는 것이다.

관련 AI 업계에선 딥마인드의 이번 성과를 높이 사는 의견과 함께 초대규모 AI로 유명한 오픈AI 연구소가 앞서 공개한 ‘코덱스’보다 나은지는 알 수 없다는 입장을 내놨다.

코덱스는 자연어(영어)를 코드로 변환하는 SW다. 인간의 언어를 컴퓨터가 이해하는 언어로 번역해주는 SW로 볼 수 있다. 지난해 코덱스가 공개될 당시엔 신기하게 보는 분위기는 있었으나, 이렇다 할 파급력은 없었다. 인간 개발자를 대체할 만한 수준으로 보지 않아서다.

이번 알파코드는 일반 개발자가 참여하는 경쟁 대회에서 성과를 냈다는 점이 주목된다. 다만 이 부분에 있어선 업계도 충분히 의미를 둘 만하다고 보면서도 AI가 개발자를 대체하는 수준까지는 보기 어렵다는 게 전문가 의견이다.

카카오엔터프라이즈의 비전AI팀 신종주 기술총괄은 “일반적인 코딩과 얼마나 코드를 최적화하고 문제를 빨리 푸는지 경쟁하는 컴피티션 대회는 조금 달리 봐야 한다”며 “코딩에 미숙한 사람들까지 다 참여하는 대회에서 54% 순위라고 사람들을 제치고 대체한다고 보기엔 어려울 것”이라고 말했다.

이어서 신 총괄은 “사람이 아직 최적화나 틀린 부분을 수정하는 등의 추가적인 작업을 해줘야 할 수 있을 것”이라면서도 “그럼에도 이 기술이 충분히 쓸만하다고 생각할 수 있다”고 평가했다. 네이버 개발 관계자도 “기술적으로 오픈AI 코덱스보다 훨씬 나은지는 알 수 없지만, 개발자를 돕는 도구로서 유용할 수 있다”고 봤다. 신 총괄도 현시점에선 알파코드를 ‘사람을 돕는 도구’ 수준으로 평가했다.

네이버 개발 관계자는 ‘인공일반지능(AGI)’ 얘기를 꺼내 들었다. AGI는 ‘강한 AI’로도 불린다. 일반적인 지적 능력이 필요한 범용 업무도 가능한 AI로 볼 수 있다. 이 관계자는 “딥마인드도 결국 초대규모 AI 기반의 AGI 실현으로 연구 방향을 잡은 것으로 보인다”라고 진단했다.


구글의 인공지능(AI) 자회사 딥마인드가 개발한 인공지능 시스템 '알파코드'(AlphaCode)가 컴퓨터 프로그래밍 대회에서 평균적인 인간 참가자 수준의 코딩 능력을 보였다고 BBC 방송과 IT전문매체 '더버지'(The Verge) 등이 2/2일(현지시간)

바둑 인공지능 '알파고'(AplhaGo)로 유명한 딥마인드는 알파코드가 5천 명 이상이 참여하는 온라인 코딩대회에 참가해 인간 프로그래머들과 문제 해결 능력을 겨룬 결과 평균적으로 상위 54%에 해당하는 성적을 거뒀다고 밝혔다.

연구진은 이는 문제 해결을 위한 컴퓨터 프로그래밍 자동화를 향한 큰 진전이라면서도 아직 최고 수준의 인간 능력에는 못 미치며 대회에서 보여준 코딩 능력을 다른 부문에 즉각 적용할 수도 없다고 설명했다.

수석연구자 오리올 빈얄스는 연구가 초기 단계지만 이 연구를 통해 인간만의 영역으로 여겨져 온 자율적으로 코딩 문제를 해결하는 유연한 문제 해결 AI 개발에 더 다가서게 됐다고 말했다.

이어 "알파코드는 장기적으로 프로그래머와 비프로그래머의 코딩을 도와 생산성을 높이고 소프트웨어를 개발하는 새로운 방법을 창조할 수 있는 잠재력을 가지고 있다"고 덧붙였다.

알파코드는 코딩대회 플랫폼인 코드포스(Codeforces)가 개최하는 코딩 대회에 10차례 참가했다. 코드포스는 대회 참가자들에게 문제를 제시하고 이를 해결하는 프로그램을 제출받아 평가한 뒤 순위를 매긴다.

대회 출제 문제를 해결하기 위해서는 비판적 사고와 논리, 알고리즘, 코딩 기술, 자연어 이해 등이 복합적으로 필요하다. 예를 들어 특정 제약 조건에서 도로와 건물 등을 배치하는 방법을 찾거나 보드게임에서 이길 수 있는 전략을 짜는 것과 같은 문제가 출제된다.

평가 결과 알파코드가 내놓은 10개 문제의 해답은 상위 54.3% 내에 드는 것으로 나타났다.

딥마인드는 이 결과에 통산 경기 성적을 반영해 순위를 정하는 체스 랭킹 산출 방식(Elo)을 적용하면 알파코드는 지난 6개월간 대회 참가자 중 상위 28%에 해당할 것으로 추정된다고 밝혔다.

코드포스 플랫폼 설립자인 마이크 미르자야노프는 "간단한 대회 문제를 풀 때도 알고리즘을 실행해야 할 뿐 아니라 알고리즘을 새로 만들어야 하기 때문에 인공지능이 이런 과제를 수행하는 것에 회의적이었다"며 "알파코드의 성적은 예상을 뛰어넘는 것"이라고 말했다.

딥마인드는 알파코드의 현재 기술은 경쟁프로그램 영역 내에서만 적용 가능하다며 하지만 알파코드의 능력은 누구나 프로그래밍을 할 수 있게 하고 언젠가는 프로그래밍을 완전히 자동화할 수 있는 미래 도구를 만들 수 있는 문을 열어줄 것이라고 밝혔다.



AlphaCode의 문제 파싱 및 코드 생성 프로세스의 시각화. 


알파코드(AlphaCode)라고 하는 모델은 오픈AI가 코드 생성 모델에서 사용하는 것과 동일한 아키텍처인 트랜스포머스(Transformers)를 기반으로 한다.

외신인 테크토크스(techtalks)는 알파코드(AlphaCode)에 대해 ”일반적으로 몇 시간의 코딩 및 테스트가 필요한 복잡한 프로그래밍 문제를 해결하는 등 확실히 깊은 인상을 남겼다”면서 ”언젠가는 문제 설명을 작업 코드로 바꾸는 좋은 도구가 될 수 있을 것"이라고 보도했다.

알파코드(AlphaCode)는 매우 복잡한 작업을 수행하는 것이 특징이다. 다른 유사한 시스템은 작은 작업(예: 웹 서버 설정, API 시스템에서 정보 가져오기)을 수행하는 기능 또는 코드 블록과 같은 짧은 코드 조각을 생성하는 데 중점을 두지만 알파코드(AlphaCode) 는 경쟁적인 프로그래밍 문제를 해결하는 것을 목표로 한다.

또한 대규모 언어 모델이 복잡한 문제를 해결하는 데 얼마나 발전했는지 보여주는 예시이기도 하다. 이러한 종류의 딥 러닝 시스템은 일반적으로 시퀀스 대 시퀀스 모델(seq2seq)로 알려져 있다. Seq2seq 알고리즘은 일련의 값(문자, 픽셀, 숫자 등)을 입력으로 받아 다른 값 시퀀스를 생성한다. 이것은 기계 번역, 텍스트 생성 및 음성 인식과 같은 많은 자연어 작업에서 사용되는 접근 방식이다.

딥마인드(DeepMind)의 논문에 따르면, 알파코드(AlphaCode)는 인코더-디코더 트랜스포머 아키텍처를 사용한다. 트랜스포머는 전임자, 순환 신경망( RNN ) 및 장단기 기억 네트워크(LSTM)보다 훨씬 적은 메모리 및 컴퓨팅 요구 사항으로 대규모 데이터 시퀀스를 처리할 수 있기 때문에 최근 몇 년 동안 특히 인기를 얻었다.

알파코드(AlphaCode)의 인코더 부분은 문제에 대한 자연어 설명의 숫자 표현을 생성한다. 디코더 부분은 인코더에 의해 생성된 임베딩 벡터를 취하고 솔루션의 소스 코드를 생성하려고 시도한다.

딥마인드(DeepMind)는 블로그를 통해서 “알파코드(AlphaCode)는 프로그래밍 대회에서 경쟁력 있는 수준의 성능에 도달한 최초의 AI 코드 생성 시스템이다”라고 찬사를 보냈다. 



◆ 문제해결 방안 제시하는 AI

컴퓨터 코딩을 하는 AI는 이미 존재한다. 지난해 6월 MS는 소스코드 공유 플랫폼인 자회사 깃허브(GitHub)를 통해 코딩AI를 공개했다. MS가 10억달러를 투자한 AI스타트업 '오픈AI'와 협력한 결과였다. 

하지만 MS 코딩AI '코파일럿(Copilot)'의 능력은 전문 개발자의 보조 역할을 하는 수준이었다. 미완성된 소스 코드를 자동 완성하거나 오류를 수정해 인간 프로그래머를 지원하는 역할이 전부였다.

딥마인드의 알파코드도 이미 오픈AI의 기술력과 코딩 능력에 도전해 그 수준을 충족했다. 여기서 차이는 별 의미가 없는 것으로 평가된다. 알파코드의 진정한 가치는 '독립적인 임무 수행'을 한다는 점에서 나온다. 독립적인 임무 수행은 프로그램 전체를 작성할 수 있어야 하고 이는 심오한 알고리즘 추론을 할 수 있어야만 가능하기 때문이다.

코드포시스의 창업자 미하일 밀자냐노프는 "코딩 대회의 문제는 아무리 간단한 것이라도 전혀 새로운 알고리즘 프로그램 전체를 고안할 수 있는 능력이 있어야 풀 수 있다"며 "처음에는 믿지 못했다"고 털어놨다.

우수한 코딩 기술 뿐만 아니라 문제 해결의 창의성이 있어야 이 대회 문제를 풀 수 있다는 것이다. 그는 알파코드가 조만간 무시할 수 없는 코딩 대회 참가자가 될 것이라고 기대감을 표시했다. 

알파코드는 머지않아 AI가 인간의 영역이었던 코딩 문제까지 해결하고 이를 통해 코딩을 전혀 모르는 사람의 프로그램 수요까지 충족시켜줄 것으로 기대된다.

딥마인드의 최고연구자 오리올 빈얄스는 "아직 초기 단계지만 알파코드는 보다 유연한 문제 해결력을 지닌 AI로 한걸음 더 가까이 다가서고 있다"고 말했다.

이런 기대감과 함께 AI 코딩에 대한 우려도 나오고 있다. MS의 코파일럿을 분석한 결과 전문가들은 코파일럿이 관여한 프로그램의 40%는 보안문제가 있다고 진단했다.

또 전문가들은 악의의 프로그래머가 의도적으로 프로그램에 악성 코드를 심어 이 프로그램을 사용한 이후 프로그램들에 엄청난 위험을 부가할 가능성도 제기했다. 복잡한 알파코드는 말할 것도 없다는 것이다.

그럼에도 이런 우려를 넘어서는데는 그리 오랜 시간이 필요치 않을 전망이다. IT전문매체 더버지는 "초기에는 인간 프로그래머가 모든 것을 감시하고 체크하는 수습 단계를 거쳐야 한다"며 "알파코드의 습득 속도가 엄청나기 때문에 이 수습 단계가 오래 걸리지 않을 것이고 그러면 독자적인 임무를 수행하게 될 것"이라고 보도했다.


구글 딥 마인드의 '알파코드'는 '코드포스'라고하는 코딩 플랫폼에서 열린 경진대회에 참여했습니다. 코드포스는 매주 코딩 문제를 내고 개발자의 순위를 매기는 플랫폼인데요. 체스와 같은 보드게임에서 특정 상황을 주고 이기는 방법을 찾는 프로그램을 만들거나 컴퓨터 속 특정 상황을 주고 이를 구현하는 과제를 내는 등의 문제를 출제합니다.

알파코드는 인간의 언어로 작성된 문제를 이해하고 알고리즘을 만들어내는 기능을 구현했고, 이를 검증하기 위해 코드포스의 경진대회에 참여했던건데요. 전문가 5000명 이상이 참여하는 이 코딩 대회에서 상위 54%에 올라 평균 이상의 코딩 능력을 갖추었음을 증명했습니다. ELO 방식의 랭킹을 활용하면 지난 6개월간 대회에 참가한 참여자 중 상위 28%에 해당하는 것으로 추정했습니다.

알파코드는 문제를 해결할 수 있는 코드를 엄청나게 많이 생성한 다음 그 중에서 효율적으로 잘 짜여진 프로그램을 필터링해서 최적의 코드를 선택하는 방식을 활용했다고 합니다.

코딩하는 인공지능까지 나와서 이제 개발자도 쓸모 없는게 아니냐는 말도 나오고 있는데요. 당장은 알파코드가 코드포스 플랫폼에서만 동작하도록 개발되었기 때문에 다른 부분에 바로 적용하기는 어려운 상황입니다. 게다가 코드포스의 경우 정답이 있는 문제를 최대한 잘 풀어내는 형태입니다만 프로그래밍 필드에서는 정답이 있는 경우가 많지 않기 때문에 알파코드가 당장 모든 개발자를 대체하기는 힘들어보입니다.

장기적으로 프로젝트에서 작은 범위의 코드를 생성하는 보조 도구로 활용될 것 같습니다. 아마도 '코드몽키' 수준의 코더 인력은 쉽게 대체할 수 있을 것 같습니다.


 

728x90
LIST