OpenAI Codex는 자연어 프롬프트에서 소스 코드를 생성하기 위해 OpenAI가 개발한 대규모 언어 모델로, 2021년 8월에 출시되었다. 이는 GPT-3 계열의 후속 모델로, 공개 코드 저장소의 방대한 말뭉치로 미세 조정되어 Python, JavaScript, TypeScript, Ruby, Go를 포함한 12개 이상의 프로그래밍 언어로 영어 지침을 기능적인 코드로 변환한다. Codex는 2021년에 도입된 상용 AI 페어 프로그래밍 어시스턴트인 GitHub Copilot의 기반 엔진으로 널리 알려졌으며, 이는 소프트웨어 개발 워크플로우에서 생성형 AI의 최초 주류 배포 중 하나로 기록되었다.
이 모델은 감독 미세 조정과 강화 학습의 조합으로 훈련되었으며, 현대 대규모 언어 모델의 기반이 되는 Transformer 구조를 기반으로 한다. 텍스트 생성에 뛰어났던 전작 GPT-3와 달리, Codex는 코드 합성에 특화되어 구문, 논리, 프로젝트 맥락의 이해를 요구하는 프로그래밍 작업을 처리하는 능력을 보여주었다. 이 모델의 출시는 소프트웨어 엔지니어링에 적용된 생성형 AI에 대한 업계의 상당한 관심을 촉발했으며, Anthropic의 Claude와 Google의 PaLM을 포함한 다른 연구소의 후속 모델과 Codex-2 또는 GPT-4 기반 코딩 도구와 같은 OpenAI 자체의 이후 반복에 영향을 미쳤다.
기술 구조 및 훈련
Codex는 딥러닝 패러다임에 기반한 신경망으로, 자기 주의 메커니즘을 갖춘 신경망 구조를 활용한다. 이는 1,750억 개의 매개변수를 가진 GPT-3에서 미세 조정되었지만, Codex의 정확한 매개변수 수는 공개되지 않았다. 훈련 데이터에는 GitHub 저장소의 공개 코드, 문서, 자연어 토론이 포함되어 있어 모델이 인간의 의도를 프로그래밍 구조로 매핑할 수 있었다.
훈련 과정은 다양한 텍스트 말뭉치에 대한 초기 사전 훈련 후 코드 특화 미세 조정 단계로 이어졌다. OpenAI 연구진은 코드 완성의 정확성을 높이고 오류를 줄이기 위해 AI 피드백 기반 강화 학습 및 인간 작성 코드 예제에 대한 감독 학습과 같은 기술을 사용했다. 이 모델은 또한 긴 코드 시퀀스를 효과적으로 처리하기 위해 다중 헤드 주의 및 위치 인코딩을 활용했다.
기능 및 벤치마크
OpenAI Codex는 164개의 수기 프로그래밍 문제로 구성된 데이터셋인 HumanEval 벤치마크에서 강력한 성능을 보여주었으며, 단일 샘플로 정확한 솔루션을 생성하는 데 28.8%의 정확도를 달성했고, 필터링 메커니즘을 사용한 100개 샘플에서는 최대 70.2%에 도달했다. 이는 구문과 논리 추론에 어려움을 겪던 이전 모델에 비해 상당한 도약이었다. 비교를 위해, GPT-3는 동일한 벤치마크에서 5% 미만의 점수를 기록했다.
이 모델은 개별 함수를 생성할 수 있을 뿐만 아니라 전체 스크립트를 완성하고, 언어 간 코드를 번역하며, 코드 조각을 자연어로 설명할 수 있었다. 그러나 매우 큰 코드베이스 처리, 모호한 지침, 생성된 코드의 보안 취약성에서 한계가 있음이 지적되었으며, 프로덕션 환경에서 인간 검토의 필요성에 대한 경고가 제기되었다.
상용 영향 및 GitHub Copilot
Codex의 가장 두드러진 응용은 GitHub(마이크로소프트 자회사)가 2021년 6월 기술 미리보기로 출시하고 Visual Studio Code와 같은 개발 환경에 완전히 통합한 GitHub Copilot이었다. Copilot은 Codex를 사용하여 실시간 코드 제안, 자동 완성, 전체 라인 생성을 제공하여 개발자가 소프트웨어를 작성하는 방식을 변화시켰다. 2021년 말까지 Copilot은 120만 명 이상의 사용자를 확보했으며, 이 성공은 AI 코드 어시스턴트의 상업적 실행 가능성을 입증했다.
2019년에 발표된 수십억 달러 규모의 파트너십을 포함한 Microsoft의 OpenAI 투자는 Codex를 Azure 클라우드 서비스에 통합할 수 있게 했으며, 기업이 API를 통해 모델에 접근할 수 있게 했다. 이 파트너십은 또한 이후 자체 코드 생성 모델을 출시한 Amazon Web Services 및 Google Cloud와 같은 경쟁사의 전략적 움직임에 영향을 미치며, AI 지원 프로그래밍 시장을 촉발하는 Codex의 역할을 강조했다.
한계 및 윤리적 고려 사항
진전에도 불구하고, Codex는 주로 좁은 인구 집단이 작성한 코드에서 얻은 훈련 데이터의 편향에 대한 비판에 직면했으며, 이는 소수 대표 패턴을 영속화할 가능성이 있었다. 또한 훈련 세트에서 라이선스가 보호된 코드 조각을 생성하거나 우발적으로 복사할 가능성에 대한 우려가 있어 법적·윤리적 논쟁을 불러일으켰으며, OpenAI는 이러한 문제를 인정하고 일부 문제가 있는 출력을 차단하는 필터를 구현했지만 여전히 해결되지 않은 상태로 남아 있다.
또한, 훈련 중 학습률 스케줄 및 기울기 클리핑에 대한 모델의 의존성은 상당한 계산 비용을 시사했으며, 추정에 따르면 이 규모의 모델을 훈련하려면 대규모 프로세서가 필요하여 OpenAI 및 Google DeepMind와 같은 대규모 조직으로 개발이 제한되었다.
유산 및 영향
OpenAI Codex는 프로그래밍 언어의 구조적 특성을 포착할 수 있는 대규모 머신러닝 모델을 입증함으로써 인공지능의 코드 적용에 전환점을 만들었다. 이 출시는 코드 생성 분야의 상당한 연구와 개발을 촉진하여 Codex-2와 같은 오픈소스 대안을 이끌어냈고, 전 세계 개발자가 사용하는 도구의 궤적을 형성했다.
2023년까지 OpenAI는 Codex 뒤의 기술을 GPT-4 및 특수 코딩 변형과 같은 더 발전된 모델로 진화시켰으며, 이를 ChatGPT Code Interpreter와 같은 도구에 통합했다. Codex가 도입한 핵심 아이디어, 특히 프로그래밍 인터페이스로서의 자연어 사용은 업계 표준이 되었으며, 대규모 언어 모델과 실제 응용 프로그램의 역사에서 중요한 사건으로 자리 잡았다.