Skip to main content
QUICK REVIEW

[논문 리뷰] Self-Programming Artificial Intelligence Using Code-Generating Language Models

Alex Sheng, Padmanabhan, Shankar|arXiv (Cornell University)|2022. 04. 30.
Software Engineering Research인용 수 4
한 줄 요약

이 논문은 자기 프로그래밍 인공지능 시스템의 첫 실용적 구현을 제시한다. 이 시스템은 코드 생성 언어 모델을 사용해 자체 소스 코드, 즉 아키텍처, 계산 능력, 학습 동역학을 자율적으로 수정한다. 시스템은 반복 과정을 거쳐 성능을 향상시키며, 이미지 분류와 같은 작업을 위한 보조 하위모델을 생성함으로써 자율적 자기 향상 및 자유형 AutoML 능력을 입증한다.

ABSTRACT

Recent progress in large-scale language models has enabled breakthroughs in previously intractable computer programming tasks. Prior work in meta-learning and neural architecture search has led to substantial successes across various task domains, spawning myriad approaches for algorithmically optimizing the design and learning dynamics of deep learning models. At the intersection of these research areas, we implement a code-generating language model with the ability to modify its own source code. Self-programming AI algorithms have been of interest since the dawn of AI itself. Although various theoretical formulations of generalized self-programming AI have been posed, no such system has been successfully implemented to date under real-world computational constraints. Applying AI-based code generation to AI itself, we develop and experimentally validate the first practical implementation of a self-programming AI system. We empirically show that a self-programming AI implemented using a code generation model can successfully modify its own source code to improve performance and program sub-models to perform auxiliary tasks. Our model can self-modify various properties including model architecture, computational capacity, and learning dynamics.

연구 동기 및 목표

  • 실제 계산 환경 제약 조건 하에서 자체 소스 코드를 재작성할 수 있는 기능성 있는 자기 프로그래밍 AI 시스템을 개발하기 위해.
  • 코드 생성 언어 모델을 활용해 신경망 설계의 자율적 자기 수정 가능성을 탐색하기 위해.
  • 자기 수정이 최종 작업 성능 향상에 측정 가능한 영향을 미치는지 검증하기 위해.
  • 외부 기계 학습 작업을 위한 보조 기계 학습 모델을 생성하고 배포할 수 있는 능력을 입증하기 위해.
  • 자율적 코드 생성 및 재프로그래밍을 통해 자유형 AutoML의 기반을 마련하기 위해.

제안 방법

  • 신경망 소스 코드의 문법적 및 논리적 정확성을 확보하는 코드 생성 언어 모델을 훈련시어, 신경망 소스 코드를 생성하고 수정하도록 한다.
  • CIFAR-10, MNIST, EMNIST 등의 데이터셋에서의 학습 성능 피드백을 기반으로 반복적으로 자기 재프로그래밍을 수행한다.
  • 각 재프로그래밍 단계는 비트 서치 또는 샘플링을 통해 다수의 후보 아키텍처를 생성하고, 이를 평가한 후 다음 반복에 사용할 최고 성능의 모델을 선별하는 방식을 포함한다.
  • 컨볼루션 계층 수, 히든 레이어 크기, 총 파라미터 수 등 핵심 아키텍처 초모수를 동적으로 수정한다.
  • 자신의 코드 생성 능력을 활용해 보조 작업(예: 이미지 분류)을 위한 하위모델을 생성하고 배포한다.
  • 성능 피드백을 기반으로 다음 라운드의 코드 생성을 이끄는 방식으로, 강화 학습 유사 피드백을 통해 점진적 향상을 이룬다.

실험 결과

연구 질문

  • RQ1코드 생성 언어 모델이 기계 학습 작업 성능 향상을 위해 자신의 소스 코드를 성공적으로 재작성할 수 있는가?
  • RQ2실제 환경에서 자기 수정이 아키텍처, 계산 능력, 학습 동역학을 얼마나 향상시킬 수 있는가?
  • RQ3자기 프로그래밍 AI가 보조 작업(예: 이미지 분류)을 위해 하위모델을 생성하고 효과적으로 활용할 수 있는가?
  • RQ4코드 생성 후보 수와 검색 반복 수가 최종 모델 성능에 어떤 영향을 미치는가?
  • RQ5자율적 자기 재프로그래밍이 시간이 지남에 따라 모델 표현력과 파라미터 수를 측정 가능한 정도로 증가시키는가?

주요 결과

  • 자기 프로그래밍 AI 시스템은 CIFAR-10, MNIST, EMNIST에서 반복적인 재프로그래밍 과정을 거쳐 성능 향상을 성공적으로 달성했다.
  • 탐색한 후보 코드 수가 많을수록 성능 향상이 발생했으며, 특정 임계점에 도달한 후는 수익 감소 현상이 나타났다.
  • 특히 첫 4개의 학습 루프 동안 컨볼루션 계층 수가 크게 증가했으며, 이는 성능 향상에 기여했다.
  • CIFAR-10에서 10 에포크 동안 평균 파라미터 수가 최고 성능 모델에서 크게 증가했으며, 이는 더 높은 모델 표현력의 증거로 볼 수 있다.
  • 히든 레이어 크기 또한 일부 케이스에서 증가했지만, 히든 레이어 수는 대부분 변화하지 않았으며, 이는 깊이가 향상의 주요 원인은 아닐 수 있음을 시사한다.
  • 시스템은 보조 모델을 지속적으로 생성하고 재사용할 수 있는 능력을 입증했으며, 자유형 AutoML 도구로서의 유용성을 확인했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.