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

  • 맑음서청주8.7℃
  • 박무전주11.5℃
  • 박무홍성10.4℃
  • 맑음임실7.1℃
  • 맑음보령8.5℃
  • 맑음원주11.8℃
  • 박무광주12.3℃
  • 구름많음여수12.9℃
  • 맑음충주7.7℃
  • 구름조금진주8.9℃
  • 맑음춘천6.0℃
  • 구름조금영천7.5℃
  • 맑음장수6.6℃
  • 구름조금동해9.7℃
  • 박무서울11.3℃
  • 구름많음고흥10.1℃
  • 맑음영광군11.0℃
  • 구름많음서귀포15.3℃
  • 박무수원9.0℃
  • 맑음제천5.2℃
  • 구름조금진도군9.7℃
  • 맑음해남9.5℃
  • 맑음강화7.3℃
  • 구름많음포항12.5℃
  • 박무목포13.0℃
  • 구름조금합천9.2℃
  • 구름많음창원12.7℃
  • 구름많음밀양8.7℃
  • 맑음정읍11.1℃
  • 맑음문경10.4℃
  • 맑음보은6.0℃
  • 맑음영주6.1℃
  • 맑음상주11.7℃
  • 맑음군산11.6℃
  • 구름많음거창7.3℃
  • 맑음홍천6.7℃
  • 구름많음부산14.2℃
  • 맑음봉화2.6℃
  • 맑음금산10.3℃
  • 맑음부여7.1℃
  • 구름많음의령군7.1℃
  • 박무백령도9.9℃
  • 맑음울진9.2℃
  • 연무청주12.2℃
  • 맑음정선군5.2℃
  • 맑음순창군8.3℃
  • 구름조금울릉도13.6℃
  • 박무북춘천5.4℃
  • 구름많음완도13.5℃
  • 흐림성산12.6℃
  • 구름많음김해시13.0℃
  • 맑음동두천9.7℃
  • 맑음서산6.9℃
  • 구름많음경주시8.3℃
  • 구름많음울산12.4℃
  • 맑음순천7.7℃
  • 구름많음양산시10.9℃
  • 맑음부안10.3℃
  • 구름많음북강릉12.6℃
  • 구름많음함양군7.4℃
  • 구름많음북창원13.8℃
  • 맑음양평9.3℃
  • 맑음철원9.7℃
  • 구름많음광양시11.7℃
  • 맑음인제5.4℃
  • 구름많음통영14.3℃
  • 맑음남원8.7℃
  • 구름많음거제14.6℃
  • 맑음천안8.1℃
  • 구름조금장흥8.4℃
  • 맑음안동8.6℃
  • 맑음세종10.5℃
  • 맑음고창군9.5℃
  • 박무인천11.1℃
  • 구름많음산청8.4℃
  • 구름조금남해12.3℃
  • 맑음영월7.5℃
  • 맑음구미8.6℃
  • 맑음이천9.2℃
  • 맑음고창10.7℃
  • 맑음속초11.6℃
  • 구름조금보성군10.1℃
  • 맑음청송군4.8℃
  • 맑음추풍령10.5℃
  • 맑음파주7.5℃
  • 구름많음대관령5.0℃
  • 맑음의성5.5℃
  • 구름많음북부산10.7℃
  • 구름많음제주15.6℃
  • 구름조금강진군11.0℃
  • 구름많음강릉12.4℃
  • 구름조금대구10.4℃
  • 구름많음고산15.5℃
  • 박무대전11.8℃
  • 맑음태백5.2℃
  • 박무흑산도13.2℃
  • 맑음영덕8.6℃
  • 2025.11.24 (월)

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