CWN(CHANGE WITH NEWS) - IBM, AI의 프로그램 코드 작성 개발 과정 담은 논문 게재

  • 구름많음영광군22.7℃
  • 구름조금군산22.1℃
  • 흐림세종20.5℃
  • 구름많음거창21.4℃
  • 구름많음부산23.2℃
  • 구름조금파주21.3℃
  • 구름많음제주25.0℃
  • 맑음양평20.8℃
  • 맑음문경23.3℃
  • 구름많음서청주21.1℃
  • 흐림태백15.2℃
  • 구름많음거제22.3℃
  • 구름많음임실21.3℃
  • 구름많음천안21.7℃
  • 구름조금수원22.4℃
  • 구름조금원주20.8℃
  • 구름많음제천20.1℃
  • 구름많음추풍령20.8℃
  • 맑음완도25.5℃
  • 맑음철원21.4℃
  • 구름많음정읍20.9℃
  • 구름조금광주22.8℃
  • 구름많음고창군21.6℃
  • 구름많음순창군20.3℃
  • 구름조금안동22.2℃
  • 구름많음서귀포27.5℃
  • 흐림합천21.8℃
  • 맑음동두천22.0℃
  • 구름조금의성23.3℃
  • 구름조금충주22.4℃
  • 흐림산청21.1℃
  • 흐림경주시22.2℃
  • 구름조금북부산23.8℃
  • 흐림금산20.5℃
  • 구름조금영주21.8℃
  • 구름조금홍성22.1℃
  • 구름조금인제20.3℃
  • 구름조금보은19.6℃
  • 맑음속초21.8℃
  • 구름조금백령도21.2℃
  • 구름조금인천21.8℃
  • 구름많음봉화20.8℃
  • 구름많음흑산도24.9℃
  • 구름많음장수20.2℃
  • 구름많음광양시22.9℃
  • 구름많음강릉20.7℃
  • 구름조금강진군23.3℃
  • 구름많음여수22.1℃
  • 맑음춘천21.1℃
  • 구름많음의령군22.3℃
  • 구름많음해남23.6℃
  • 구름많음양산시23.6℃
  • 구름많음정선군20.7℃
  • 구름많음영천22.7℃
  • 구름조금서울22.1℃
  • 구름많음울산21.5℃
  • 구름많음진주21.8℃
  • 구름조금전주22.2℃
  • 구름조금고산25.2℃
  • 구름많음대관령15.3℃
  • 맑음상주22.7℃
  • 구름조금포항22.6℃
  • 구름많음고창22.4℃
  • 맑음울릉도21.1℃
  • 구름많음남해21.6℃
  • 구름많음성산24.7℃
  • 구름많음대전22.0℃
  • 구름많음북강릉20.5℃
  • 구름많음장흥24.2℃
  • 맑음청송군23.6℃
  • 구름많음고흥23.5℃
  • 구름많음이천22.4℃
  • 구름조금강화21.3℃
  • 구름많음부여21.3℃
  • 구름조금청주22.4℃
  • 흐림동해17.7℃
  • 구름조금보령23.1℃
  • 구름많음순천21.6℃
  • 맑음서산22.3℃
  • 구름조금홍천20.0℃
  • 구름많음통영22.9℃
  • 구름많음부안22.0℃
  • 구름조금대구23.0℃
  • 구름조금남원20.3℃
  • 구름많음김해시23.3℃
  • 구름조금구미22.4℃
  • 구름조금울진22.4℃
  • 맑음진도군23.2℃
  • 구름조금목포22.5℃
  • 구름많음영월21.1℃
  • 맑음영덕22.0℃
  • 구름조금창원23.3℃
  • 구름조금북춘천21.4℃
  • 구름많음북창원24.1℃
  • 구름많음함양군21.7℃
  • 구름조금밀양24.1℃
  • 구름많음보성군23.7℃
  • 2025.09.21 (일)

IBM, AI의 프로그램 코드 작성 개발 과정 담은 논문 게재

고다솔 / 기사승인 : 2021-05-20 11:30:36
  • -
  • +
  • 인쇄

인공지능(AI)이 발전을 거듭하면서 일각에서는 인간의 일을 빼앗길 것을 우려한다. 실제로 공장과 물류 창고를 중심으로 AI가 인간 노동력을 대체하는 가운데, 개발자도 AI에게 밀릴 것이라는 전망이 제기됐다. 프로그램 코드를 작성하는 AI 프로그램이 등장했기 때문이다.

또, 많은 기업이 프로그램 코드 작성 능력을 지닌 AI 프로그램 개발에 나서고 있다. 그 대표적인 기업 중 한 곳은 IBM이다. 해외 온라인 테크 매체 테크톡스에 따르면, 최근 IBM은 '프로젝트 코드넷(Project CodeNet)'을 통해 코드 작성 능력을 갖춘 AI 프로그램에 대해 설명했다.

AI가 코드를 작성하기까지의 과정
2010년대 초, 머신러닝 기술의 발달과 함께 갈수록 많은 사람이 인간 대신 AI가 프로그램 코드를 작성할 것으로 기대했다. 이에, IBM은 프로젝트 코드넷을 진행하면서 프로그램 코드 작성을 비롯한 여러 업무를 할 머신러닝 모델 훈련을 시작했다.

IBM 엔지니어팀은 복잡한 소프트웨어 엔지니어링과 데이터 엔지니어링 과정을 거쳐 데이터세트를 신중하게 선택하고는 완성도가 높은 코드 작성 툴을 개발했다.

IBM이 훈련에 사용한 데이터세트에는 55가지 프로그래밍 언어로 작성된 총 5억 줄의 코드로 구성된 1,400만 개의 코드 샘플이 포함됐다. 모두 온라인 코딩 플랫폼 AIZU와 앳코더(AtCoder)로 확보했으며, 간혹 틀린 코드도 존재한다.

코드넷에서 주목할 만한 한 가지 핵심 사항은 훈련에 사용한 데이터세트에 다양한 사례에 다량의 주석이 추가됐다는 점이다. 훈련에 사용한 데이터세트에 존재하는 코딩 과정에서 발생하는 여러 문제는 CPU 시간 및 메모리 제한과 함께 텍스트 설명이 포함됐다. 제출된 모든 코드에는 프로그래밍 언어와 제출된 데이터, 데이터 크기, 실행 시간, 에러 유형 등 총 10여 가지 정보가 있다.

또, IBM 연구팀은 데이터세트가 프로그래밍 여러 차원에서 균형을 이루었음을 확인했다.

IBM의 머신러닝, 어떤 능력 갖추었나?
코드넷은 단순히 프로그래밍 작업을 위한 머신러닝 모델만 보유하고 있는 것이 아니다. 다양한 언어와 함께 다량의 샘플을 지녔다. 특히, 주석이 다양하게 추가되면서 다양한 작업을 수행하기 적합하도록 머신러닝을 훈련했다. 이러한 점에서 연구팀은 정확한 프로그램 코드를 작성하리라 기대했다.

우선, 연구팀은 코드넷 말뭉치 머신러닝 모델 훈련이 수월하게 이루어지도록 하는 사전 처리 툴을 개발했다. 다른 프로그래밍 언어와 구문 트리, 그래프 신경망을 위한 그래프 표현식 생성기 등이 포함됐다.

이후, 코드넷의 프로그래밍 작업을 담당하는 머신러닝은 기존의 다른 AI 프로그램과 다른 특징을 지니도록 훈련 과정을 거쳤다. 여기서 가장 눈에 띄는 점은 프로그래밍 언어 전환을 할 수 있다는 점이다. 연구팀은 각각의 데이터세트에 존재하는 코딩 문제에 다양한 언어로 구성된 데이터가 포함됐다는 점이 포함된 사실을 고려해, 프로그래밍 언어 변환이 가능하도록 머신러닝을 개발했다. 이 덕분에 누구나 오래된 프로그래밍 언어로 작성된 코드를 삽입하면, 자동으로 최신 버전의 언어나 다른 언어로 변환하고는 편리하게 개발 툴 관리, 유지를 할 수 있다.

머신러닝 모델이 코드 추천을 한다는 점도 눈에 띈다. 코드 추천 툴은 작업 중인 코드 라인이 더 복잡한 시스템과 함께 작업을 완료하도록 하는 것만큼 매우 간단하게 코드 작성 작업을 완료하도록 도움을 준다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue