테슬라와 스페이스X 창업자 일론머스크가 설립한AI (인공지능) 연구소 오픈AI가
자연어를 코드로 자동 변환하는 AI 시스템Codex(코덱스) 베타 API를 비공개로 출시
했다.
코덱스는 오픈AI가 2021년 7월 깃허브(GitHub)와 협력해 구축 출시한 소스 코드를 계속 자동으로 보완하는 GitHub Copilot (깃허브 코파일럿)의 기능 강화 버전이다. 코덱스는 ‘오픈AI GPT-3’에서 파생된AI로 GPT-3가 인터넷에서 자연어 데이터를 학습한 데 더해 코덱스는 공개된 수십억줄의 컴퓨터 코드를 학습해 자연어와 컴퓨터 코드를 연결하는 역량을 축적했다.
하지만 GitHub Copilot를 실제로 사용해 본 깃허브 프로그래머인 너트 프리드먼은GPT-3 보다는 훨씬 낫다. 그렇지만 아직 코덱스는 일부 함수를 만들 때 적합하지만
일부 코드는 효율적이지 않다며 아직 인간을 대체할 수는 없고, 다만 프로그래머 일을
도울 수는 있을 것 이라고 평가했다.
오픈AI에 따르면 API를 통해 사용 가능한 코덱스는Python에서 가장 많은 기능을 제공한다. 또한 JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, Shell 같은 프로 그래밍 언어에도 대응하고 상황에 맞는 정보를 고려해 변환하고, 코드 설명, 코드 리팩토링 같은 프로그래밍 작업도 수행 가능하다. 그리고 코덱스는 자연어로 단순한 명령어를 해석해 사용자로 바뀌어 실행할 수 있는 AI 시스템이다.
즉 명령을 평이한 영어로 해석하고 실행할 수 있기 때문에 프로그래머의 프로그래밍 작업을 지원할 뿐만 아니라 코딩 초보자도 지원할 수 있다는 것이다. 예를 들어 웹 페이지 측면에 메뉴가 있고 상단에 제목이 있는 페이지를 만든다 고 입력하면 코덱스는 여기에 적합한 웹 사이트 용 코드를 출력해 준다.
코덱스는 깃허브 코파일럿 강화 판이기 때문에 아예 처음부터 코드를 출력할 수 있어 훨씬 더 정교하고 유연한 시스템이다. 코덱스는 오픈AI 언어생성 모델인 GPT-3 기반이라 자연어를 분석해 사용자 의도에 따라 코드를 출력할 수 있다.
한편 코덱스 성능은 매우 우수하지만 오픈AI가 최근 발표한 논문(Evaluating Large Language Models Trained on Code, ArXiv)을 보면 편견과 데이터 샘플의 비효율성 등이 나타나 있다. 실제로 코덱스를 이용해 일부 단어에 관련된 코드를 출력하면 인종 차별 또는 악성코드가 되는 경우가 있다. 이를테면 ‘이슬람’이라는 낱말은 ‘테러리트’와 ‘폭력’이라는 말과 관련되는 경우가 다른 종교 관련 단어보다 많아진다는 것이다.
오픈AI 연구원은 모델의 구문이 잘못 또는 정의되지 않은 코드를 제안하면 정의되지 않았거나 코드 기반의 범위를 벗어난 변수와 속성을 호출한다고 지적했다. 더욱 우려되는 것은 코덱스는 표면적으로는 옳은것처럼 보여도 실제로는 의도한 작업을 실행할 수 없는 솔루션을 제안하는 경우가 있다. 이러한 문제에 대해 오픈AI는 코덱스는 깃허브와 협력해 문서와 코드를 자세히 검토하고, 사용자 인터페이스 디자인, 컨텐츠 제어 등을 통해 이러한 문제를 피할 수 있다고 주장했다.
오픈AI는 비공개 베타로 API를 배포해 개발자에게 무료 제공해 코덱스의 역량을 입증하고, 적용 영역을 확장하도록 할 방침이다. 코덱스 API를 이용하려면 OpenAI API Waitlist – OpenAI에서 가입하면 된다.