레플리
글 수 284

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

조회 수 1005 추천 수 0 2022.02.04 03:05:03


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

 

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

 

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

 

 

 

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

 

K-001.png

 

 

 

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

 

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

 

K-004.png

 

 

 

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

 

 

 

K-002.png

 

K-003.png

 

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

 

List of Articles
제목 글쓴이 날짜 조회 수sort
GPT2를 테스트해볼 수 있는 사이트 - Talk to Transformer file 깊은바다 2020-06-05 627
책 한권을 입력으로 받는 구글의 딥러닝 모델 - Reformer 깊은바다 2020-01-17 622
페르소나를 가진 대화 학습 - Personalizing Dialogue Agents file 깊은바다 2018-09-19 618
문장 입력 이진분류 모델 레시피 - 영화평점 학습 [3] 깊은바다 2018-04-04 614
이성에게 말을 거는 작업멘트를 GPT-3로 생성 file 깊은바다 2021-03-24 587
구글의 딥러닝 대화 모델 - LaMDA 깊은바다 2021-06-13 587
인공지능과 함께 글쓰기! 창의 AI x Bookathon 대회 - GPT2 깊은바다 2019-11-30 581
일상대화 딥러닝 모델들을 쉽게 실행할 수 있는 Openchat 깊은바다 2021-06-01 570
인플루언서의 목소리 클론과 GPT-4로 만든 아바타 서비스 - Caryn.ai 깊은바다 2023-05-11 566
죽은 약혼자를 챗봇으로 살려낸 남자 - Project December 깊은바다 2021-07-27 563
딥러닝을 이용한 자연어처리 깊은바다 2018-05-17 561
2018 Amazon Prize에서 우승한 Gunrock 소셜봇 file 깊은바다 2018-12-26 557
네이버의 초거대모델인 HyperCLOVA 논문 file 깊은바다 2021-09-13 556
GPT2의 1.5B 모델 공개 깊은바다 2019-11-08 554
좋은 응답을 골라내는 모델 만들기 - 핑퐁의 답변매칭 알고리즘 깊은바다 2020-12-10 553