[정보] 코딩테스트 보는 AI, 알파코드(AlphaCode)

2022.02.04 11:35 2,705 Views

인공지능이 활용되는 분야는 정말 무궁 무진한데요.


구글 사의 마젠타(magenta)나 마이크로소프트 사의 드로잉봇(Drawing Bot)을 보면

언제까지나 사람의 영역으로 남을 것 같았던 ‘창작’ 영역에서 인공지능의 역할이 점차 커지고 있습니다.


그런데, 최근 창작 영역을 넘어 ‘개발’ 영역에서도 인공지능을 찾아볼 수 있게 되었습니다.

인간 소프트웨어 개발자 수준의 코딩 문제 해결 능력을 보유한 인공지능이 등장했기 때문입니다.


바로, 구글 딥마인드의 '알파코드(AlphaCode)'입니다.


Untitled.png (860×568)


알파코드는 이른바 코딩할 수 있는 인공지능 시스템으로, 시뮬레이션을 통해 실제 프로그래밍 대회에 참가했을 때 상위 54% 안에 들었다고 합니다.

이러한 알파코드의 능력을 보아 향후 자동 프로그래머로서 코딩을 모르는 사람의 요구까지 해결할 수 있을 것으로 기대되는 데요.


알파코드는 깃허브와 프로그래밍 대회의 문제와 솔루션을 데이터 삼아 pre-training한 다음, fine-tuning을 진행했습니다.

이후, filtering clustering을 거쳐 솔루션들에 대해 다시 순위를 매기는 방식을 취했습니다.


이러한 자동화된 시스템은 디버깅부터 컴파일링, 테스트까지 인간 소프트웨어 개발자들의 시행착오 작업을 대체하게 됩니다.

Untitled.png (860×480)


기존의 인공지능이 코딩 문제 해결에 있어 솔루션을 복제하거나 관련 모든 알고리즘을 적용하는 데에서 그쳤다면,

알파코드는 대규모 트랜스포머 모델과 대규모 샘플링, 필터링을 합친 결과

알고리즘 추론을 통해 새로운 알고리즘 프로그램을 고안할 수 있는 창의성을 갖추게 된 것입니다.


Untitled.png (1397×888)

알파코드가 푼 문제 예시


Untitled.png (1389×1007)

알파코드가 제출한 솔루션 예시


하단의 이미지는 알파코드가 솔루션을 생성할 때 모델이 어떤 토큰을 활용했는 지에 대한 시각화입니다.

Untitled.png (2812×1272)



Reference

[1] https://deepmind.com/blog/article/Competitive-programming-with-AlphaCode?fbclid=IwAR2RF_iY7bM_O7uDybqbzdN1Qzz0UDny_zfulwc9wDJGhGdfdrFtdsaPX9Q

[2] https://alphacode.deepmind.com/?fbclid=IwAR0jOwxzcejijXJZfduP_dxRk1zfadR0K67SkrzU5wmTXmnIzIPO0H1evEA


  • 아직 배우는 입장으로 부족한 점이 많습니다. 수정해야하거나, 추가해야할 점이 있다면 댓글로 조언 부탁드립니다.
  • 본 게시글은 데이콘 서포터즈 ‘데이크루’ 1기 활동의 일환입니다.
로그인이 필요합니다
0 / 1000
백남진
2022.02.04 14:02

코딩을 하는 인공지능을 위해 코딩을 하는것이 놀랍기도 하면서도 아이러니합니다 :) 좋은 글입니다! 감사합니다.

yoonj
2022.02.06 17:49

저도 그러한 점이 가장 아이러니한 부분이라고 생각합니다. ㅎㅎ 
감사합니다!

jihyeheo
2022.02.04 15:11

오 기능이 활성화만 된다면 글에서 적힌 것처럼 선생님이 없어도 모르는 부분을 해결할 수 있을 것 같네요!! 약간 우려되는 점은 물론 아직 사람의 손길이 있어야 하겠지만 일상화가 된다면 사실 많은 개발자들도 직업을 잃진 않을까.. 싶긴합니다. 뭔가 심오하게 생각할 수 있는 게시글이었습니다. 감사합니다 !! :)

yoonj
2022.02.06 17:55

이전에 html이기는 하지만 그림으로 웹 프론트를 그리면 구조에 맞는 코드를 짜주는 사이트도 등장했었죠.. 코드를 몰라도 코딩을 할 수 있는 날도 머지 않은 것 같습니다!